-int GetViewType() {return m_nViewType; }
-void SetScale( float f ) {m_fScale = f; }
-float Scale() {return m_fScale; }
-int Width() {return m_nWidth; }
-int Height() {return m_nHeight; }
-
-protected:
-
-void OnCreate();
-void OnExpose();
-void OnLButtonDown( guint32 flags, int pointx, int pointy );
-void OnRButtonDown( guint32 flags, int pointx, int pointy );
-void OnMButtonDown( guint32 flags, int pointx, int pointy );
-void OnLButtonUp( guint32 flags, int pointx, int pointy );
-void OnRButtonUp( guint32 flags, int pointx, int pointy );
-void OnMButtonUp( guint32 flags, int pointx, int pointy );
-void OnMouseMove( guint32 nFlags, int pointx, int pointy );
-void OnMouseWheel( bool bUp );
-void OnSize( int cx, int cy );
-void OnTimer();
+VIEWTYPE GetViewType(){
+ return m_viewType;
+}
+void SetScale( float f );
+float Scale(){
+ return m_fScale;
+}
+int Width(){
+ return m_nWidth;
+}
+int Height(){
+ return m_nHeight;
+}
+
+Signal0 onDestroyed;
+Signal3<const WindowVector&, ButtonIdentifier, ModifierFlags> onMouseDown;
+void mouseDown( const WindowVector& position, ButtonIdentifier button, ModifierFlags modifiers );
+typedef Member3<XYWnd, const WindowVector&, ButtonIdentifier, ModifierFlags, void, &XYWnd::mouseDown> MouseDownCaller;
+};
+
+inline void XYWnd_Update( XYWnd& xywnd ){
+ xywnd.queueDraw();
+}
+
+
+struct xywindow_globals_t
+{
+ Vector3 color_gridback;
+ Vector3 color_gridminor;
+ Vector3 color_gridmajor;
+ Vector3 color_gridblock;
+ Vector3 color_gridtext;
+ Vector3 color_brushes;
+ Vector3 color_selbrushes;
+ Vector3 color_clipper;
+ Vector3 color_viewname;
+ Vector3 color_gridminor_alt;
+ Vector3 color_gridmajor_alt;
+ Vector3 AxisColorX;
+ Vector3 AxisColorY;
+ Vector3 AxisColorZ;
+
+ bool m_bRightClick;
+ bool m_bNoStipple;
+
+ 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_gridtext( 0.f, 0.f, 0.f ),
+ color_brushes( 0.f, 0.f, 0.f ),
+ color_selbrushes( 1.f, 0.f, 0.f ),
+ color_clipper( 0.f, 0.f, 1.f ),
+ color_viewname( 0.5f, 0.f, 0.75f ),
+ color_gridminor_alt( 0.f, 0.f, 0.f ),
+ color_gridmajor_alt( 0.f, 0.f, 0.f ),
+
+ AxisColorX( 1.f, 0.f, 0.f ),
+ AxisColorY( 0.f, 1.f, 0.f ),
+ AxisColorZ( 0.f, 0.f, 1.f ),
+ m_bRightClick( true ),
+ m_bNoStipple( false ){
+ }