render refactor: implement decoration_data struct (#61)

This commit is contained in:
William McKinnon 2022-11-23 23:37:35 -05:00 committed by GitHub
parent d27c346b9e
commit 6951b8e493
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 132 additions and 114 deletions

View file

@ -7,6 +7,13 @@
enum corner_location { ALL, TOP_LEFT, TOP_RIGHT, BOTTOM_LEFT, BOTTOM_RIGHT };
struct decoration_data {
float alpha;
float saturation;
int corner_radius;
bool has_titlebar;
};
struct gles2_tex_shader {
GLuint program;
GLint proj;
@ -91,11 +98,10 @@ void fx_renderer_scissor(struct wlr_box *box);
bool fx_render_subtexture_with_matrix(struct fx_renderer *renderer, struct wlr_texture *wlr_texture,
const struct wlr_fbox *src_box, const struct wlr_box *dst_box, const float matrix[static 9],
float alpha, int radius, float saturation, const bool has_titlebar);
struct decoration_data deco_data);
bool fx_render_texture_with_matrix(struct fx_renderer *renderer, struct wlr_texture *wlr_texture,
const struct wlr_box *dst_box, const float matrix[static 9], float alpha, int radius, float saturation,
const bool has_titlebar);
const struct wlr_box *dst_box, const float matrix[static 9], struct decoration_data deco_data);
void fx_render_rect(struct fx_renderer *renderer, const struct wlr_box *box,
const float color[static 4], const float projection[static 9]);