summaryrefslogtreecommitdiff
path: root/gdk/gdkpango.c
diff options
context:
space:
mode:
authorOwen Taylor <otaylor@redhat.com>2005-03-17 20:53:34 +0000
committerOwen Taylor <otaylor@src.gnome.org>2005-03-17 20:53:34 +0000
commitd1bc66a20cdf7692282fdfb85e0dd7af98ead25d (patch)
tree339435344a6207052419d12d74a71b53f0c33cef /gdk/gdkpango.c
parente3737e59fecfa2f09a36bd4e13e4b3677415a3af (diff)
downloadgdk-pixbuf-d1bc66a20cdf7692282fdfb85e0dd7af98ead25d.tar.gz
Fix get_stipple_surface to actually work, set EXTEND_REPEAT on the stipple
2005-03-17 Owen Taylor <otaylor@redhat.com> * gdk/gdkpango.c: Fix get_stipple_surface to actually work, set EXTEND_REPEAT on the stipple pattern.
Diffstat (limited to 'gdk/gdkpango.c')
-rw-r--r--gdk/gdkpango.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/gdk/gdkpango.c b/gdk/gdkpango.c
index c94f58d72..526dbc20d 100644
--- a/gdk/gdkpango.c
+++ b/gdk/gdkpango.c
@@ -183,16 +183,20 @@ get_stipple_surface (GdkPangoRenderer *gdk_renderer,
cairo_set_operator (tmp_cr, CAIRO_OPERATOR_SRC);
cairo_show_surface (tmp_cr, alpha_surface, width, height);
-
+
set_part_color (gdk_renderer, tmp_cr, part);
- cairo_set_operator (tmp_cr, CAIRO_OPERATOR_OVER);
+ cairo_set_operator (tmp_cr, CAIRO_OPERATOR_ATOP);
cairo_rectangle (tmp_cr, 0, 0, width, height);
cairo_fill (tmp_cr);
cairo_destroy (tmp_cr);
cairo_surface_destroy (alpha_surface);
+
+ gdk_renderer->priv->stipple_surface[part] = surface;
}
+
+ return gdk_renderer->priv->stipple_surface[part];
}
static cairo_t *
@@ -209,6 +213,7 @@ create_cairo_context (GdkPangoRenderer *gdk_renderer,
cairo_pattern_t *pattern;
pattern = cairo_pattern_create_for_surface (surface);
+ cairo_pattern_set_extend (pattern, CAIRO_EXTEND_REPEAT);
if (gdk_renderer->priv->base_gc->ts_x_origin != 0 ||
gdk_renderer->priv->base_gc->ts_y_origin != 0)