1999-08-16 18:51:52 +00:00
|
|
|
<!-- ##### SECTION Title ##### -->
|
|
|
|
Images
|
|
|
|
|
|
|
|
<!-- ##### SECTION Short_Description ##### -->
|
2001-02-12 17:50:13 +00:00
|
|
|
an area for bit-mapped graphics stored on the X Windows client.
|
1999-08-16 18:51:52 +00:00
|
|
|
|
|
|
|
<!-- ##### SECTION Long_Description ##### -->
|
|
|
|
<para>
|
2001-02-12 17:50:13 +00:00
|
|
|
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().
|
1999-08-16 18:51:52 +00:00
|
|
|
</para>
|
|
|
|
|
|
|
|
<!-- ##### SECTION See_Also ##### -->
|
|
|
|
<para>
|
2001-02-12 17:50:13 +00:00
|
|
|
<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>
|
1999-08-16 18:51:52 +00:00
|
|
|
</para>
|
|
|
|
|
|
|
|
<!-- ##### STRUCT GdkImage ##### -->
|
|
|
|
<para>
|
2001-02-12 17:50:13 +00:00
|
|
|
The #GdkImage struct contains information on the image and the pixel data.
|
1999-08-16 18:51:52 +00:00
|
|
|
</para>
|
|
|
|
|
2000-09-07 18:17:06 +00:00
|
|
|
@parent_instance:
|
2001-02-12 17:50:13 +00:00
|
|
|
@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.
|
2000-09-07 18:17:06 +00:00
|
|
|
@windowing_data:
|
1999-08-16 18:51:52 +00:00
|
|
|
|
2000-02-01 04:27:56 +00:00
|
|
|
<!-- ##### FUNCTION gdk_image_new ##### -->
|
1999-08-16 18:51:52 +00:00
|
|
|
<para>
|
2001-02-12 17:50:13 +00:00
|
|
|
Creates a new #GdkImage.
|
1999-08-16 18:51:52 +00:00
|
|
|
</para>
|
|
|
|
|
2001-02-12 17:50:13 +00:00
|
|
|
@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.
|
1999-08-16 18:51:52 +00:00
|
|
|
|
|
|
|
|
2000-02-01 04:27:56 +00:00
|
|
|
<!-- ##### ENUM GdkImageType ##### -->
|
|
|
|
<para>
|
2001-02-12 17:50:13 +00:00
|
|
|
Specifies the type of a #GdkImage.
|
1999-08-16 18:51:52 +00:00
|
|
|
</para>
|
|
|
|
|
2001-02-12 17:50:13 +00:00
|
|
|
@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.
|
1999-08-16 18:51:52 +00:00
|
|
|
|
2000-02-01 04:27:56 +00:00
|
|
|
<!-- ##### FUNCTION gdk_image_new_bitmap ##### -->
|
1999-08-16 18:51:52 +00:00
|
|
|
<para>
|
2001-02-12 17:50:13 +00:00
|
|
|
Creates a new #GdkImage with a depth of 1 from the given data.
|
voc Pennington <hp@redhat.com>
* gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_previous_line):
(gtk_text_layout_move_iter_to_next_line): fix these two for
invisible text, lots of other stuff still hosed.
* gtk/gtkcolorsel.c (gtk_color_selection_set_change_palette_hook):
new function, replaces the get/set palette stuff. This function
is intended for use by libgnomeui which should set the hook to a
thing which sets the palette in GConf, and we need the
GConf-to-xsettings proxy which will result in the change being
propagated back to the GTK app.
* gtk/gtkaccelgroup.c (gtk_accel_group_add): add note to warning
about unusable signals that it may be because the signal has
parameters.
* gtk/gtkwidget.c (gtk_widget_modify_style): always copy the
style, otherwise gtkrc.c won't know to create a new GtkStyle for
it.
(gtk_widget_modify_color_component): call
gtk_widget_modify_style() so the rc style will get copied.
(gtk_widget_modify_font): ditto
* gtk/gtkrc.c: make a couple variables static
* gtk/gtkcolorseldialog.c (gtk_color_selection_dialog_init): hide
help button by default, since it does nothing
* gtk/gtkcolorsel.c: add tooltips, work on key navigation, fool
around with UI
* gtk/gtkentry.c (gtk_entry_realize): request enter/leave notify
so we can have tooltips
* gtk/gtkhsv.c (gtk_hsv_realize): request enter/leave notify so we
can have tooltips
* gdk/gdkimage.h: mark gdk_image_new_bitmap with
GDK_ENABLE_BROKEN, because its memory behavior is completely
hosed.
* gtk/gtknotebook.c: remove key press handler, replace with
binding set, add numeric keypad support
* gtk/gtktextview.c (gtk_text_view_class_init): accept KP_Delete
* gtk/gtktext.c (gtk_text_key_press): add a bunch of KP keysyms
* gtk/gtkentry.c (gtk_entry_class_init): accept GDK_KP_Delete in
addition to plain Delete
* gtk/gtktextview.c (gtk_text_view_key_press_event): accept
GDK_KP_Enter in addition to GDK_Return
* gtk/gtkfontsel.c (gtk_font_selection_size_key_press): connect to
activate on entry instead of key press
(gtk_font_selection_on_clist_key_press): get
rid of this signal handler, not needed with new font sel.
* gtk/gtkfilesel.c (gtk_file_selection_key_press): remove a
no-longer-needed emit_stop_by_name(), just return TRUE
* gtk/gtkhscrollbar.c, gtk/gtkvscrollbar.c: remove keybindings
cruft, this widget is no longer focusable.
* gtk/gtkrange.h, gtk/gtkrange.c, gtk/gtkvscale.c,
gtk/gtkhscale.c: Get rid of trough_keys virtual function, add
move_slider action signal, add binding set for vscale/hscale, in
the process support numeric keypad
* gtk/gtkentry.c (gtk_entry_class_init): Add keypad bindings;
make GDK_Return and GDK_KP_Enter activate the entry via
binding set, instead of hardcoded.
2001-04-28 20:18:29 +00:00
|
|
|
<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>
|
1999-08-16 18:51:52 +00:00
|
|
|
</para>
|
|
|
|
|
2001-02-12 17:50:13 +00:00
|
|
|
@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.
|
1999-08-16 18:51:52 +00:00
|
|
|
|
|
|
|
|
|
|
|
<!-- ##### FUNCTION gdk_image_get ##### -->
|
|
|
|
<para>
|
2001-02-12 17:50:13 +00:00
|
|
|
Gets part of a #GdkWindow and stores it in a new #GdkImage.
|
1999-08-16 18:51:52 +00:00
|
|
|
</para>
|
|
|
|
|
2000-09-07 18:17:06 +00:00
|
|
|
@drawable:
|
2001-02-12 17:50:13 +00:00
|
|
|
@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.
|
2000-09-07 18:17:06 +00:00
|
|
|
|
|
|
|
|
|
|
|
<!-- ##### FUNCTION gdk_image_ref ##### -->
|
|
|
|
<para>
|
|
|
|
|
|
|
|
</para>
|
|
|
|
|
|
|
|
@image:
|
|
|
|
@Returns:
|
|
|
|
|
|
|
|
|
|
|
|
<!-- ##### FUNCTION gdk_image_unref ##### -->
|
|
|
|
<para>
|
|
|
|
|
|
|
|
</para>
|
|
|
|
|
|
|
|
@image:
|
1999-08-16 18:51:52 +00:00
|
|
|
|
|
|
|
|
2000-09-07 18:17:06 +00:00
|
|
|
<!-- ##### MACRO gdk_image_destroy ##### -->
|
1999-08-16 18:51:52 +00:00
|
|
|
<para>
|
2001-02-12 17:50:13 +00:00
|
|
|
Destroys a #GdkImage, freeing any resources allocated for it.
|
1999-08-16 18:51:52 +00:00
|
|
|
</para>
|
|
|
|
|
2001-02-12 17:50:13 +00:00
|
|
|
<!-- # Unused Parameters # -->
|
|
|
|
@image: a #GdkImage.
|
1999-08-16 18:51:52 +00:00
|
|
|
|
|
|
|
|
2000-02-01 04:27:56 +00:00
|
|
|
<!-- ##### FUNCTION gdk_image_put_pixel ##### -->
|
1999-08-16 18:51:52 +00:00
|
|
|
<para>
|
2001-02-12 17:50:13 +00:00
|
|
|
Sets a pixel in a #GdkImage to a given pixel value.
|
1999-08-16 18:51:52 +00:00
|
|
|
</para>
|
|
|
|
|
2001-02-12 17:50:13 +00:00
|
|
|
@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.
|
1999-08-16 18:51:52 +00:00
|
|
|
|
|
|
|
|
2000-02-01 04:27:56 +00:00
|
|
|
<!-- ##### FUNCTION gdk_image_get_pixel ##### -->
|
1999-08-16 18:51:52 +00:00
|
|
|
<para>
|
2001-02-12 17:50:13 +00:00
|
|
|
Gets a pixel value at a specified position in a #GdkImage.
|
1999-08-16 18:51:52 +00:00
|
|
|
</para>
|
|
|
|
|
2001-02-12 17:50:13 +00:00
|
|
|
@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.
|
1999-08-16 18:51:52 +00:00
|
|
|
|
|
|
|
|