diff options
| author | allusive-dev <[email protected]> | 2023-10-30 15:12:21 +1100 |
|---|---|---|
| committer | allusive-dev <[email protected]> | 2023-10-30 15:12:21 +1100 |
| commit | ac33357e7ce7c474aeaffc92e381020289d767a2 (patch) | |
| tree | 7f05fa79b3ccd7834f85cc65a07fbd4f8030eb94 /src/backend/backend_common.h | |
| parent | Create FUNDING.yml (diff) | |
| download | compfy-1.0.0.tar.xz compfy-1.0.0.zip | |
Version 1.01.0.0
Diffstat (limited to 'src/backend/backend_common.h')
| -rw-r--r-- | src/backend/backend_common.h | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/src/backend/backend_common.h b/src/backend/backend_common.h index 5c9c806..c72a168 100644 --- a/src/backend/backend_common.h +++ b/src/backend/backend_common.h @@ -37,9 +37,11 @@ struct backend_image { double opacity; double dim; double max_brightness; + double corner_radius; // Effective size of the image int ewidth, eheight; bool color_inverted; + int border_width; }; bool build_shadow(xcb_connection_t *, xcb_drawable_t, double opacity, int width, @@ -60,9 +62,18 @@ bool default_is_win_transparent(void *, win *, void *); /// caveat as `default_is_win_transparent` applies. bool default_is_frame_transparent(void *, win *, void *); +void *default_backend_render_shadow(backend_t *backend_data, int width, int height, + struct backend_shadow_context *sctx, struct color color); + +/// Implement `render_shadow` with `shadow_from_mask`. void * -default_backend_render_shadow(backend_t *backend_data, int width, int height, - const conv *kernel, double r, double g, double b, double a); +backend_render_shadow_from_mask(backend_t *backend_data, int width, int height, + struct backend_shadow_context *sctx, struct color color); +struct backend_shadow_context * +default_create_shadow_context(backend_t *backend_data, double radius); + +void default_destroy_shadow_context(backend_t *backend_data, + struct backend_shadow_context *sctx); void init_backend_base(struct backend_base *base, session_t *ps); @@ -70,8 +81,6 @@ struct conv **generate_blur_kernel(enum blur_method method, void *args, int *ker struct dual_kawase_params *generate_dual_kawase_params(void *args); void *default_clone_image(backend_t *base, const void *image_data, const region_t *reg); -void *default_resize_image(backend_t *base, const void *image_data, uint16_t desired_width, - uint16_t desired_height, const region_t *reg); bool default_is_image_transparent(backend_t *base attr_unused, void *image_data); bool default_set_image_property(backend_t *base attr_unused, enum image_properties op, void *image_data, void *arg); |