summaryrefslogtreecommitdiff
path: root/gdk/gdkimage.c
diff options
context:
space:
mode:
authorHavoc Pennington <hp@pobox.com>2001-06-29 01:59:02 +0000
committerHavoc Pennington <hp@src.gnome.org>2001-06-29 01:59:02 +0000
commit0bee26c7bac6928f05f6d928407e03f5bddbddff (patch)
treeb6e040f5702bb1e82dcf6dc20c5cc39976712e7d /gdk/gdkimage.c
parent00f85bf815499a651ecec41fcccb234b56c2f383 (diff)
downloadgtk+-0bee26c7bac6928f05f6d928407e03f5bddbddff.tar.gz
Clip the retrieved image data to the screen, using a server grab to avoid
2001-06-28 Havoc Pennington <hp@pobox.com> * gdk/x11/gdkimage-x11.c (_gdk_x11_get_image): Clip the retrieved image data to the screen, using a server grab to avoid race conditions. * gtk/gtkitemfactory.c (gtk_item_factory_create_item): remove check for NULL return from gtk_image_new_from_stock(), it never returns NULL. (gtk_item_factory_create_item): fix bug where we parsed the stock ID as an inline pixbuf * gtk/gtktext.c (gtk_text_key_press): numeric keypad support * gtk/gtkspinbutton.c (gtk_spin_button_key_press): numeric keypad support (should be using binding set here) * gtk/gtkoptionmenu.c (gtk_option_menu_key_press): numeric keypad support (should be using binding set here) * gtk/gtkmenushell.c (gtk_menu_shell_class_init): numeric keypad support * gtk/gtkmenu.c (gtk_menu_class_init): numeric keypad support * gtk/gtkmenubar.c (gtk_menu_bar_class_init): numeric keypad * gtk/gtklistitem.c (gtk_list_item_class_init): numeric keypad * gtk/gtkimcontextsimple.c (gtk_im_context_simple_filter_keypress): keypad * gtk/gtkfilesel.c (gtk_file_selection_key_press): keypad * gtk/gtkentry.c (gtk_entry_class_init): numeric keypad fixes * gtk/gtkctree.c (gtk_ctree_class_init): numeric keypad support * gtk/gtkcolorsel.c (palette_activate): keypad support (of course, should be binding-setted) * gtk/gtkwindow.c (gtk_window_class_init): numeric keypad fixes * gtk/gtkclist.c (gtk_clist_class_init): numeric keypad fixes * gtk/gtkcalendar.c: numeric keypad fixes * gtk/gtktextview.c (gtk_text_view_class_init): numeric keypad support * gdk/gdkwindow.c (gdk_window_get_clip_region): fix infinite loop screwup * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable_alpha): clip the render area to the drawable's clip region in advance, so we don't get data from the server that we don't need. * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable_alpha): check return value of gdk_pixbuf_get_from_drawable(), fall back to bilevel alpha if we can't get the pixbuf to composite against. * gdk/gdkdraw.c (gdk_drawable_get_image): set the image colormap * gdk/gdkimage.c (gdk_image_get_colormap): add gdk_image_set_colormap, gdk_image_get_colormap * gdk/gdkpixbuf-drawable.c (rgbconvert): Change all converters to take a region of the image, instead of converting the entire image. * gtk/gtkwidget.h (struct _GtkWidgetClass): add show_help keybinding signal. Add default bindings for it. Add default handler for show_help that shows the tooltip for the widget. * gtk/gtkdialog.c (gtk_dialog_class_init): add binding set and "close" keybinding signal, remove key press handler. * gtk/gtktooltips.c (gtk_tooltips_set_colors): Just remove this, it's not our usual practice to leave a deprecated function around with a runtime warning, plus we don't want it to appear in docs, plus if we make them yellow no one will want to change them anyhow.
Diffstat (limited to 'gdk/gdkimage.c')
-rw-r--r--gdk/gdkimage.c63
1 files changed, 63 insertions, 0 deletions
diff --git a/gdk/gdkimage.c b/gdk/gdkimage.c
index 7438c51c6c..2606f48a10 100644
--- a/gdk/gdkimage.c
+++ b/gdk/gdkimage.c
@@ -44,6 +44,21 @@ gdk_image_unref (GdkImage *image)
g_object_unref (G_OBJECT (image));
}
+/**
+ * gdk_image_get:
+ * @window: a #GdkWindow
+ * @x: x coordinate in @window
+ * @y: y coordinate in @window
+ * @width: width of area in @window
+ * @height: height of area in @window
+ *
+ * This is a deprecated wrapper for gdk_drawable_get_image();
+ * gdk_drawable_get_image() should be used instead. Or even better: in
+ * most cases gdk_pixbuf_get_from_drawable() is the most convenient
+ * choice.
+ *
+ * Return value: a new #GdkImage or %NULL
+ **/
GdkImage*
gdk_image_get (GdkWindow *window,
gint x,
@@ -59,3 +74,51 @@ gdk_image_get (GdkWindow *window,
return gdk_drawable_get_image (window, x, y, width, height);
}
+
+/**
+ * gdk_image_set_colormap:
+ * @image: a #GdkImage
+ * @colormap: a #GdkColormap
+ *
+ * Sets the colormap for the image to the given colormap. Normally
+ * there's no need to use this function, images are created with the
+ * correct colormap if you get the image from a drawable. If you
+ * create the image from scratch, use the colormap of the drawable you
+ * intend to render the image to.
+ **/
+void
+gdk_image_set_colormap (GdkImage *image,
+ GdkColormap *colormap)
+{
+ g_return_if_fail (GDK_IS_IMAGE (image));
+ g_return_if_fail (GDK_IS_COLORMAP (colormap));
+
+ if (image->colormap != colormap)
+ {
+ if (image->colormap)
+ g_object_unref (G_OBJECT (image->colormap));
+
+ image->colormap = colormap;
+ g_object_ref (G_OBJECT (image->colormap));
+ }
+
+}
+
+/**
+ * gdk_image_get_colormap:
+ * @image: a #GdkImage
+ *
+ * Retrieves the colormap for a given image, if it exists. An image
+ * will have a colormap if the drawable from which it was created has
+ * a colormap, or if a colormap was set explicitely with
+ * gdk_image_set_colormap().
+ *
+ * Return value: colormap for the image
+ **/
+GdkColormap *
+gdk_image_get_colormap (GdkImage *image)
+{
+ g_return_val_if_fail (GDK_IS_IMAGE (image), NULL);
+
+ return image->colormap;
+}