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
6
8{
9 glm::vec2 mOffset;
10 glm::vec2 mSize;
11 float mRotation;
12};
13
15{
16 Default,
18 Rotate,
19 Scale,
20 Pan
21};
22
24{
25 None,
26 AxisX,
27 AxisY,
28
29 Count
30};
31
33{
34public:
35
38
39 void Update(float deltaTime);
40 bool ShouldHandleInput() const;
41 bool IsMouseInside() const;
43
45
48
50
51 float GetZoom() const { return mZoom; }
52 glm::vec2 GetRootOffset() const { return mRootOffset; }
53
54protected:
55
59
60 glm::vec2 HandleLockedCursor();
62
65
66 Widget* FindHoveredWidget(Node* node, uint32_t& maxDepth, int32_t mouseX, int32_t mouseY, uint32_t depth = 0);
67
68 float mZoom = 1.0f;
69 glm::vec2 mRootOffset = { 0.0f, 0.0f };
72
75
76 int32_t mPrevMouseX = 0;
77 int32_t mPrevMouseY = 0;
78
79 std::vector<VpWidgetTransform> mSavedTransforms;
80};
WidgetAxisLock
Definition Viewport2d.h:24
WidgetControlMode
Definition Viewport2d.h:15
Definition Node.h:67
Definition SmartPointer.h:33
Definition Viewport2d.h:33
WidgetAxisLock mAxisLock
Definition Viewport2d.h:71
void HandleAxisLocking()
int32_t mPrevMouseX
Definition Viewport2d.h:76
void RestorePreTransforms()
Widget * GetHoveredWidget()
glm::vec2 mRootOffset
Definition Viewport2d.h:69
int32_t mPrevMouseY
Definition Viewport2d.h:77
void SetWidgetControlMode(WidgetControlMode newMode)
glm::vec2 HandleLockedCursor()
glm::vec2 GetRootOffset() const
Definition Viewport2d.h:52
void ResetViewport()
float GetZoom() const
Definition Viewport2d.h:51
void HandleDefaultControls()
float mZoom
Definition Viewport2d.h:68
std::vector< VpWidgetTransform > mSavedTransforms
Definition Viewport2d.h:79
void Update(float deltaTime)
Widget * GetWrapperWidget()
WeakPtr< Widget > mHoveredWidget
Definition Viewport2d.h:74
SharedPtr< Widget > mWrapperWidget
Definition Viewport2d.h:73
void HandleTransformControls()
WidgetControlMode mControlMode
Definition Viewport2d.h:70
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:53
Definition Viewport2d.h:8
glm::vec2 mOffset
Definition Viewport2d.h:9
float mRotation
Definition Viewport2d.h:11
glm::vec2 mSize
Definition Viewport2d.h:10