diff options
Diffstat (limited to 'src/layout')
| -rw-r--r-- | src/layout/DwindleLayout.cpp | 16 | ||||
| -rw-r--r-- | src/layout/IHyprLayout.hpp | 54 |
2 files changed, 35 insertions, 35 deletions
diff --git a/src/layout/DwindleLayout.cpp b/src/layout/DwindleLayout.cpp index c903a441..4ce2f66c 100644 --- a/src/layout/DwindleLayout.cpp +++ b/src/layout/DwindleLayout.cpp @@ -655,7 +655,7 @@ void CHyprDwindleLayout::resizeActiveWindow(const Vector2D& pixResize, CWindow* const bool DISPLAYBOTTOM = STICKS(PWINDOW->m_vPosition.y + PWINDOW->m_vSize.y, PMONITOR->vecPosition.y + PMONITOR->vecSize.y - PMONITOR->vecReservedBottomRight.y); // construct allowed movement - Vector2D allowedMovement = pixResize; + Vector2D allowedMovement = pixResize; if (DISPLAYLEFT && DISPLAYRIGHT) allowedMovement.x = 0; @@ -671,7 +671,7 @@ void CHyprDwindleLayout::resizeActiveWindow(const Vector2D& pixResize, CWindow* const bool PARENTSIDEBYSIDE = !PPARENT->splitTop; // Get the parent's parent - auto PPARENT2 = PPARENT->pParent; + auto PPARENT2 = PPARENT->pParent; // No parent means we have only 2 windows, and thus one axis of freedom if (!PPARENT2) { @@ -1044,20 +1044,20 @@ SWindowRenderLayoutHints CHyprDwindleLayout::requestRenderHints(CWindow* pWindow SWindowRenderLayoutHints hints; - static auto* const PGROUPCOLACTIVE = &g_pConfigManager->getConfigValuePtr("dwindle:col.group_border_active")->intValue; - static auto* const PGROUPCOLINACTIVE = &g_pConfigManager->getConfigValuePtr("dwindle:col.group_border")->intValue; + static auto* const PGROUPCOLACTIVE = &g_pConfigManager->getConfigValuePtr("dwindle:col.group_border_active")->data; + static auto* const PGROUPCOLINACTIVE = &g_pConfigManager->getConfigValuePtr("dwindle:col.group_border")->data; const auto PNODE = getNodeFromWindow(pWindow); if (!PNODE) return hints; // left for the future, maybe floating funkiness if (PNODE->isGroupMember()) { - hints.isBorderColor = true; + hints.isBorderGradient = true; if (pWindow == g_pCompositor->m_pLastWindow) - hints.borderColor = CColor(*PGROUPCOLACTIVE); + hints.borderGradient = (CGradientValueData*)PGROUPCOLACTIVE->get(); else - hints.borderColor = CColor(*PGROUPCOLINACTIVE); + hints.borderGradient = (CGradientValueData*)PGROUPCOLINACTIVE->get(); } return hints; @@ -1174,7 +1174,7 @@ void CHyprDwindleLayout::alterSplitRatio(CWindow* pWindow, float ratio, bool exa if (!PNODE || !PNODE->pParent || (PNODE->isGroupMember() && PNODE->getGroupMemberCount() == g_pCompositor->getWindowsOnWorkspace(PNODE->workspaceID))) return; - float newRatio = exact ? ratio : PNODE->pParent->splitRatio + ratio; + float newRatio = exact ? ratio : PNODE->pParent->splitRatio + ratio; PNODE->pParent->splitRatio = std::clamp(newRatio, 0.1f, 1.9f); PNODE->pParent->recalcSizePosRecursive(); diff --git a/src/layout/IHyprLayout.hpp b/src/layout/IHyprLayout.hpp index 1be26d2b..214a4927 100644 --- a/src/layout/IHyprLayout.hpp +++ b/src/layout/IHyprLayout.hpp @@ -5,8 +5,8 @@ #include <any> struct SWindowRenderLayoutHints { - bool isBorderColor = false; - CColor borderColor; + bool isBorderGradient = false; + CGradientValueData* borderGradient; }; struct SLayoutMessageHeader { @@ -17,89 +17,89 @@ enum eFullscreenMode : uint8_t; interface IHyprLayout { public: - virtual ~IHyprLayout() = 0; - virtual void onEnable() = 0; - virtual void onDisable() = 0; + virtual ~IHyprLayout() = 0; + virtual void onEnable() = 0; + virtual void onDisable() = 0; /* Called when a window is created (mapped) The layout HAS TO set the goal pos and size (anim mgr will use it) If !animationinprogress, then the anim mgr will not apply an anim. */ - virtual void onWindowCreated(CWindow*); - virtual void onWindowCreatedTiling(CWindow*) = 0; - virtual void onWindowCreatedFloating(CWindow*); + virtual void onWindowCreated(CWindow*); + virtual void onWindowCreatedTiling(CWindow*) = 0; + virtual void onWindowCreatedFloating(CWindow*); /* Return tiled status */ - virtual bool isWindowTiled(CWindow*) = 0; + virtual bool isWindowTiled(CWindow*) = 0; /* Called when a window is removed (unmapped) */ - virtual void onWindowRemoved(CWindow*); - virtual void onWindowRemovedTiling(CWindow*) = 0; - virtual void onWindowRemovedFloating(CWindow*); + virtual void onWindowRemoved(CWindow*); + virtual void onWindowRemovedTiling(CWindow*) = 0; + virtual void onWindowRemovedFloating(CWindow*); /* Called when the monitor requires a layout recalculation this usually means reserved area changes */ - virtual void recalculateMonitor(const int&) = 0; + virtual void recalculateMonitor(const int&) = 0; /* Called when the compositor requests a window to be recalculated, e.g. when pseudo is toggled. */ - virtual void recalculateWindow(CWindow*) = 0; + virtual void recalculateWindow(CWindow*) = 0; /* Called when a window is requested to be floated */ - virtual void changeWindowFloatingMode(CWindow*); + virtual void changeWindowFloatingMode(CWindow*); /* Called when a window is clicked on, beginning a drag this might be a resize, move, whatever the layout defines it as. */ - virtual void onBeginDragWindow(); + virtual void onBeginDragWindow(); /* Called when a user requests a resize of the current window by a vec Vector2D holds pixel values Optional pWindow for a specific window */ - virtual void resizeActiveWindow(const Vector2D&, CWindow* pWindow = nullptr) = 0; + virtual void resizeActiveWindow(const Vector2D&, CWindow* pWindow = nullptr) = 0; /* Called when a user requests a move of the current window by a vec Vector2D holds pixel values Optional pWindow for a specific window */ - virtual void moveActiveWindow(const Vector2D&, CWindow* pWindow = nullptr); + virtual void moveActiveWindow(const Vector2D&, CWindow* pWindow = nullptr); /* Called when a window is ended being dragged (mouse up) */ - virtual void onEndDragWindow(); + virtual void onEndDragWindow(); /* Called whenever the mouse moves, should the layout want to do anything with it. Useful for dragging. */ - virtual void onMouseMove(const Vector2D&); + virtual void onMouseMove(const Vector2D&); /* Called when a window / the user requests to toggle the fullscreen state of a window The layout sets all the fullscreen flags. It can either accept or ignore. */ - virtual void fullscreenRequestForWindow(CWindow*, eFullscreenMode, bool) = 0; + virtual void fullscreenRequestForWindow(CWindow*, eFullscreenMode, bool) = 0; /* Called when a dispatcher requests a custom message The layout is free to ignore. std::any is the reply. Can be empty. */ - virtual std::any layoutMessage(SLayoutMessageHeader, std::string) = 0; + virtual std::any layoutMessage(SLayoutMessageHeader, std::string) = 0; /* Required to be handled, but may return just SWindowRenderLayoutHints() @@ -112,28 +112,28 @@ interface IHyprLayout { Called when the user requests two windows to be swapped places. The layout is free to ignore. */ - virtual void switchWindows(CWindow*, CWindow*) = 0; + virtual void switchWindows(CWindow*, CWindow*) = 0; /* Called when the user requests to change the splitratio by or to X on a window */ - virtual void alterSplitRatio(CWindow*, float, bool exact = false) = 0; + virtual void alterSplitRatio(CWindow*, float, bool exact = false) = 0; /* Called when something wants the current layout's name */ - virtual std::string getLayoutName() = 0; + virtual std::string getLayoutName() = 0; /* Called for getting the next candidate for a focus */ - virtual CWindow* getNextWindowCandidate(CWindow*); + virtual CWindow* getNextWindowCandidate(CWindow*); /* Internal: called when window focus changes */ - virtual void onWindowFocusChange(CWindow*); + virtual void onWindowFocusChange(CWindow*); private: Vector2D m_vBeginDragXY; |
