diff options
| author | Jørgen P. Tjernø <[email protected]> | 2013-12-02 19:31:46 -0800 |
|---|---|---|
| committer | Jørgen P. Tjernø <[email protected]> | 2013-12-02 19:46:31 -0800 |
| commit | f56bb35301836e56582a575a75864392a0177875 (patch) | |
| tree | de61ddd39de3e7df52759711950b4c288592f0dc /mp/src/public/matsys_controls/manipulator.h | |
| parent | Mark some more files as text. (diff) | |
| download | source-sdk-2013-f56bb35301836e56582a575a75864392a0177875.tar.xz source-sdk-2013-f56bb35301836e56582a575a75864392a0177875.zip | |
Fix line endings. WHAMMY.
Diffstat (limited to 'mp/src/public/matsys_controls/manipulator.h')
| -rw-r--r-- | mp/src/public/matsys_controls/manipulator.h | 256 |
1 files changed, 128 insertions, 128 deletions
diff --git a/mp/src/public/matsys_controls/manipulator.h b/mp/src/public/matsys_controls/manipulator.h index 6b31d5cc..a08426ef 100644 --- a/mp/src/public/matsys_controls/manipulator.h +++ b/mp/src/public/matsys_controls/manipulator.h @@ -1,128 +1,128 @@ -//========= Copyright Valve Corporation, All rights reserved. ============//
-//
-// Purpose:
-//
-//=============================================================================
-
-#ifndef MANIPULATOR_H
-#define MANIPULATOR_H
-#ifdef _WIN32
-#pragma once
-#endif
-
-#include "vgui_controls/Panel.h"
-#include "mathlib/vector.h"
-
-//-----------------------------------------------------------------------------
-// Manipulator interface
-//-----------------------------------------------------------------------------
-class IManipulator
-{
-public:
- virtual void OnBeginManipulation( void ) = 0;
- virtual void OnAcceptManipulation( void ) = 0;
- virtual void OnCancelManipulation( void ) = 0;
-
- virtual void OnTick( void ) = 0;
-
- virtual void OnCursorMoved( int x, int y ) = 0;
- virtual void OnMousePressed( vgui::MouseCode code, int x, int y ) = 0;
- virtual void OnMouseReleased( vgui::MouseCode code, int x, int y ) = 0;
- virtual void OnMouseWheeled( int delta ) = 0;
-
- virtual void SetViewportSize( int w, int h ) = 0;
-};
-
-
-//-----------------------------------------------------------------------------
-// Base class helper for implementing manipulators
-//-----------------------------------------------------------------------------
-class CBaseManipulator : public IManipulator
-{
-public:
- CBaseManipulator()
- {
- m_nViewport[ 0 ] = m_nViewport[ 1 ] = 0;
- }
-
- virtual void OnTick( void ) {};
-
- virtual void OnBeginManipulation( void ) {}
- virtual void OnAcceptManipulation( void ) {};
- virtual void OnCancelManipulation( void ) {};
-
- virtual void OnCursorMoved( int x, int y ) {};
- virtual void OnMousePressed( vgui::MouseCode code, int x, int y ) {};
- virtual void OnMouseReleased( vgui::MouseCode code, int x, int y ) {};
- virtual void OnMouseWheeled( int delta ) {};
-
- virtual void SetViewportSize( int w, int h )
- {
- m_nViewport[ 0 ] = w;
- m_nViewport[ 1 ] = h;
- }
-
-protected:
- int m_nViewport[ 2 ];
-};
-
-
-//-----------------------------------------------------------------------------
-// Base class for manipulators which operate on transforms
-//-----------------------------------------------------------------------------
-class CTransformManipulator : public CBaseManipulator
-{
-public:
- CTransformManipulator( matrix3x4_t *pTransform );
-
- void SetTransform( matrix3x4_t *transform );
- matrix3x4_t *GetTransform();
-
-protected:
- matrix3x4_t *m_pTransform;
-};
-
-
-//-----------------------------------------------------------------------------
-// Standard maya-like transform manipulator
-//-----------------------------------------------------------------------------
-class CPotteryWheelManip : public CTransformManipulator
-{
-public:
- CPotteryWheelManip( matrix3x4_t *pTransform );
-
- virtual void OnBeginManipulation( void );
- virtual void OnAcceptManipulation( void );
- virtual void OnCancelManipulation( void );
-
- virtual void OnTick( void );
-
- virtual void OnCursorMoved( int x, int y );
- virtual void OnMousePressed( vgui::MouseCode code, int x, int y );
- virtual void OnMouseReleased( vgui::MouseCode code, int x, int y );
- virtual void OnMouseWheeled( int delta );
-
- // Sets the zoom level
- void SetZoom( float flZoom );
-
-protected:
- int m_lastx, m_lasty;
-
- float m_zoom;
- float m_altitude, m_azimuth;
- //vec3 m_lookat
-
- float m_prevZoom;
- float m_prevAltitude, m_prevAzimuth;
-
- float m_flLastMouseTime;
- float m_flLastTickTime;
- float m_flSpin;
- bool m_bSpin;
-
- void UpdateTransform( void );
- void UpdateZoom( float delta );
-};
-
-
-#endif // MANIPULATOR_H
+//========= Copyright Valve Corporation, All rights reserved. ============// +// +// Purpose: +// +//============================================================================= + +#ifndef MANIPULATOR_H +#define MANIPULATOR_H +#ifdef _WIN32 +#pragma once +#endif + +#include "vgui_controls/Panel.h" +#include "mathlib/vector.h" + +//----------------------------------------------------------------------------- +// Manipulator interface +//----------------------------------------------------------------------------- +class IManipulator +{ +public: + virtual void OnBeginManipulation( void ) = 0; + virtual void OnAcceptManipulation( void ) = 0; + virtual void OnCancelManipulation( void ) = 0; + + virtual void OnTick( void ) = 0; + + virtual void OnCursorMoved( int x, int y ) = 0; + virtual void OnMousePressed( vgui::MouseCode code, int x, int y ) = 0; + virtual void OnMouseReleased( vgui::MouseCode code, int x, int y ) = 0; + virtual void OnMouseWheeled( int delta ) = 0; + + virtual void SetViewportSize( int w, int h ) = 0; +}; + + +//----------------------------------------------------------------------------- +// Base class helper for implementing manipulators +//----------------------------------------------------------------------------- +class CBaseManipulator : public IManipulator +{ +public: + CBaseManipulator() + { + m_nViewport[ 0 ] = m_nViewport[ 1 ] = 0; + } + + virtual void OnTick( void ) {}; + + virtual void OnBeginManipulation( void ) {} + virtual void OnAcceptManipulation( void ) {}; + virtual void OnCancelManipulation( void ) {}; + + virtual void OnCursorMoved( int x, int y ) {}; + virtual void OnMousePressed( vgui::MouseCode code, int x, int y ) {}; + virtual void OnMouseReleased( vgui::MouseCode code, int x, int y ) {}; + virtual void OnMouseWheeled( int delta ) {}; + + virtual void SetViewportSize( int w, int h ) + { + m_nViewport[ 0 ] = w; + m_nViewport[ 1 ] = h; + } + +protected: + int m_nViewport[ 2 ]; +}; + + +//----------------------------------------------------------------------------- +// Base class for manipulators which operate on transforms +//----------------------------------------------------------------------------- +class CTransformManipulator : public CBaseManipulator +{ +public: + CTransformManipulator( matrix3x4_t *pTransform ); + + void SetTransform( matrix3x4_t *transform ); + matrix3x4_t *GetTransform(); + +protected: + matrix3x4_t *m_pTransform; +}; + + +//----------------------------------------------------------------------------- +// Standard maya-like transform manipulator +//----------------------------------------------------------------------------- +class CPotteryWheelManip : public CTransformManipulator +{ +public: + CPotteryWheelManip( matrix3x4_t *pTransform ); + + virtual void OnBeginManipulation( void ); + virtual void OnAcceptManipulation( void ); + virtual void OnCancelManipulation( void ); + + virtual void OnTick( void ); + + virtual void OnCursorMoved( int x, int y ); + virtual void OnMousePressed( vgui::MouseCode code, int x, int y ); + virtual void OnMouseReleased( vgui::MouseCode code, int x, int y ); + virtual void OnMouseWheeled( int delta ); + + // Sets the zoom level + void SetZoom( float flZoom ); + +protected: + int m_lastx, m_lasty; + + float m_zoom; + float m_altitude, m_azimuth; + //vec3 m_lookat + + float m_prevZoom; + float m_prevAltitude, m_prevAzimuth; + + float m_flLastMouseTime; + float m_flLastTickTime; + float m_flSpin; + bool m_bSpin; + + void UpdateTransform( void ); + void UpdateZoom( float delta ); +}; + + +#endif // MANIPULATOR_H |