diff options
| author | Vaxry <vaxry@vaxry.net> | 2023-10-21 19:25:44 +0100 |
|---|---|---|
| committer | Vaxry <vaxry@vaxry.net> | 2023-10-21 19:25:44 +0100 |
| commit | 95db9108e55ee1498bb23600e5f0a909d7685a4a (patch) | |
| tree | 35e9dbd7afd1876b016c559b7fc6cf7dd5f0978d /src/render/Transformer.hpp | |
| parent | a61eb7694df25a75f45502ed64b1536fda370c1d (diff) | |
transformers: allow modifying renderdata pre-pass
Diffstat (limited to 'src/render/Transformer.hpp')
| -rw-r--r-- | src/render/Transformer.hpp | 7 |
1 files changed, 7 insertions, 0 deletions
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 |
