diff options
| author | Vaxry <43317083+vaxerski@users.noreply.github.com> | 2025-05-10 18:31:26 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-05-10 19:31:26 +0200 |
| commit | f58bb72d3a300dc482e9dc934101790c8707667d (patch) | |
| tree | 8d05540c2dfa630241e016978437bf62023a7eee /src/render/Renderer.hpp | |
| parent | 60cd5b7a48af4a23717201d70395161a3bb4ab24 (diff) | |
renderer: render blur on fade out (#10356)
Diffstat (limited to 'src/render/Renderer.hpp')
| -rw-r--r-- | src/render/Renderer.hpp | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/src/render/Renderer.hpp b/src/render/Renderer.hpp index 29d7464b..77e1fcf0 100644 --- a/src/render/Renderer.hpp +++ b/src/render/Renderer.hpp @@ -45,6 +45,11 @@ struct SExplicitSyncSettings { bool explicitEnabled = false, explicitKMSEnabled = false; }; +struct SRenderWorkspaceUntilData { + PHLLS ls; + PHLWINDOW w; +}; + class CHyprRenderer { public: CHyprRenderer(); @@ -117,20 +122,23 @@ class CHyprRenderer { private: void arrangeLayerArray(PHLMONITOR, const std::vector<PHLLSREF>&, bool, CBox*); + void renderWorkspace(PHLMONITOR pMonitor, PHLWORKSPACE pWorkspace, const Time::steady_tp& now, const CBox& geometry); void renderWorkspaceWindowsFullscreen(PHLMONITOR, PHLWORKSPACE, const Time::steady_tp&); // renders workspace windows (fullscreen) (tiled, floating, pinned, but no special) void renderWorkspaceWindows(PHLMONITOR, PHLWORKSPACE, const Time::steady_tp&); // renders workspace windows (no fullscreen) (tiled, floating, pinned, but no special) + void renderAllClientsForWorkspace(PHLMONITOR pMonitor, PHLWORKSPACE pWorkspace, const Time::steady_tp& now, const Vector2D& translate = {0, 0}, const float& scale = 1.f); void renderWindow(PHLWINDOW, PHLMONITOR, const Time::steady_tp&, bool, eRenderPassMode, bool ignorePosition = false, bool standalone = false); void renderLayer(PHLLS, PHLMONITOR, const Time::steady_tp&, bool popups = false, bool lockscreen = false); void renderSessionLockSurface(WP<SSessionLockSurface>, PHLMONITOR, const Time::steady_tp&); void renderDragIcon(PHLMONITOR, const Time::steady_tp&); void renderIMEPopup(CInputPopup*, PHLMONITOR, const Time::steady_tp&); - void renderWorkspace(PHLMONITOR pMonitor, PHLWORKSPACE pWorkspace, const Time::steady_tp& now, const CBox& geometry); void sendFrameEventsToWorkspace(PHLMONITOR pMonitor, PHLWORKSPACE pWorkspace, const Time::steady_tp& now); // sends frame displayed events but doesn't actually render anything - void renderAllClientsForWorkspace(PHLMONITOR pMonitor, PHLWORKSPACE pWorkspace, const Time::steady_tp& now, const Vector2D& translate = {0, 0}, const float& scale = 1.f); void renderSessionLockMissing(PHLMONITOR pMonitor); bool commitPendingAndDoExplicitSync(PHLMONITOR pMonitor); + bool shouldBlur(PHLLS ls); + bool shouldBlur(PHLWINDOW w); + bool m_cursorHidden = false; bool m_cursorHasSurface = false; SP<CRenderbuffer> m_currentRenderbuffer = nullptr; |
