diff options
author | William McKinnon <[email protected]> | 2024-04-15 01:32:22 -0400 |
---|---|---|
committer | GitHub <[email protected]> | 2024-04-15 01:32:22 -0400 |
commit | e1f4bc5996b1c77c7fa8536b7c03d9eb4140227d (patch) | |
tree | 3fa8045ca37131acc96c88cec4a2f920de6113fb /include/scenefx/render/fx_renderer/fx_effect_framebuffers.h | |
parent | 7e723f983b074e62e676caffe21cd5527b524587 (diff) |
feat: add functions required by SwayFX (#35)
Diffstat (limited to 'include/scenefx/render/fx_renderer/fx_effect_framebuffers.h')
-rw-r--r-- | include/scenefx/render/fx_renderer/fx_effect_framebuffers.h | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/include/scenefx/render/fx_renderer/fx_effect_framebuffers.h b/include/scenefx/render/fx_renderer/fx_effect_framebuffers.h new file mode 100644 index 0000000..566884a --- /dev/null +++ b/include/scenefx/render/fx_renderer/fx_effect_framebuffers.h @@ -0,0 +1,29 @@ +#ifndef _FX_EFFECT_FRAMEBUFFERS_H +#define _FX_EFFECT_FRAMEBUFFERS_H + +#include <wlr/types/wlr_output.h> +#include <wlr/util/addon.h> + +/** + * Used to add effect framebuffers per output instead of every output sharing + * them. + */ +struct fx_effect_framebuffers { + struct wlr_addon addon; + + // Contains the blurred background for tiled windows + struct fx_framebuffer *optimized_blur_buffer; + // Contains the original pixels to draw over the areas where artifact are visible + struct fx_framebuffer *blur_saved_pixels_buffer; + // Blur swaps between the two effects buffers everytime it scales the image + // Buffer used for effects + struct fx_framebuffer *effects_buffer; + // Swap buffer used for effects + struct fx_framebuffer *effects_buffer_swapped; + + bool blur_buffer_dirty; +}; + +struct fx_effect_framebuffers *fx_effect_framebuffers_try_get(struct wlr_output *output); + +#endif |