diff options
Diffstat (limited to 'src/helpers/MonitorZoomController.hpp')
| -rw-r--r-- | src/helpers/MonitorZoomController.hpp | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/src/helpers/MonitorZoomController.hpp b/src/helpers/MonitorZoomController.hpp index 94373baf..ce3ad554 100644 --- a/src/helpers/MonitorZoomController.hpp +++ b/src/helpers/MonitorZoomController.hpp @@ -1,6 +1,7 @@ #pragma once #include "./math/Math.hpp" +#include "../desktop/DesktopTypes.hpp" namespace Render { struct SRenderData; @@ -10,12 +11,18 @@ class CMonitorZoomController { public: bool m_resetCameraState = true; + void pinAnchor(const Vector2D& anchor); + void clearAnchor(); + void applyZoomTransform(CBox& monbox, const Render::SRenderData& m_renderData); private: - void zoomWithDetachedCamera(CBox& result, const Render::SRenderData& m_renderData); + void zoomWithDetachedCamera(CBox& result, const Render::SRenderData& m_renderData); + Vector2D getAnchor(const PHLMONITORREF& monitor); - CBox m_camera; - float m_lastZoomLevel = 1.0f; - bool m_padCamEdges = true; + CBox m_camera; + Vector2D m_pinnedAnchor = {}; + float m_lastZoomLevel = 1.0f; + bool m_padCamEdges = true; + bool m_anchorPinned = false; }; |
