Polyphase Game Engine
Loading...
Searching...
No Matches
Viewport2d.h
Go to the documentation of this file.
1#pragma once
2
3#include "EditorState.h"
5#include "TransformSnap.h"
6
7
9{
10 glm::vec2 mOffset;
11 glm::vec2 mSize;
12 float mRotation;
13};
14
16{
17 Default,
19 Rotate,
20 Scale,
21 Pan
22};
23
25{
26 None,
27 AxisX,
28 AxisY,
29
30 Count
31};
32
34{
35public:
36
39
40 void Update(float deltaTime);
41 bool ShouldHandleInput() const;
42 bool IsMouseInside() const;
44
47
50
52
53 float GetZoom() const { return mZoom; }
54 glm::vec2 GetRootOffset() const { return mRootOffset; }
55
56protected:
57
61
62 glm::vec2 HandleLockedCursor();
64
67
68 Widget* FindHoveredWidget(Node* node, uint32_t& maxDepth, int32_t mouseX, int32_t mouseY, uint32_t depth = 0);
69
70 float mZoom = 1.0f;
71 glm::vec2 mRootOffset = { 0.0f, 0.0f };
74
77
78 int32_t mPrevMouseX = 0;
79 int32_t mPrevMouseY = 0;
80
81 std::vector<VpWidgetTransform> mSavedTransforms;
82 TransformSnapAccum mSnapAccum;
83};
WidgetAxisLock
Definition Viewport2d.h:25
WidgetControlMode
Definition Viewport2d.h:16
Definition Node.h:67
Definition SmartPointer.h:33
Definition Viewport2d.h:34
WidgetAxisLock mAxisLock
Definition Viewport2d.h:73
void HandleAxisLocking()
int32_t mPrevMouseX
Definition Viewport2d.h:78
void RestorePreTransforms()
Widget * GetHoveredWidget()
glm::vec2 mRootOffset
Definition Viewport2d.h:71
int32_t mPrevMouseY
Definition Viewport2d.h:79
void SetWidgetControlMode(WidgetControlMode newMode)
glm::vec2 HandleLockedCursor()
glm::vec2 GetRootOffset() const
Definition Viewport2d.h:54
void ResetViewport()
float GetZoom() const
Definition Viewport2d.h:53
TransformSnapAccum mSnapAccum
Definition Viewport2d.h:82
void HandleDefaultControls()
WidgetControlMode GetWidgetControlMode() const
Definition Viewport2d.h:46
float mZoom
Definition Viewport2d.h:70
std::vector< VpWidgetTransform > mSavedTransforms
Definition Viewport2d.h:81
void Update(float deltaTime)
Widget * GetWrapperWidget()
WeakPtr< Widget > mHoveredWidget
Definition Viewport2d.h:76
SharedPtr< Widget > mWrapperWidget
Definition Viewport2d.h:75
void HandleTransformControls()
WidgetControlMode mControlMode
Definition Viewport2d.h:72
void HandlePanControls()
void SavePreTransforms()
void HandleInput()
bool ShouldHandleInput() const
Widget * FindHoveredWidget(Node *node, uint32_t &maxDepth, int32_t mouseX, int32_t mouseY, uint32_t depth=0)
bool IsMouseInside() const
Definition SmartPointer.h:312
Definition Widget.h:57
Definition Viewport2d.h:9
glm::vec2 mOffset
Definition Viewport2d.h:10
float mRotation
Definition Viewport2d.h:12
glm::vec2 mSize
Definition Viewport2d.h:11