Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
home:rhabacker:branches:windows:mingw:win32
mingw32-librsvg
librsvg-2.32.0-gtk3.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File librsvg-2.32.0-gtk3.patch of Package mingw32-librsvg
--- librsvg-2.32.0/gtk-engine/svg-render.c 2010-07-02 15:10:58.000000000 +0200 +++ librsvg-2.32.0/gtk-engine/svg-render.c 2010-09-11 04:42:37.000000000 +0200 @@ -418,21 +418,30 @@ y_offset = 0; } + cairo_t *cr; + if (mask) { - gdk_pixbuf_render_threshold_alpha (tmp_pixbuf, mask, - x_offset, y_offset, - rect.x, rect.y, - rect.width, rect.height, - 128); - } + cr = gdk_cairo_create (mask); + + gdk_cairo_set_source_pixbuf (cr, tmp_pixbuf, + -x_offset + rect.x, + -y_offset + rect.y); + gdk_cairo_rectangle (cr, &rect); + cairo_fill (cr); + + cairo_destroy (cr); + } + + cr = gdk_cairo_create (window); + gdk_cairo_set_source_pixbuf (cr, + tmp_pixbuf, + -x_offset + rect.x, + -y_offset + rect.y); + gdk_cairo_rectangle (cr, &rect); + cairo_fill (cr); - gdk_draw_pixbuf (window, NULL, tmp_pixbuf, - x_offset, y_offset, - rect.x, rect.y, - rect.width, rect.height, - GDK_RGB_DITHER_NORMAL, - 0, 0); + cairo_destroy (cr); g_object_unref (tmp_pixbuf); } @@ -827,37 +836,20 @@ } else { - GdkPixmap *tmp_pixmap; - GdkGC *tmp_gc; - GdkGCValues gc_values; - - tmp_pixmap = gdk_pixmap_new (window, - pixbuf_width, - pixbuf_height, - -1); - tmp_gc = gdk_gc_new (tmp_pixmap); - gdk_draw_pixbuf (tmp_pixmap, tmp_gc, pixbuf, - 0, 0, - 0, 0, - pixbuf_width, pixbuf_height, - GDK_RGB_DITHER_NORMAL, - 0, 0); - g_object_unref (tmp_gc); - - gc_values.fill = GDK_TILED; - gc_values.tile = tmp_pixmap; - tmp_gc = gdk_gc_new_with_values (window, - &gc_values, GDK_GC_FILL | GDK_GC_TILE); + cairo_t *cr = gdk_cairo_create (window); + + gdk_cairo_set_source_pixbuf (cr, pixbuf, 0, 0); + cairo_pattern_set_extend (cairo_get_source (cr), CAIRO_EXTEND_REPEAT); + if (clip_rect) - gdk_draw_rectangle (window, tmp_gc, TRUE, - clip_rect->x, clip_rect->y, clip_rect->width, clip_rect->height); + gdk_cairo_rectangle (cr, clip_rect); else - gdk_draw_rectangle (window, tmp_gc, TRUE, x, y, width, height); + cairo_rectangle (cr, x, y, width, height); - g_object_unref (tmp_gc); - g_object_unref (tmp_pixmap); + cairo_fill (cr); + + cairo_destroy (cr); } } - g_object_unref(pixbuf); }
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor