summaryrefslogtreecommitdiff
path: root/src/layout/DwindleLayout.hpp
diff options
context:
space:
mode:
authorVaxry <43317083+vaxerski@users.noreply.github.com>2022-12-16 17:17:31 +0000
committerGitHub <noreply@github.com>2022-12-16 17:17:31 +0000
commit98a4fa2b0d79298fa29b048a3ba15c3bf5aed8cd (patch)
tree64e78342cf08e5f9ad87bd5f6ea36233133be7bb /src/layout/DwindleLayout.hpp
parent7c33c7fc64203c17b4f3625a16ae6b4774992c0e (diff)
Added clang format (#1239)
* clang-format stuff and format files
Diffstat (limited to 'src/layout/DwindleLayout.hpp')
-rw-r--r--src/layout/DwindleLayout.hpp103
1 files changed, 52 insertions, 51 deletions
diff --git a/src/layout/DwindleLayout.hpp b/src/layout/DwindleLayout.hpp
index 624863b6..2c6f7229 100644
--- a/src/layout/DwindleLayout.hpp
+++ b/src/layout/DwindleLayout.hpp
@@ -4,80 +4,81 @@
#include <list>
#include <deque>
#include "../render/decorations/CHyprGroupBarDecoration.hpp"
+#include <array>
class CHyprDwindleLayout;
enum eFullscreenMode : uint8_t;
struct SDwindleNodeData {
- SDwindleNodeData* pParent = nullptr;
- bool isNode = false;
+ SDwindleNodeData* pParent = nullptr;
+ bool isNode = false;
- CWindow* pWindow = nullptr;
+ CWindow* pWindow = nullptr;
- std::array<SDwindleNodeData*, 2> children = { nullptr, nullptr };
+ std::array<SDwindleNodeData*, 2> children = {nullptr, nullptr};
- bool splitTop = false; // for preserve_split
+ bool splitTop = false; // for preserve_split
- bool groupHead = false;
- SDwindleNodeData* pNextGroupMember = nullptr;
- SDwindleNodeData* pPreviousGroupMember = nullptr;
+ bool groupHead = false;
+ SDwindleNodeData* pNextGroupMember = nullptr;
+ SDwindleNodeData* pPreviousGroupMember = nullptr;
- Vector2D position;
- Vector2D size;
+ Vector2D position;
+ Vector2D size;
- int workspaceID = -1;
+ int workspaceID = -1;
- float splitRatio = 1.f;
+ float splitRatio = 1.f;
- bool valid = true;
+ bool valid = true;
// For list lookup
bool operator==(const SDwindleNodeData& rhs) {
- return pWindow == rhs.pWindow && workspaceID == rhs.workspaceID && position == rhs.position && size == rhs.size && pParent == rhs.pParent && children[0] == rhs.children[0] && children[1] == rhs.children[1];
+ return pWindow == rhs.pWindow && workspaceID == rhs.workspaceID && position == rhs.position && size == rhs.size && pParent == rhs.pParent &&
+ children[0] == rhs.children[0] && children[1] == rhs.children[1];
}
- void recalcSizePosRecursive(bool force = false);
- void getAllChildrenRecursive(std::deque<SDwindleNodeData*>*);
- bool isGroupMember();
- SDwindleNodeData* getGroupHead();
- SDwindleNodeData* getGroupVisible();
- int getGroupMemberCount();
- void setGroupFocusedNode(SDwindleNodeData*);
+ void recalcSizePosRecursive(bool force = false);
+ void getAllChildrenRecursive(std::deque<SDwindleNodeData*>*);
+ bool isGroupMember();
+ SDwindleNodeData* getGroupHead();
+ SDwindleNodeData* getGroupVisible();
+ int getGroupMemberCount();
+ void setGroupFocusedNode(SDwindleNodeData*);
CHyprDwindleLayout* layout = nullptr;
};
class CHyprDwindleLayout : public IHyprLayout {
-public:
- virtual void onWindowCreatedTiling(CWindow*);
- virtual void onWindowRemovedTiling(CWindow*);
- virtual bool isWindowTiled(CWindow*);
- virtual void recalculateMonitor(const int&);
- virtual void recalculateWindow(CWindow*);
- virtual void resizeActiveWindow(const Vector2D&, CWindow* pWindow = nullptr);
- virtual void fullscreenRequestForWindow(CWindow*, eFullscreenMode, bool);
- virtual std::any layoutMessage(SLayoutMessageHeader, std::string);
+ public:
+ virtual void onWindowCreatedTiling(CWindow*);
+ virtual void onWindowRemovedTiling(CWindow*);
+ virtual bool isWindowTiled(CWindow*);
+ virtual void recalculateMonitor(const int&);
+ virtual void recalculateWindow(CWindow*);
+ virtual void resizeActiveWindow(const Vector2D&, CWindow* pWindow = nullptr);
+ virtual void fullscreenRequestForWindow(CWindow*, eFullscreenMode, bool);
+ virtual std::any layoutMessage(SLayoutMessageHeader, std::string);
virtual SWindowRenderLayoutHints requestRenderHints(CWindow*);
- virtual void switchWindows(CWindow*, CWindow*);
- virtual void alterSplitRatioBy(CWindow*, float);
- virtual std::string getLayoutName();
-
- virtual void onEnable();
- virtual void onDisable();
-
-private:
-
- std::list<SDwindleNodeData> m_lDwindleNodesData;
-
- int getNodesOnWorkspace(const int&);
- void applyNodeDataToWindow(SDwindleNodeData*, bool force = false);
- SDwindleNodeData* getNodeFromWindow(CWindow*);
- SDwindleNodeData* getFirstNodeOnWorkspace(const int&);
- SDwindleNodeData* getMasterNodeOnWorkspace(const int&);
-
- void toggleWindowGroup(CWindow*);
- void switchGroupWindow(CWindow*, bool forward, CWindow* to = nullptr);
- void toggleSplit(CWindow*);
- std::deque<CWindow*> getGroupMembers(CWindow*);
+ virtual void switchWindows(CWindow*, CWindow*);
+ virtual void alterSplitRatioBy(CWindow*, float);
+ virtual std::string getLayoutName();
+
+ virtual void onEnable();
+ virtual void onDisable();
+
+ private:
+ std::list<SDwindleNodeData> m_lDwindleNodesData;
+
+ int getNodesOnWorkspace(const int&);
+ void applyNodeDataToWindow(SDwindleNodeData*, bool force = false);
+ SDwindleNodeData* getNodeFromWindow(CWindow*);
+ SDwindleNodeData* getFirstNodeOnWorkspace(const int&);
+ SDwindleNodeData* getMasterNodeOnWorkspace(const int&);
+
+ void toggleWindowGroup(CWindow*);
+ void switchGroupWindow(CWindow*, bool forward, CWindow* to = nullptr);
+ void toggleSplit(CWindow*);
+ std::deque<CWindow*> getGroupMembers(CWindow*);
friend struct SDwindleNodeData;
}; \ No newline at end of file