From 95db9108e55ee1498bb23600e5f0a909d7685a4a Mon Sep 17 00:00:00 2001 From: Vaxry Date: Sat, 21 Oct 2023 19:25:44 +0100 Subject: transformers: allow modifying renderdata pre-pass --- src/render/Transformer.hpp | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'src/render/Transformer.hpp') diff --git a/src/render/Transformer.hpp b/src/render/Transformer.hpp index 62eb3362..90fdeba9 100644 --- a/src/render/Transformer.hpp +++ b/src/render/Transformer.hpp @@ -2,12 +2,19 @@ #include "Framebuffer.hpp" +struct SRenderData; + // A window transformer can be attached to a window. // If any is attached, Hyprland will render the window to a separate fb, then call the transform() func with it, // and finally render it back to the main fb after all transformers pass. +// +// Worth noting transformers for now only affect the main pass (not popups) class IWindowTransformer { public: // called by Hyprland. For more data about what is being rendered, inspect render data. // returns the out fb. virtual CFramebuffer* transform(CFramebuffer* in) = 0; + + // called by Hyprland before a window main pass is started. + virtual void preWindowRender(SRenderData* pRenderData); }; \ No newline at end of file -- cgit v1.2.3