diff options
| author | Vaxry <vaxry@vaxry.net> | 2026-04-04 23:20:37 +0100 |
|---|---|---|
| committer | Vaxry <43317083+vaxerski@users.noreply.github.com> | 2026-04-04 19:00:34 -0400 |
| commit | 1c2bd2c818ba7d3cfc0a073f73f660d5ee23de1d (patch) | |
| tree | dddf5642e092d461effb814cb5889e83577236ce /src/render/decorations/DecorationPositioner.hpp | |
| parent | 3c88ac8ead1fec0fb76cf8a48da0b8e1afe864df (diff) | |
render/decorations: improve cache performance
Diffstat (limited to 'src/render/decorations/DecorationPositioner.hpp')
| -rw-r--r-- | src/render/decorations/DecorationPositioner.hpp | 29 |
1 files changed, 15 insertions, 14 deletions
diff --git a/src/render/decorations/DecorationPositioner.hpp b/src/render/decorations/DecorationPositioner.hpp index 3010824f..11ca12fd 100644 --- a/src/render/decorations/DecorationPositioner.hpp +++ b/src/render/decorations/DecorationPositioner.hpp @@ -80,23 +80,24 @@ class CDecorationPositioner { }; struct SWindowData { - Vector2D lastWindowSize = {}; - SBoxExtents reserved = {}; - SBoxExtents extents = {}; - SBoxExtents decorationExtents = {}; - SBoxExtents decorationInputExtents = {}; - bool needsRecalc = false; - bool needsDamageExtents = true; + Vector2D lastWindowSize = {}; + SBoxExtents reserved = {}; + SBoxExtents extents = {}; + SBoxExtents decorationExtents = {}; + SBoxExtents decorationInputExtents = {}; + bool needsRecalc = false; + bool needsDamageExtents = true; + std::vector<UP<SWindowPositioningData>> positioningDatas; }; - std::map<PHLWINDOWREF, SWindowData> m_windowDatas; - std::vector<UP<SWindowPositioningData>> m_windowPositioningDatas; + std::map<PHLWINDOWREF, SWindowData> m_windowDatas; + bool m_needsSanitize = false; - SWindowPositioningData* getDataFor(IHyprWindowDecoration* pDecoration, PHLWINDOW pWindow); - SBoxExtents computeWindowDecorationExtents(PHLWINDOWREF pWindow, bool inputOnly); - void onWindowUnmap(PHLWINDOW pWindow); - void onWindowMap(PHLWINDOW pWindow); - void sanitizeDatas(); + SWindowPositioningData* getDataFor(IHyprWindowDecoration* pDecoration, PHLWINDOW pWindow); + SBoxExtents computeWindowDecorationExtents(PHLWINDOWREF pWindow, bool inputOnly); + void onWindowUnmap(PHLWINDOW pWindow); + void onWindowMap(PHLWINDOW pWindow); + void sanitizeDatas(); }; inline UP<CDecorationPositioner> g_pDecorationPositioner; |
