/*
-Copyright (C) 1999-2007 id Software, Inc. and contributors.
-For a list of contributors, see the accompanying CONTRIBUTORS file.
+ Copyright (C) 1999-2007 id Software, Inc. and contributors.
+ For a list of contributors, see the accompanying CONTRIBUTORS file.
-This file is part of GtkRadiant.
+ This file is part of GtkRadiant.
-GtkRadiant is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2 of the License, or
-(at your option) any later version.
+ GtkRadiant is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
-GtkRadiant is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
+ GtkRadiant is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
-You should have received a copy of the GNU General Public License
-along with GtkRadiant; if not, write to the Free Software
-Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-*/
+ You should have received a copy of the GNU General Public License
+ along with GtkRadiant; if not, write to the Free Software
+ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ */
#ifndef _XYWINDOW_H_
#define _XYWINDOW_H_
const int SCALE_Y = 0x02;
const int SCALE_Z = 0x04;
-typedef void (PFNPathCallback)(bool, int);
+typedef void ( PFNPathCallback )( bool, int );
// as i didn't really encapsulate anything this
// should really be a struct..
class ClipPoint
{
public:
- ClipPoint(){ Reset(); };
- void Reset(){ m_ptClip[0] = m_ptClip[1] = m_ptClip[2] = 0.0; m_bSet = false; m_pVec3 = NULL;};
- bool Set(){ return m_bSet; };
- void Set(bool b) { m_bSet = b; };
- void UpdatePointPtr() { if (m_pVec3) VectorCopy(m_ptClip, *m_pVec3); };
- void SetPointPtr(vec3_t* p) { m_pVec3 = p; };
- vec3_t m_ptClip; // the 3d point
- vec3_t* m_pVec3; // optional ptr for 3rd party updates
- int m_ptScreenX, m_ptScreenY; // the onscreen xy point (for mousability)
- bool m_bSet;
- operator vec3_t&() {return m_ptClip;};
- operator vec3_t*() {return &m_ptClip;};
-
- /*! Draw clip/path point with rasterized number label */
- void Draw(float fScale, int num);
- /*! Draw clip/path point with rasterized string label */
- void Draw(float fScale, const char *label);
+ClipPoint(){ Reset(); };
+void Reset(){ m_ptClip[0] = m_ptClip[1] = m_ptClip[2] = 0.0; m_bSet = false; m_pVec3 = NULL; };
+bool Set(){ return m_bSet; };
+void Set( bool b ) { m_bSet = b; };
+void UpdatePointPtr() {
+ if ( m_pVec3 ) {
+ VectorCopy( m_ptClip, *m_pVec3 );
+ }
+};
+void SetPointPtr( vec3_t* p ) { m_pVec3 = p; };
+vec3_t m_ptClip; // the 3d point
+vec3_t* m_pVec3; // optional ptr for 3rd party updates
+int m_ptScreenX, m_ptScreenY; // the onscreen xy point (for mousability)
+bool m_bSet;
+operator vec3_t&() {
+ return m_ptClip;
+};
+operator vec3_t*() {
+ return &m_ptClip;
+};
+
+/*! Draw clip/path point with rasterized number label */
+void Draw( float fScale, int num );
+/*! Draw clip/path point with rasterized string label */
+void Draw( float fScale, const char *label );
};
class XYWnd : public GLWindow
{
public:
- XYWnd();
- virtual ~XYWnd() { }
+XYWnd();
+virtual ~XYWnd() { }
public:
- bool AreaSelectOK();
- vec3_t& RotateOrigin();
- vec3_t& Rotation();
- void UndoClear();
- bool UndoAvailable();
- void KillPathMode();
- void Undo();
- void UndoCopy();
- void Copy();
- void Paste();
- void Redraw(unsigned int nBits);
- void VectorCopyXY(vec3_t in, vec3_t out);
- void PositionView();
- void FlipClip();
- void SplitClip();
- void Clip();
- vec3_t& GetOrigin();
- void SetOrigin(vec3_t org); // PGM
- void XY_Init();
- void XY_Overlay();
- void XY_Draw();
- void DrawZIcon();
- void DrawRotateIcon();
- void DrawCameraIcon();
- void XY_DrawBlockGrid();
- void XY_DrawGrid();
- void XY_MouseMoved (int x, int y, int buttons);
+bool AreaSelectOK();
+vec3_t& RotateOrigin();
+vec3_t& Rotation();
+void UndoClear();
+bool UndoAvailable();
+void KillPathMode();
+void Undo();
+void UndoCopy();
+void Copy();
+void Paste();
+void Redraw( unsigned int nBits );
+void VectorCopyXY( vec3_t in, vec3_t out );
+void PositionView();
+void FlipClip();
+void SplitClip();
+void Clip();
+vec3_t& GetOrigin();
+void SetOrigin( vec3_t org ); // PGM
+void XY_Init();
+void XY_Overlay();
+void XY_Draw();
+void DrawZIcon();
+void DrawRotateIcon();
+void DrawCameraIcon();
+void XY_DrawBlockGrid();
+void XY_DrawGrid();
+void XY_MouseMoved( int x, int y, int buttons );
// TTimo: FIXME: was experimental stuff to track possible endless loop issues
// void XY_MouseMovedRec (int x, int y, int buttons);
- void NewBrushDrag (int x, int y);
- qboolean DragDelta (int x, int y, vec3_t move);
- void XY_MouseUp(int x, int y, int buttons);
- void XY_MouseDown (int x, int y, int buttons);
- void XY_ToGridPoint (int x, int y, vec3_t point);
- void XY_ToPoint (int x, int y, vec3_t point);
- void SnapToPoint (int x, int y, vec3_t point);
- void SetActive(bool b) {m_bActive = b;};
- bool Active() {return m_bActive;};
-
- void DropClipPoint(guint32 nFlags, int pointx, int pointy);
- bool RogueClipMode();
- bool ClipMode();
- void SetClipMode(bool bMode);
- void RetainClipMode(bool bMode);
-
- bool RotateMode();
- bool SetRotateMode(bool bMode);
- bool ScaleMode();
- void SetScaleMode(bool bMode);
-
- bool PathMode();
- void DropPathPoint(guint32 nFlags, int pointx, int pointy);
- bool PointMode();
+void NewBrushDrag( int x, int y );
+qboolean DragDelta( int x, int y, vec3_t move );
+void XY_MouseUp( int x, int y, int buttons );
+void XY_MouseDown( int x, int y, int buttons );
+void XY_ToGridPoint( int x, int y, vec3_t point );
+void XY_ToPoint( int x, int y, vec3_t point );
+void SnapToPoint( int x, int y, vec3_t point );
+void SetActive( bool b ) {m_bActive = b; };
+bool Active() {return m_bActive; };
+
+void DropClipPoint( guint32 nFlags, int pointx, int pointy );
+bool RogueClipMode();
+bool ClipMode();
+void SetClipMode( bool bMode );
+void RetainClipMode( bool bMode );
+
+bool RotateMode();
+bool SetRotateMode( bool bMode );
+bool ScaleMode();
+void SetScaleMode( bool bMode );
+
+bool PathMode();
+void DropPathPoint( guint32 nFlags, int pointx, int pointy );
+bool PointMode();
// void AddPointPoint(guint32 nFlags, vec3_t* pVec);
- void SetPointMode(bool b);
+void SetPointMode( bool b );
- void SetViewType(int n);
- bool m_bActive;
+void SetViewType( int n );
+bool m_bActive;
protected:
- int m_nUpdateBits;
- int m_nWidth;
- int m_nHeight;
- bool m_bTiming;
- float m_fScale;
- float m_TopClip;
- float m_BottomClip;
- bool m_bDirty;
- vec3_t m_vOrigin;
-
- int m_ptCursorX, m_ptCursorY;
- bool m_bRButtonDown;
-
- int m_nButtonstate;
- int m_nPressx;
- int m_nPressy;
- vec3_t m_vPressdelta;
- bool m_bPress_selection;
-
- friend class CamWnd;
+int m_nUpdateBits;
+int m_nWidth;
+int m_nHeight;
+bool m_bTiming;
+float m_fScale;
+float m_TopClip;
+float m_BottomClip;
+bool m_bDirty;
+vec3_t m_vOrigin;
+
+int m_ptCursorX, m_ptCursorY;
+bool m_bRButtonDown;
+
+int m_nButtonstate;
+int m_nPressx;
+int m_nPressy;
+vec3_t m_vPressdelta;
+bool m_bPress_selection;
+
+friend class CamWnd;
private:
- // this is unique for all views
- static GtkWidget* m_mnuDrop;
+// this is unique for all views
+static GtkWidget* m_mnuDrop;
- int m_nViewType;
+int m_nViewType;
- int m_nScrollFlags;
- int m_ptDragX, m_ptDragY;
- int m_ptDragAdjX, m_ptDragAdjY;
- int m_ptDragTotalX, m_ptDragTotalY;
+int m_nScrollFlags;
+int m_ptDragX, m_ptDragY;
+int m_ptDragAdjX, m_ptDragAdjY;
+int m_ptDragTotalX, m_ptDragTotalY;
- void OriginalButtonUp(guint32 nFlags, int point, int pointy);
- void OriginalButtonDown(guint32 nFlags, int point, int pointy);
+void OriginalButtonUp( guint32 nFlags, int point, int pointy );
+void OriginalButtonDown( guint32 nFlags, int point, int pointy );
// void ProduceSplits(brush_t** pFront, brush_t** pBack);
- void PlanePointsFromClipPoints(vec3_t planepts[3], brush_t *pBrush);
- void ProduceSplitLists();
- void HandleDrop();
- void PaintSizeInfo(int nDim1, int nDim2, vec3_t vMinBounds, vec3_t vMaxBounds);
+void PlanePointsFromClipPoints( vec3_t planepts[3], brush_t * pBrush );
+void ProduceSplitLists();
+void HandleDrop();
+void PaintSizeInfo( int nDim1, int nDim2, vec3_t vMinBounds, vec3_t vMaxBounds );
- int m_ptDownX, m_ptDownY;
+int m_ptDownX, m_ptDownY;
public:
- void OnEntityCreate(const char* item);
- 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;}
+void OnEntityCreate( const char* item );
+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();
+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();
private:
- XORRectangle m_XORRectangle;
+XORRectangle m_XORRectangle;
};
#endif // _XYWINDOW_H_