diff options
author | Owen Taylor <otaylor@redhat.com> | 2005-03-17 20:53:34 +0000 |
---|---|---|
committer | Owen Taylor <otaylor@src.gnome.org> | 2005-03-17 20:53:34 +0000 |
commit | d1bc66a20cdf7692282fdfb85e0dd7af98ead25d (patch) | |
tree | 339435344a6207052419d12d74a71b53f0c33cef /gdk | |
parent | e3737e59fecfa2f09a36bd4e13e4b3677415a3af (diff) | |
download | gtk+-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')
-rw-r--r-- | gdk/gdkpango.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/gdk/gdkpango.c b/gdk/gdkpango.c index c94f58d724..526dbc20d7 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) |