summaryrefslogtreecommitdiff
path: root/hammer/ToolEntity.h
diff options
context:
space:
mode:
authorFluorescentCIAAfricanAmerican <[email protected]>2020-04-22 12:56:21 -0400
committerFluorescentCIAAfricanAmerican <[email protected]>2020-04-22 12:56:21 -0400
commit3bf9df6b2785fa6d951086978a3e66f49427166a (patch)
tree2c0f1f0c63c4832882bc93814ebd2c2b1c6224e5 /hammer/ToolEntity.h
downloadarchived-source-engine-2018-hl2-src-master.tar.xz
archived-source-engine-2018-hl2-src-master.zip
Diffstat (limited to 'hammer/ToolEntity.h')
-rw-r--r--hammer/ToolEntity.h79
1 files changed, 79 insertions, 0 deletions
diff --git a/hammer/ToolEntity.h b/hammer/ToolEntity.h
new file mode 100644
index 0000000..c6e5cc9
--- /dev/null
+++ b/hammer/ToolEntity.h
@@ -0,0 +1,79 @@
+//========= Copyright Valve Corporation, All rights reserved. ============//
+//
+// Purpose: Defines the interface to the entity placement tool.
+//
+//=============================================================================
+
+#ifndef TOOLENTITY_H
+#define TOOLENTITY_H
+#pragma once
+
+
+#include "ToolInterface.h"
+#include "Tool3D.h"
+
+
+class CRender2D;
+class CRender3D;
+
+
+class CToolEntity : public Tool3D
+{
+
+friend class CToolEntityMessageWnd;
+
+public:
+
+ CToolEntity(void);
+ ~CToolEntity(void);
+
+ inline void GetPos(Vector &vecPos);
+
+ //
+ // CBaseTool implementation.
+ //
+ virtual ToolID_t GetToolID(void) { return TOOL_ENTITY; }
+
+ virtual bool OnContextMenu2D(CMapView2D *pView, UINT nFlags, const Vector2D &vPoint);
+ virtual bool OnKeyDown2D(CMapView2D *pView, UINT nChar, UINT nRepCnt, UINT nFlags);
+
+ virtual bool OnLMouseDown2D(CMapView2D *pView, UINT nFlags, const Vector2D &vPoint);
+ virtual bool OnLMouseUp2D(CMapView2D *pView, UINT nFlags, const Vector2D &vPoint);
+ virtual bool OnMouseMove2D(CMapView2D *pView, UINT nFlags, const Vector2D &vPoint);
+
+ virtual bool OnMouseMove3D(CMapView3D *pView, UINT nFlags, const Vector2D &vPoint);
+ virtual bool OnKeyDown3D(CMapView3D *pView, UINT nChar, UINT nRepCnt, UINT nFlags);
+ virtual bool OnLMouseDown3D(CMapView3D *pView, UINT nFlags, const Vector2D &vPoint);
+
+ virtual void RenderTool2D(CRender2D *pRender);
+ virtual void RenderTool3D(CRender3D *pRender);
+
+protected:
+
+ //
+ // Tool3D implementation.
+ //
+ void StartTranslation( CMapView *pView, const Vector2D &vPoint);
+ virtual bool UpdateTranslation(const Vector &vUpdate, UINT flags);
+ virtual void FinishTranslation(bool bSave);
+ virtual int HitTest(CMapView *pView, const Vector2D &vPoint, bool bTestHandles = false);
+
+private:
+
+ void OnEscape(void);
+ void CreateMapObject(CMapView2D *pView);
+
+ Vector m_vecPos; // Current position of the marker.
+};
+
+
+//-----------------------------------------------------------------------------
+// Purpose: Returns the current position of the marker.
+//-----------------------------------------------------------------------------
+inline void CToolEntity::GetPos(Vector &vecPos)
+{
+ vecPos = m_vecPos;
+}
+
+
+#endif // TOOLENTITY_H