mirror of
https://gitlab.gnome.org/GNOME/gtk.git
synced 2024-11-07 09:10:11 +00:00
0bee26c7ba
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.
184 lines
5.3 KiB
Plaintext
184 lines
5.3 KiB
Plaintext
<!-- ##### SECTION Title ##### -->
|
|
Images
|
|
|
|
<!-- ##### SECTION Short_Description ##### -->
|
|
an area for bit-mapped graphics stored on the X Windows client.
|
|
|
|
<!-- ##### SECTION Long_Description ##### -->
|
|
<para>
|
|
The #GdkImage type represents an area for drawing graphics.
|
|
It has now been superceded to a large extent by the much more flexible
|
|
<link linkend="gdk-GdkRGB">GdkRGB</link> functions.
|
|
</para>
|
|
<para>
|
|
To create an empty #GdkImage use gdk_image_new().
|
|
To create a #GdkImage from bitmap data use gdk_image_new_bitmap().
|
|
To create an image from part of a #GdkWindow use gdk_image_get().
|
|
</para>
|
|
<para>
|
|
The image can be manipulated with gdk_image_get_pixel() and
|
|
gdk_image_put_pixel(), or alternatively by changing the actual pixel data.
|
|
Though manipulating the pixel data requires complicated code to cope with
|
|
the different formats that may be used.
|
|
</para>
|
|
<para>
|
|
To draw a #GdkImage in a #GdkWindow or #GdkPixmap use gdk_draw_image().
|
|
</para>
|
|
<para>
|
|
To destroy a #GdkImage use gdk_image_destroy().
|
|
</para>
|
|
|
|
<!-- ##### SECTION See_Also ##### -->
|
|
<para>
|
|
<variablelist>
|
|
|
|
<varlistentry>
|
|
<term><link linkend="gdk-Bitmaps-and-Pixmaps">Bitmaps and Pixmaps</link></term>
|
|
<listitem><para>
|
|
Graphics which are stored on the X Windows server.
|
|
Since these are stored on the server they can be drawn very quickly, and all
|
|
of the <link linkend="gdk-Drawing-Primitives">Drawing Primitives</link> can be
|
|
used to draw on them. Their main disadvantage is that manipulating individual
|
|
pixels can be very slow.
|
|
</para></listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><link linkend="gdk-GdkRGB">GdkRGB</link></term>
|
|
<listitem><para>
|
|
Built on top of #GdkImage, this provides much more functionality,
|
|
including the dithering of colors to produce better output on low-color
|
|
displays.
|
|
</para></listitem>
|
|
</varlistentry>
|
|
|
|
</variablelist>
|
|
</para>
|
|
|
|
<!-- ##### STRUCT GdkImage ##### -->
|
|
<para>
|
|
The #GdkImage struct contains information on the image and the pixel data.
|
|
</para>
|
|
|
|
@parent_instance:
|
|
@type: the type of the image.
|
|
@visual: the visual.
|
|
@byte_order: the byte order.
|
|
@width: the width of the image in pixels.
|
|
@height: the height of the image in pixels.
|
|
@depth: the depth of the image, i.e. the number of bits per pixel.
|
|
@bpp: the number of bytes per pixel.
|
|
@bpl: the number of bytes per line of the image.
|
|
@bits_per_pixel:
|
|
@mem: the pixel data.
|
|
@colormap:
|
|
@windowing_data:
|
|
|
|
<!-- ##### FUNCTION gdk_image_new ##### -->
|
|
<para>
|
|
Creates a new #GdkImage.
|
|
</para>
|
|
|
|
@type: the type of the #GdkImage, one of %GDK_IMAGE_NORMAL, %GDK_IMAGE_SHARED
|
|
and %GDK_IMAGE_FASTEST. %GDK_IMAGE_FASTEST is probably the best choice, since
|
|
it will try creating a %GDK_IMAGE_SHARED image first and if that fails it will
|
|
then use %GDK_IMAGE_NORMAL.
|
|
@visual: the #GdkVisual to use for the image.
|
|
@width: the width of the image in pixels.
|
|
@height: the height of the image in pixels.
|
|
@Returns: a new #GdkImage, or NULL if the image could not be created.
|
|
|
|
|
|
<!-- ##### ENUM GdkImageType ##### -->
|
|
<para>
|
|
Specifies the type of a #GdkImage.
|
|
</para>
|
|
|
|
@GDK_IMAGE_NORMAL: The original X image type, which is quite slow since the
|
|
image has to be transferred from the client to the server to display it.
|
|
@GDK_IMAGE_SHARED: A faster image type, which uses shared memory to transfer
|
|
the image data between client and server. However this will only be available
|
|
if client and server are on the same machine and the shared memory extension
|
|
is supported by the server.
|
|
@GDK_IMAGE_FASTEST: Specifies that %GDK_IMAGE_SHARED should be tried first,
|
|
and if that fails then %GDK_IMAGE_NORMAL will be used.
|
|
|
|
<!-- ##### FUNCTION gdk_image_new_bitmap ##### -->
|
|
<para>
|
|
Creates a new #GdkImage with a depth of 1 from the given data.
|
|
<warning><para>THIS FUNCTION IS INCREDIBLY BROKEN. The passed-in data must
|
|
be allocated by malloc() (NOT g_malloc()) and will be freed when the
|
|
image is freed.</para></warning>
|
|
</para>
|
|
|
|
@visual: the #GdkVisual to use for the image.
|
|
@data: the pixel data.
|
|
@width: the width of the image in pixels.
|
|
@height: the height of the image in pixels.
|
|
@Returns: a new #GdkImage.
|
|
|
|
|
|
<!-- ##### FUNCTION gdk_image_get ##### -->
|
|
<para>
|
|
Gets part of a #GdkWindow and stores it in a new #GdkImage.
|
|
</para>
|
|
|
|
@drawable:
|
|
@x: the left edge of the rectangle to copy from @window.
|
|
@y: the top edge of the rectangle to copy from @window.
|
|
@width: the width of the area to copy, in pixels.
|
|
@height: the height of the area to copy, in pixels.
|
|
@Returns: a new #GdkImage with a copy of the given area of @window.
|
|
<!-- # Unused Parameters # -->
|
|
@window: the #GdkWindow to copy from.
|
|
|
|
|
|
<!-- ##### FUNCTION gdk_image_ref ##### -->
|
|
<para>
|
|
|
|
</para>
|
|
|
|
@image:
|
|
@Returns:
|
|
|
|
|
|
<!-- ##### FUNCTION gdk_image_unref ##### -->
|
|
<para>
|
|
|
|
</para>
|
|
|
|
@image:
|
|
|
|
|
|
<!-- ##### MACRO gdk_image_destroy ##### -->
|
|
<para>
|
|
Destroys a #GdkImage, freeing any resources allocated for it.
|
|
</para>
|
|
|
|
<!-- # Unused Parameters # -->
|
|
@image: a #GdkImage.
|
|
|
|
|
|
<!-- ##### FUNCTION gdk_image_put_pixel ##### -->
|
|
<para>
|
|
Sets a pixel in a #GdkImage to a given pixel value.
|
|
</para>
|
|
|
|
@image: a #GdkImage.
|
|
@x: the x coordinate of the pixel to set.
|
|
@y: the y coordinate of the pixel to set.
|
|
@pixel: the pixel value to set.
|
|
|
|
|
|
<!-- ##### FUNCTION gdk_image_get_pixel ##### -->
|
|
<para>
|
|
Gets a pixel value at a specified position in a #GdkImage.
|
|
</para>
|
|
|
|
@image: a #GdkImage.
|
|
@x: the x coordinate of the pixel to get.
|
|
@y: the y coordinate of the pixel to get.
|
|
@Returns: the pixel value at the given position.
|
|
|
|
|