X-Git-Url: http://de.git.xonotic.org/?a=blobdiff_plain;f=radiant%2Fxywindow.h;h=bb9e92ddc8f271613219ba735682d13af48f9856;hb=22eeb9d586162751a17b15d9d6636e1bc4921d6c;hp=cbf37b430f1a0bdfb496f79faa279f8582e928a4;hpb=3c73487420fde8d4a3b5360d8b99e48132517900;p=xonotic%2Fnetradiant.git diff --git a/radiant/xywindow.h b/radiant/xywindow.h index cbf37b43..bb9e92dd 100644 --- a/radiant/xywindow.h +++ b/radiant/xywindow.h @@ -40,8 +40,6 @@ namespace scene { class Node; } -typedef struct _GtkWindow GtkWindow; -typedef struct _GtkMenu GtkMenu; void FlipClip(); @@ -65,21 +63,21 @@ inline const char* ViewType_getTitle( VIEWTYPE viewtype ){ class XYWnd { -GtkWidget* m_gl_widget; +ui::GLArea m_gl_widget; guint m_sizeHandler; guint m_exposeHandler; DeferredDraw m_deferredDraw; DeferredMotion m_deferred_motion; public: -GtkWindow* m_parent; +ui::Window m_parent; XYWnd(); ~XYWnd(); void queueDraw(){ m_deferredDraw.draw(); } -GtkWidget* GetWidget(){ +ui::GLArea GetWidget(){ return m_gl_widget; } @@ -126,6 +124,12 @@ void Zoom_End(); bool m_zoom_started; guint m_zoom_focusOut; +void ZoomIn(); +void ZoomOut(); +void ZoomInWithMouse( int pointx, int pointy ); + +void Redraw(); + void SetActive( bool b ){ m_bActive = b; }; @@ -142,7 +146,7 @@ void DropClipPoint( int pointx, int pointy ); void SetViewType( VIEWTYPE n ); bool m_bActive; -static GtkMenu* m_mnuDrop; +static ui::Menu m_mnuDrop; int m_chasemouse_current_x, m_chasemouse_current_y; int m_chasemouse_delta_x, m_chasemouse_delta_y; @@ -152,8 +156,8 @@ guint m_chasemouse_handler; void ChaseMouse(); bool chaseMouseMotion( int pointx, int pointy ); -void updateModelview(); -void updateProjection(); +void updateModelview(bool reconstruct = true); +void updateProjection(bool reconstruct = true); Matrix4 m_projection; Matrix4 m_modelview; @@ -226,7 +230,7 @@ int Height(){ Signal0 onDestroyed; Signal3 onMouseDown; void mouseDown( const WindowVector& position, ButtonIdentifier button, ModifierFlags modifiers ); -typedef Member3 MouseDownCaller; +typedef Member MouseDownCaller; }; inline void XYWnd_Update( XYWnd& xywnd ){ @@ -253,12 +257,13 @@ struct xywindow_globals_t bool m_bRightClick; bool m_bNoStipple; + bool m_bImprovedWheelZoom; xywindow_globals_t() : - color_gridback( 1.f, 1.f, 1.f ), - color_gridminor( 0.75f, 0.75f, 0.75f ), - color_gridmajor( 0.5f, 0.5f, 0.5f ), - color_gridblock( 0.f, 0.f, 1.f ), + color_gridback( 0.77f, 0.77f, 0.77f ), + color_gridminor( 0.83f, 0.83f, 0.83f ), + color_gridmajor( 0.89f, 0.89f, 0.89f ), + color_gridblock( 1.0f, 1.0f, 1.0f ), color_gridtext( 0.f, 0.f, 0.f ), color_brushes( 0.f, 0.f, 0.f ), color_selbrushes( 1.f, 0.f, 0.f ), @@ -271,7 +276,8 @@ struct xywindow_globals_t AxisColorY( 0.f, 1.f, 0.f ), AxisColorZ( 0.f, 0.f, 1.f ), m_bRightClick( true ), - m_bNoStipple( false ){ + m_bNoStipple( false ), + m_bImprovedWheelZoom( true ){ } }; @@ -281,10 +287,9 @@ extern xywindow_globals_t g_xywindow_globals; VIEWTYPE GlobalXYWnd_getCurrentViewType(); -typedef struct _GtkWindow GtkWindow; -void XY_Top_Shown_Construct( GtkWindow* parent ); -void YZ_Side_Shown_Construct( GtkWindow* parent ); -void XZ_Front_Shown_Construct( GtkWindow* parent ); +void XY_Top_Shown_Construct( ui::Window parent ); +void YZ_Side_Shown_Construct( ui::Window parent ); +void XZ_Front_Shown_Construct( ui::Window parent ); void XYWindow_Construct(); void XYWindow_Destroy();