diff --git a/docs/reference/gdk/gdk3-sections.txt b/docs/reference/gdk/gdk3-sections.txt index e192dc7e60..bc3c8ba0c2 100644 --- a/docs/reference/gdk/gdk3-sections.txt +++ b/docs/reference/gdk/gdk3-sections.txt @@ -392,7 +392,6 @@ gdk_draw_layout_with_colors gdk_draw_drawable -gdk_drawable_get_image gdk_drawable_copy_to_image diff --git a/docs/reference/gdk/tmpl/drawing.sgml b/docs/reference/gdk/tmpl/drawing.sgml index 88c9f14904..58c6377bc8 100644 --- a/docs/reference/gdk/tmpl/drawing.sgml +++ b/docs/reference/gdk/tmpl/drawing.sgml @@ -354,19 +354,6 @@ bottom edges. @height: - - - - - -@drawable: -@x: -@y: -@width: -@height: -@Returns: - - diff --git a/docs/reference/gdk/tmpl/pixbufs.sgml b/docs/reference/gdk/tmpl/pixbufs.sgml index df905049a0..09f06fe9b2 100644 --- a/docs/reference/gdk/tmpl/pixbufs.sgml +++ b/docs/reference/gdk/tmpl/pixbufs.sgml @@ -83,3 +83,19 @@ pixbufs, see the #GdkPixbuf API documentation. @Returns: + + + + + +@dest: +@surface: +@src_x: +@src_y: +@dest_x: +@dest_y: +@width: +@height: +@Returns: + + diff --git a/gdk/gdk.symbols b/gdk/gdk.symbols index c39d5b4937..c385ea3923 100644 --- a/gdk/gdk.symbols +++ b/gdk/gdk.symbols @@ -545,7 +545,6 @@ gdk_drawable_get_clip_region gdk_drawable_get_colormap gdk_drawable_get_depth gdk_drawable_get_display -gdk_drawable_get_image gdk_drawable_get_screen gdk_drawable_get_size gdk_drawable_get_type G_GNUC_CONST diff --git a/gdk/gdkdraw.c b/gdk/gdkdraw.c index 79ccc00bcd..ce296299b9 100644 --- a/gdk/gdkdraw.c +++ b/gdk/gdkdraw.c @@ -36,11 +36,6 @@ #include "gdkpixbuf.h" -static GdkImage* gdk_drawable_real_get_image (GdkDrawable *drawable, - gint x, - gint y, - gint width, - gint height); static GdkDrawable* gdk_drawable_real_get_composite_drawable (GdkDrawable *drawable, gint x, gint y, @@ -65,7 +60,6 @@ G_DEFINE_ABSTRACT_TYPE (GdkDrawable, gdk_drawable, G_TYPE_OBJECT) static void gdk_drawable_class_init (GdkDrawableClass *klass) { - klass->get_image = gdk_drawable_real_get_image; klass->get_composite_drawable = gdk_drawable_real_get_composite_drawable; /* Default implementation for clip and visible region is the same */ klass->get_clip_region = gdk_drawable_real_get_visible_region; @@ -813,104 +807,6 @@ gdk_drawable_copy_to_image (GdkDrawable *drawable, return retval; } -/** - * gdk_drawable_get_image: - * @drawable: a #GdkDrawable - * @x: x coordinate on @drawable - * @y: y coordinate on @drawable - * @width: width of region to get - * @height: height or region to get - * - * A #GdkImage stores client-side image data (pixels). In contrast, - * #GdkPixmap and #GdkWindow are server-side - * objects. gdk_drawable_get_image() obtains the pixels from a - * server-side drawable as a client-side #GdkImage. The format of a - * #GdkImage depends on the #GdkVisual of the current display, which - * makes manipulating #GdkImage extremely difficult; therefore, in - * most cases you should use gdk_pixbuf_get_from_drawable() instead of - * this lower-level function. A #GdkPixbuf contains image data in a - * canonicalized RGB format, rather than a display-dependent format. - * Of course, there's a convenience vs. speed tradeoff here, so you'll - * want to think about what makes sense for your application. - * - * @x, @y, @width, and @height define the region of @drawable to - * obtain as an image. - * - * You would usually copy image data to the client side if you intend - * to examine the values of individual pixels, for example to darken - * an image or add a red tint. It would be prohibitively slow to - * make a round-trip request to the windowing system for each pixel, - * so instead you get all of them at once, modify them, then copy - * them all back at once. - * - * If the X server or other windowing system backend is on the local - * machine, this function may use shared memory to avoid copying - * the image data. - * - * If the source drawable is a #GdkWindow and partially offscreen - * or obscured, then the obscured portions of the returned image - * will contain undefined data. - * - * Return value: a #GdkImage containing the contents of @drawable - **/ -GdkImage* -gdk_drawable_get_image (GdkDrawable *drawable, - gint x, - gint y, - gint width, - gint height) -{ - GdkDrawable *composite; - gint composite_x_offset = 0; - gint composite_y_offset = 0; - GdkImage *retval; - GdkColormap *cmap; - - g_return_val_if_fail (GDK_IS_DRAWABLE (drawable), NULL); - g_return_val_if_fail (x >= 0, NULL); - g_return_val_if_fail (y >= 0, NULL); - - /* FIXME? Note race condition since we get the size then - * get the image, and the size may have changed. - */ - - if (width < 0 || height < 0) - gdk_drawable_get_size (drawable, - width < 0 ? &width : NULL, - height < 0 ? &height : NULL); - - composite = - GDK_DRAWABLE_GET_CLASS (drawable)->get_composite_drawable (drawable, - x, y, - width, height, - &composite_x_offset, - &composite_y_offset); - - retval = GDK_DRAWABLE_GET_CLASS (composite)->get_image (composite, - x - composite_x_offset, - y - composite_y_offset, - width, height); - - g_object_unref (composite); - - cmap = gdk_drawable_get_colormap (drawable); - - if (retval && cmap) - gdk_image_set_colormap (retval, cmap); - - return retval; -} - -static GdkImage* -gdk_drawable_real_get_image (GdkDrawable *drawable, - gint x, - gint y, - gint width, - gint height) -{ - return gdk_drawable_copy_to_image (drawable, NULL, x, y, 0, 0, width, height); -} - static GdkDrawable * gdk_drawable_real_get_composite_drawable (GdkDrawable *drawable, gint x, diff --git a/gdk/gdkdrawable.h b/gdk/gdkdrawable.h index d1844bca93..9716f163c6 100644 --- a/gdk/gdkdrawable.h +++ b/gdk/gdkdrawable.h @@ -123,12 +123,6 @@ struct _GdkDrawableClass GdkVisual* (*get_visual) (GdkDrawable *drawable); GdkScreen* (*get_screen) (GdkDrawable *drawable); - GdkImage* (*get_image) (GdkDrawable *drawable, - gint x, - gint y, - gint width, - gint height); - cairo_region_t* (*get_clip_region) (GdkDrawable *drawable); cairo_region_t* (*get_visible_region) (GdkDrawable *drawable); @@ -314,11 +308,6 @@ void gdk_draw_trapezoids (GdkDrawable *drawable, gint n_trapezoids); -GdkImage* gdk_drawable_get_image (GdkDrawable *drawable, - gint x, - gint y, - gint width, - gint height); GdkImage *gdk_drawable_copy_to_image (GdkDrawable *drawable, GdkImage *image, gint src_x,