backend: add custom shader image property
Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
This commit is contained in:
@@ -383,6 +383,10 @@ void paint_all_new(session_t *ps, struct managed_win *t, bool ignore_damage) {
|
||||
ps->backend_data, IMAGE_PROPERTY_BORDER_WIDTH,
|
||||
w->win_image, &border_width);
|
||||
}
|
||||
|
||||
ps->backend_data->ops->set_image_property(
|
||||
ps->backend_data, IMAGE_PROPERTY_CUSTOM_SHADER, w->win_image,
|
||||
w->fg_shader ? (void *)w->fg_shader->backend_shader : NULL);
|
||||
}
|
||||
|
||||
if (w->opacity * MAX_ALPHA < 1) {
|
||||
|
||||
@@ -70,6 +70,9 @@ enum image_properties {
|
||||
// Border width
|
||||
// 1 int, default: 0
|
||||
IMAGE_PROPERTY_BORDER_WIDTH,
|
||||
// Custom shader for this window.
|
||||
// 1 pointer to shader struct, default: NULL
|
||||
IMAGE_PROPERTY_CUSTOM_SHADER,
|
||||
};
|
||||
|
||||
enum image_operations {
|
||||
|
||||
@@ -452,6 +452,7 @@ bool default_set_image_property(backend_t *base attr_unused, enum image_properti
|
||||
case IMAGE_PROPERTY_CORNER_RADIUS: tex->corner_radius = dargs[0]; break;
|
||||
case IMAGE_PROPERTY_MAX_BRIGHTNESS: tex->max_brightness = dargs[0]; break;
|
||||
case IMAGE_PROPERTY_BORDER_WIDTH: tex->border_width = *(int *)arg; break;
|
||||
case IMAGE_PROPERTY_CUSTOM_SHADER: break;
|
||||
}
|
||||
|
||||
return true;
|
||||
|
||||
Reference in New Issue
Block a user