summaryrefslogtreecommitdiff
path: root/include/sway/desktop/fx_renderer/fx_renderer.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/sway/desktop/fx_renderer/fx_renderer.h')
-rw-r--r--include/sway/desktop/fx_renderer/fx_renderer.h21
1 files changed, 19 insertions, 2 deletions
diff --git a/include/sway/desktop/fx_renderer/fx_renderer.h b/include/sway/desktop/fx_renderer/fx_renderer.h
index bfae7b72..924d9951 100644
--- a/include/sway/desktop/fx_renderer/fx_renderer.h
+++ b/include/sway/desktop/fx_renderer/fx_renderer.h
@@ -47,6 +47,18 @@ struct blur_shader {
GLint halfpixel;
};
+struct effects_shader {
+ GLuint program;
+ GLint proj;
+ GLint tex;
+ GLint pos_attrib;
+ GLint tex_attrib;
+ GLfloat noise;
+ GLfloat brightness;
+ GLfloat contrast;
+ GLfloat saturation;
+};
+
struct box_shadow_shader {
GLuint program;
GLint proj;
@@ -153,6 +165,7 @@ struct fx_renderer {
struct box_shadow_shader box_shadow;
struct blur_shader blur1;
struct blur_shader blur2;
+ struct effects_shader blur_effects;
struct corner_shader corner;
struct quad_shader quad;
struct rounded_quad_shader rounded_quad;
@@ -211,7 +224,11 @@ void fx_render_box_shadow(struct fx_renderer *renderer, const struct wlr_box *bo
const float matrix[static 9], int corner_radius, float blur_sigma);
void fx_render_blur(struct fx_renderer *renderer, const float matrix[static 9],
- struct fx_framebuffer **buffer, struct blur_shader *shader, const struct wlr_box *box,
- int blur_radius);
+ struct fx_framebuffer **buffer, struct blur_shader *shader,
+ const struct wlr_box *box, int blur_radius);
+
+void fx_render_blur_effects(struct fx_renderer *renderer, const float matrix[static 9],
+ struct fx_framebuffer **buffer, float blur_noise, float blur_brightness,
+ float blur_contrast, float blur_saturation);
#endif