[gtk+/wip/pango-shadow-cache: 8/8] xxx clip
- From: Jasper St. Pierre <jstpierre src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk+/wip/pango-shadow-cache: 8/8] xxx clip
- Date: Wed, 3 Sep 2014 20:03:39 +0000 (UTC)
commit ff58cd44cb1ca3ddfcbbb23355bd006f445972bc
Author: Jasper St. Pierre <jstpierre mecheye net>
Date: Wed Sep 3 10:23:01 2014 -0700
xxx clip
gtk/gtkcssshadowvalue.c | 14 ++++++--------
1 files changed, 6 insertions(+), 8 deletions(-)
---
diff --git a/gtk/gtkcssshadowvalue.c b/gtk/gtkcssshadowvalue.c
index f8acb4a..d2a67b3 100644
--- a/gtk/gtkcssshadowvalue.c
+++ b/gtk/gtkcssshadowvalue.c
@@ -348,14 +348,7 @@ gtk_css_shadow_value_start_drawing (const GtkCssValue *shadow,
cairo_surface_set_device_offset (surface, clip_radius - clip_rect.x, clip_radius - clip_rect.y);
blur_cr = cairo_create (surface);
cairo_set_user_data (blur_cr, &original_cr_key, cairo_reference (cr), (cairo_destroy_func_t)
cairo_destroy);
-
- if (cairo_has_current_point (cr))
- {
- double x, y;
-
- cairo_get_current_point (cr, &x, &y);
- cairo_move_to (blur_cr, x, y);
- }
+ cairo_new_sub_path (blur_cr);
return blur_cr;
}
@@ -422,6 +415,7 @@ _gtk_css_shadow_value_paint_layout (const GtkCssValue *shadow,
PangoLayout *layout)
{
double x, y;
+ PangoRectangle ink_rect;
g_return_if_fail (shadow->class == >K_CSS_VALUE_SHADOW);
@@ -431,6 +425,10 @@ _gtk_css_shadow_value_paint_layout (const GtkCssValue *shadow,
cairo_translate (cr, x, y);
cairo_new_sub_path (cr);
+ pango_layout_get_pixel_extents (layout, &ink_rect, NULL);
+ cairo_rectangle (cr, ink_rect.x, ink_rect.y, ink_rect.width, ink_rect.height);
+ cairo_clip (cr);
+
cairo_translate (cr,
_gtk_css_number_value_get (shadow->hoffset, 0),
_gtk_css_number_value_get (shadow->voffset, 0));
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]