From d0ff0c0990db230999cc918f1d6230c4a18d08c8 Mon Sep 17 00:00:00 2001 From: vaxerski <43317083+vaxerski@users.noreply.github.com> Date: Sun, 29 May 2022 12:27:45 +0200 Subject: Added basic monitor transforms, has bugs blur doesnt work on transformed outputs full damage tracking issues --- src/helpers/Monitor.hpp | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'src/helpers') diff --git a/src/helpers/Monitor.hpp b/src/helpers/Monitor.hpp index 0b57700a..95a064c6 100644 --- a/src/helpers/Monitor.hpp +++ b/src/helpers/Monitor.hpp @@ -7,9 +7,10 @@ #include struct SMonitor { - Vector2D vecPosition = Vector2D(0,0); - Vector2D vecSize = Vector2D(0,0); - Vector2D vecPixelSize = Vector2D(0,0); + Vector2D vecPosition = Vector2D(0,0); + Vector2D vecSize = Vector2D(0,0); + Vector2D vecPixelSize = Vector2D(0,0); + Vector2D vecTransformedSize = Vector2D(0,0); bool primary = false; @@ -27,6 +28,7 @@ struct SMonitor { float refreshRate = 60; wlr_output_damage* damage = nullptr; bool needsFrameSkip = false; + wl_output_transform transform = WL_OUTPUT_TRANSFORM_NORMAL; // Double-linked list because we need to have constant mem addresses for signals // We have to store pointers and use raw new/delete because they might be moved between them -- cgit v1.2.3 From 9842730f570b118275191fd2b3e8910648ab7b05 Mon Sep 17 00:00:00 2001 From: vaxerski <43317083+vaxerski@users.noreply.github.com> Date: Sun, 29 May 2022 15:44:30 +0200 Subject: Added fullscreen types, maximize and full --- src/helpers/Workspace.hpp | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'src/helpers') diff --git a/src/helpers/Workspace.hpp b/src/helpers/Workspace.hpp index 683f03ae..c60eedfb 100644 --- a/src/helpers/Workspace.hpp +++ b/src/helpers/Workspace.hpp @@ -3,6 +3,11 @@ #include "../defines.hpp" #include "AnimatedVariable.hpp" +enum eFullscreenMode : uint8_t { + FULLSCREEN_FULL = 0, + FULLSCREEN_MAXIMIZED +}; + class CWorkspace { public: CWorkspace(int monitorID); @@ -14,6 +19,7 @@ public: std::string m_szName = ""; uint64_t m_iMonitorID = -1; bool m_bHasFullscreenWindow = false; + eFullscreenMode m_efFullscreenMode = FULLSCREEN_FULL; wlr_ext_workspace_handle_v1* m_pWlrHandle = nullptr; -- cgit v1.2.3