diff --git a/src/lib/ector/cairo/ector_renderer_cairo_gradient_linear.c b/src/lib/ector/cairo/ector_renderer_cairo_gradient_linear.c index 1b02c35e66..0764062082 100644 --- a/src/lib/ector/cairo/ector_renderer_cairo_gradient_linear.c +++ b/src/lib/ector/cairo/ector_renderer_cairo_gradient_linear.c @@ -20,6 +20,9 @@ static void (*cairo_pattern_add_color_stop_rgba)(cairo_pattern_t *pattern, doubl double red, double green, double blue, double alpha) = NULL; static void (*cairo_pattern_destroy)(cairo_pattern_t *pattern) = NULL; +typedef enum _cairo_extend_t{cairo_extend}cairo_extend_t; +static void (*cairo_pattern_set_extend)(cairo_pattern_t *pattern, cairo_extend_t extend) = NULL; + typedef struct _Ector_Renderer_Cairo_Gradient_Linear_Data Ector_Renderer_Cairo_Gradient_Linear_Data; struct _Ector_Renderer_Cairo_Gradient_Linear_Data { @@ -53,6 +56,9 @@ _ector_renderer_cairo_gradient_linear_ector_renderer_generic_base_prepare(Eo *ob gd->colors[i].r, gd->colors[i].g, gd->colors[i].b, gd->colors[i].a); + USE(obj, cairo_pattern_set_extend, EINA_FALSE); + cairo_pattern_set_extend(pd->pat, gd->s); + if (!pd->parent) { Eo *parent; diff --git a/src/lib/ector/cairo/ector_renderer_cairo_gradient_radial.c b/src/lib/ector/cairo/ector_renderer_cairo_gradient_radial.c index b20256e93f..cb84c53e38 100644 --- a/src/lib/ector/cairo/ector_renderer_cairo_gradient_radial.c +++ b/src/lib/ector/cairo/ector_renderer_cairo_gradient_radial.c @@ -23,6 +23,8 @@ static void (*cairo_pattern_add_color_stop_rgba)(cairo_pattern_t *pattern, doubl double red, double green, double blue, double alpha) = NULL; static void (*cairo_pattern_destroy)(cairo_pattern_t *pattern) = NULL; +typedef enum _cairo_extend_t{cairo_extend}cairo_extend_t; +static void (*cairo_pattern_set_extend)(cairo_pattern_t *pattern, cairo_extend_t extend) = NULL; // FIXME: as long as it is not possible to directly access the parent structure // this will be duplicated from the linear gradient renderer @@ -58,6 +60,9 @@ _ector_renderer_cairo_gradient_radial_ector_renderer_generic_base_prepare(Eo *ob gd->colors[i].r, gd->colors[i].g, gd->colors[i].b, gd->colors[i].a); + USE(obj, cairo_pattern_set_extend, EINA_FALSE); + cairo_pattern_set_extend(pd->pat, gd->s); + if (!pd->parent) { Eo *parent;