gdk: Make creating a surface from a pixbuf an intenral function

This commit is contained in:
Benjamin Otte
2011-02-03 17:39:03 +01:00
parent edb1cb5569
commit ad7ab0f781
2 changed files with 13 additions and 2 deletions

View File

@@ -194,6 +194,16 @@ gdk_cairo_set_source_pixbuf (cairo_t *cr,
const GdkPixbuf *pixbuf,
gdouble pixbuf_x,
gdouble pixbuf_y)
{
cairo_surface_t *surface;
surface = _gdk_cairo_create_surface_for_pixbuf (pixbuf);
cairo_set_source_surface (cr, surface, pixbuf_x, pixbuf_y);
cairo_surface_destroy (surface);
}
cairo_surface_t *
_gdk_cairo_create_surface_for_pixbuf (const GdkPixbuf *pixbuf)
{
gint width = gdk_pixbuf_get_width (pixbuf);
gint height = gdk_pixbuf_get_height (pixbuf);
@@ -277,8 +287,7 @@ gdk_cairo_set_source_pixbuf (cairo_t *cr,
cairo_pixels += cairo_stride;
}
cairo_set_source_surface (cr, surface, pixbuf_x, pixbuf_y);
cairo_surface_destroy (surface);
return surface;
}
/**

View File

@@ -285,6 +285,8 @@ void gdk_synthesize_window_state (GdkWindow *window,
gboolean _gdk_cairo_surface_extents (cairo_surface_t *surface,
GdkRectangle *extents);
cairo_surface_t *_gdk_cairo_create_surface_for_pixbuf (const GdkPixbuf *pixbuf);
/*************************************
* Interfaces used by windowing code *
*************************************/