gsk: Use private box shadow api
This commit is contained in:
@@ -2274,9 +2274,9 @@ gsk_gpu_node_processor_add_inset_shadow_node (GskGpuNodeProcessor *self,
|
||||
GskRenderNode *node)
|
||||
{
|
||||
float spread, blur_radius;
|
||||
const GdkRGBA *rgba;
|
||||
const GdkColor *color;
|
||||
|
||||
rgba = gsk_inset_shadow_node_get_color (node);
|
||||
color = gsk_inset_shadow_node_get_color2 (node);
|
||||
spread = gsk_inset_shadow_node_get_spread (node);
|
||||
blur_radius = gsk_inset_shadow_node_get_blur_radius (node);
|
||||
|
||||
@@ -2285,7 +2285,7 @@ gsk_gpu_node_processor_add_inset_shadow_node (GskGpuNodeProcessor *self,
|
||||
GdkColor colors[4];
|
||||
|
||||
for (int i = 0; i < 4; i++)
|
||||
gdk_color_init_from_rgba (&colors[i], rgba);
|
||||
gdk_color_init_copy (&colors[i], color);
|
||||
|
||||
gsk_gpu_border_op (self->frame,
|
||||
gsk_gpu_clip_get_shader_clip (&self->clip, &self->offset, &node->bounds),
|
||||
@@ -2298,14 +2298,11 @@ gsk_gpu_node_processor_add_inset_shadow_node (GskGpuNodeProcessor *self,
|
||||
(float[4]) { spread, spread, spread, spread },
|
||||
colors);
|
||||
|
||||
for (int i = 0; i < 4; i++)
|
||||
gdk_color_finish (&colors[i]);
|
||||
for (int i = 0; i < 4; i++)
|
||||
gdk_color_finish (&colors[i]);
|
||||
}
|
||||
else
|
||||
{
|
||||
GdkColor color;
|
||||
|
||||
gdk_color_init_from_rgba (&color, rgba);
|
||||
gsk_gpu_box_shadow_op (self->frame,
|
||||
gsk_gpu_clip_get_shader_clip (&self->clip, &self->offset, &node->bounds),
|
||||
self->ccs,
|
||||
@@ -2318,8 +2315,7 @@ gsk_gpu_node_processor_add_inset_shadow_node (GskGpuNodeProcessor *self,
|
||||
gsk_inset_shadow_node_get_dy (node)),
|
||||
spread,
|
||||
blur_radius,
|
||||
&color);
|
||||
gdk_color_finish (&color);
|
||||
color);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2328,9 +2324,9 @@ gsk_gpu_node_processor_add_outset_shadow_node (GskGpuNodeProcessor *self,
|
||||
GskRenderNode *node)
|
||||
{
|
||||
float spread, blur_radius, dx, dy;
|
||||
const GdkRGBA *rgba;
|
||||
const GdkColor *color;
|
||||
|
||||
rgba = gsk_outset_shadow_node_get_color (node);
|
||||
color = gsk_outset_shadow_node_get_color2 (node);
|
||||
spread = gsk_outset_shadow_node_get_spread (node);
|
||||
blur_radius = gsk_outset_shadow_node_get_blur_radius (node);
|
||||
dx = gsk_outset_shadow_node_get_dx (node);
|
||||
@@ -2341,13 +2337,13 @@ gsk_gpu_node_processor_add_outset_shadow_node (GskGpuNodeProcessor *self,
|
||||
GskRoundedRect outline;
|
||||
GdkColor colors[4];
|
||||
|
||||
for (int i = 0; i < 4; i++)
|
||||
gdk_color_init_from_rgba (&colors[i], rgba);
|
||||
|
||||
gsk_rounded_rect_init_copy (&outline, gsk_outset_shadow_node_get_outline (node));
|
||||
gsk_rounded_rect_shrink (&outline, -spread, -spread, -spread, -spread);
|
||||
graphene_rect_offset (&outline.bounds, dx, dy);
|
||||
|
||||
for (int i = 0; i < 4; i++)
|
||||
gdk_color_init_copy (&colors[i], color);
|
||||
|
||||
gsk_gpu_border_op (self->frame,
|
||||
gsk_gpu_clip_get_shader_clip (&self->clip, &self->offset, &node->bounds),
|
||||
self->ccs,
|
||||
@@ -2357,14 +2353,12 @@ gsk_gpu_node_processor_add_outset_shadow_node (GskGpuNodeProcessor *self,
|
||||
&GRAPHENE_POINT_INIT (-dx, -dy),
|
||||
(float[4]) { spread, spread, spread, spread },
|
||||
colors);
|
||||
|
||||
for (int i = 0; i < 4; i++)
|
||||
gdk_color_finish (&colors[i]);
|
||||
}
|
||||
else
|
||||
{
|
||||
GdkColor color;
|
||||
|
||||
gdk_color_init_from_rgba (&color, rgba);
|
||||
gsk_gpu_box_shadow_op (self->frame,
|
||||
gsk_gpu_clip_get_shader_clip (&self->clip, &self->offset, &node->bounds),
|
||||
self->ccs,
|
||||
@@ -2376,8 +2370,7 @@ gsk_gpu_node_processor_add_outset_shadow_node (GskGpuNodeProcessor *self,
|
||||
&GRAPHENE_POINT_INIT (dx, dy),
|
||||
spread,
|
||||
blur_radius,
|
||||
&color);
|
||||
gdk_color_finish (&color);
|
||||
color);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user