X-Git-Url: https://de.git.xonotic.org/?a=blobdiff_plain;f=radiant%2Fglwindow.h;h=f9c373e87ea3ca5f2d277180e9a8a4d4a2b9b644;hb=9b5ba1fe10d7eba4db1588c2a4926829c465dc76;hp=a6bac087dd0cf3f839717e5b66c80417a7a3163f;hpb=5265d3cc1517566910718738ee6fa48e2466d3ea;p=xonotic%2Fnetradiant.git diff --git a/radiant/glwindow.h b/radiant/glwindow.h index a6bac087..f9c373e8 100644 --- a/radiant/glwindow.h +++ b/radiant/glwindow.h @@ -1,108 +1,102 @@ /* -Copyright (c) 2001, Loki software, inc. -All rights reserved. - -Redistribution and use in source and binary forms, with or without modification, -are permitted provided that the following conditions are met: - -Redistributions of source code must retain the above copyright notice, this list -of conditions and the following disclaimer. - -Redistributions in binary form must reproduce the above copyright notice, this -list of conditions and the following disclaimer in the documentation and/or -other materials provided with the distribution. - -Neither the name of Loki software nor the names of its contributors may be used -to endorse or promote products derived from this software without specific prior -written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``AS IS'' -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY -DIRECT,INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -*/ + Copyright (c) 2001, Loki software, inc. + All rights reserved. + + Redistribution and use in source and binary forms, with or without modification, + are permitted provided that the following conditions are met: + + Redistributions of source code must retain the above copyright notice, this list + of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above copyright notice, this + list of conditions and the following disclaimer in the documentation and/or + other materials provided with the distribution. + + Neither the name of Loki software nor the names of its contributors may be used + to endorse or promote products derived from this software without specific prior + written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``AS IS'' + AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY + DIRECT,INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ #ifndef _GLWINDOW_H_ #define _GLWINDOW_H_ class GLWindow { - public: - GLWindow (bool zbuffer); - virtual ~GLWindow (); - - bool MakeCurrent (); - void SwapBuffers (); - void SetTimer (guint millisec); - void KillTimer (); - bool HasTimer () - { return m_nTimer != 0; } - void DestroyContext (); - void CreateContext (); - - virtual void OnCreate () { } - virtual void OnExpose () { } - - virtual void OnLButtonDown (guint32 flags, int x, int y) { } - virtual void OnRButtonDown (guint32 flags, int x, int y) { } - virtual void OnMButtonDown (guint32 flags, int x, int y) { } - virtual void OnLButtonUp (guint32 flags, int pointx, int pointy) { } - virtual void OnRButtonUp (guint32 flags, int pointx, int pointy) { } - virtual void OnMButtonUp (guint32 flags, int pointx, int pointy) { } - virtual void OnMouseMove (guint32 flags, int pointx, int pointy) { } - - - virtual void OnSize (int cx, int cy) { } - virtual void OnTimer () { } - - virtual void OnMouseWheel (bool bUp) { } - - void RedrawWindow () - { - gtk_widget_queue_draw(m_pWidget); - } - - void SetFocus () - { - /* gdk_window_raise (m_pWidget->window); */ - } - - void SetCapture () - { - m_bMouseCapture = TRUE; - } - - void ReleaseCapture () - { - m_bMouseCapture = FALSE; - } - - bool HasCapture () - { - return m_bMouseCapture; - } - - GtkWidget* GetWidget () - { - return m_pWidget; - } - - // member variables - public: - GtkWidget* m_pParent; // for floating windows only - - protected: - bool m_bMouseCapture; - GtkWidget* m_pWidget; - - private: - guint m_nTimer; // only one timer supported +public: +GLWindow ( bool zbuffer ); +virtual ~GLWindow (); + +bool MakeCurrent(); +void SwapBuffers(); +void SetTimer( guint millisec ); +void KillTimer(); +bool HasTimer() +{ return m_nTimer != 0; } +void DestroyContext(); +void CreateContext(); + +virtual void OnCreate() { } +virtual void OnExpose() { } + +virtual void OnLButtonDown( guint32 flags, int x, int y ) { } +virtual void OnRButtonDown( guint32 flags, int x, int y ) { } +virtual void OnMButtonDown( guint32 flags, int x, int y ) { } +virtual void OnLButtonUp( guint32 flags, int pointx, int pointy ) { } +virtual void OnRButtonUp( guint32 flags, int pointx, int pointy ) { } +virtual void OnMButtonUp( guint32 flags, int pointx, int pointy ) { } +virtual void OnMouseMove( guint32 flags, int pointx, int pointy ) { } + + +virtual void OnSize( int cx, int cy ) { } +virtual void OnTimer() { } + +virtual void OnMouseWheel( bool bUp ) { } + +void RedrawWindow(){ + gtk_widget_queue_draw( m_pWidget ); +} + +void SetFocus(){ + /* gdk_window_raise (m_pWidget->window); */ +} + +void SetCapture(){ + m_bMouseCapture = TRUE; +} + +void ReleaseCapture(){ + m_bMouseCapture = FALSE; +} + +bool HasCapture(){ + return m_bMouseCapture; +} + +GtkWidget* GetWidget(){ + return m_pWidget; +} + +// member variables +public: +GtkWidget* m_pParent; // for floating windows only + +protected: +bool m_bMouseCapture; +GtkWidget* m_pWidget; + +private: +guint m_nTimer; // only one timer supported }; #endif //_GLWINDOW_H_