summaryrefslogtreecommitdiff
path: root/src/render/Renderer.hpp
diff options
context:
space:
mode:
authorVaxry <43317083+vaxerski@users.noreply.github.com>2025-05-10 18:31:26 +0100
committerGitHub <noreply@github.com>2025-05-10 19:31:26 +0200
commitf58bb72d3a300dc482e9dc934101790c8707667d (patch)
tree8d05540c2dfa630241e016978437bf62023a7eee /src/render/Renderer.hpp
parent60cd5b7a48af4a23717201d70395161a3bb4ab24 (diff)
renderer: render blur on fade out (#10356)
Diffstat (limited to 'src/render/Renderer.hpp')
-rw-r--r--src/render/Renderer.hpp12
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;