diff --git a/docs/reference/gdk/gdk-decl.txt b/docs/reference/gdk/gdk-decl.txt index 4108b0b2ca..0d40604f54 100644 --- a/docs/reference/gdk/gdk-decl.txt +++ b/docs/reference/gdk/gdk-decl.txt @@ -265,6 +265,11 @@ GdkNativeWindow anid gpointer XID xid + +gdk_x11_get_server_time +guint32 +GdkWindow *window + gdk_window_lookup #define gdk_window_lookup(xid) ((GdkWindow*) gdk_xid_table_lookup (xid)) @@ -2606,39 +2611,6 @@ void void PangoContext *context,GdkColormap *colormap - -GdkPixbufAlphaMode -typedef enum -{ - GDK_PIXBUF_ALPHA_BILEVEL, - GDK_PIXBUF_ALPHA_FULL -} GdkPixbufAlphaMode; - - -gdk_pixbuf_render_threshold_alpha -void -GdkPixbuf *pixbuf,GdkBitmap *bitmap,int src_x,int src_y,int dest_x,int dest_y,int width,int height,int alpha_threshold - - -gdk_pixbuf_render_to_drawable -void -GdkPixbuf *pixbuf,GdkDrawable *drawable,GdkGC *gc,int src_x,int src_y,int dest_x,int dest_y,int width,int height,GdkRgbDither dither,int x_dither,int y_dither - - -gdk_pixbuf_render_to_drawable_alpha -void -GdkPixbuf *pixbuf,GdkDrawable *drawable,int src_x,int src_y,int dest_x,int dest_y,int width,int height,GdkPixbufAlphaMode alpha_mode,int alpha_threshold,GdkRgbDither dither,int x_dither,int y_dither - - -gdk_pixbuf_render_pixmap_and_mask -void -GdkPixbuf *pixbuf,GdkPixmap **pixmap_return,GdkBitmap **mask_return,int alpha_threshold - - -gdk_pixbuf_get_from_drawable -GdkPixbuf * -GdkPixbuf *dest,GdkDrawable *src,GdkColormap *cmap,int src_x,int src_y,int dest_x,int dest_y,int width,int height - GdkPixmapObject @@ -2764,6 +2736,21 @@ GdkWindow *window,GdkAtom property GdkAtom encoding,gint format,const guchar *text,gint length,gchar ***list +gdk_text_property_to_utf8_list +gint +GdkAtom encoding,gint format,const guchar *text,gint length,gchar ***list + + +gdk_utf8_to_string_target +gchar * +const gchar *str + + +gdk_utf8_to_compound_text +gboolean +const gchar *str,GdkAtom *encoding,gint *format,guchar **ctext,gint *length + + gdk_free_text_list void gchar **list @@ -3859,3 +3846,36 @@ GdkWindow *window,gboolean update_children GDK_HAVE_WCTYPE_H #define GDK_HAVE_WCTYPE_H 1 + +GdkPixbufAlphaMode +typedef enum +{ + GDK_PIXBUF_ALPHA_BILEVEL, + GDK_PIXBUF_ALPHA_FULL +} GdkPixbufAlphaMode; + + +gdk_pixbuf_render_threshold_alpha +void +GdkPixbuf *pixbuf,GdkBitmap *bitmap,int src_x,int src_y,int dest_x,int dest_y,int width,int height,int alpha_threshold + + +gdk_pixbuf_render_to_drawable +void +GdkPixbuf *pixbuf,GdkDrawable *drawable,GdkGC *gc,int src_x,int src_y,int dest_x,int dest_y,int width,int height,GdkRgbDither dither,int x_dither,int y_dither + + +gdk_pixbuf_render_to_drawable_alpha +void +GdkPixbuf *pixbuf,GdkDrawable *drawable,int src_x,int src_y,int dest_x,int dest_y,int width,int height,GdkPixbufAlphaMode alpha_mode,int alpha_threshold,GdkRgbDither dither,int x_dither,int y_dither + + +gdk_pixbuf_render_pixmap_and_mask +void +GdkPixbuf *pixbuf,GdkPixmap **pixmap_return,GdkBitmap **mask_return,int alpha_threshold + + +gdk_pixbuf_get_from_drawable +GdkPixbuf * +GdkPixbuf *dest,GdkDrawable *src,GdkColormap *cmap,int src_x,int src_y,int dest_x,int dest_y,int width,int height + diff --git a/docs/reference/gdk/gdk-sections.txt b/docs/reference/gdk/gdk-sections.txt index 44193f11b2..7bb239bcb2 100644 --- a/docs/reference/gdk/gdk-sections.txt +++ b/docs/reference/gdk/gdk-sections.txt @@ -504,8 +504,11 @@ GdkAtom GDK_NONE gdk_text_property_to_text_list gdk_free_text_list +gdk_text_property_to_utf8_list gdk_string_to_compound_text gdk_free_compound_text +gdk_utf8_to_string_target +gdk_utf8_to_compound_text gdk_atom_intern gdk_atom_name gdk_property_get @@ -840,6 +843,7 @@ gdk_xid_table_lookup gdk_window_lookup gdk_pixmap_lookup gdk_font_lookup +gdk_x11_get_server_time GDK_TYPE_GC_X11 diff --git a/docs/reference/gdk/tmpl/properties.sgml b/docs/reference/gdk/tmpl/properties.sgml index d792214a1c..caee1ac68c 100644 --- a/docs/reference/gdk/tmpl/properties.sgml +++ b/docs/reference/gdk/tmpl/properties.sgml @@ -88,6 +88,19 @@ gdk_text_property_to_text_list(). a call to gdk_text_property_to_text_list(). + + + + + +@encoding: +@format: +@text: +@length: +@list: +@Returns: + + Convert a string from the encoding of the current locale @@ -110,6 +123,28 @@ Free the data returned from gdk_string_to_compound_text(). @ctext: The pointer stored in @ctext from a call to gdk_string_to_compound_text(). + + + + + +@str: +@Returns: + + + + + + + +@str: +@encoding: +@format: +@ctext: +@length: +@Returns: + + Find or create an atom corresponding to a given string. diff --git a/docs/reference/gdk/tmpl/x_interaction.sgml b/docs/reference/gdk/tmpl/x_interaction.sgml index 5de1e7e077..740f3911cd 100644 --- a/docs/reference/gdk/tmpl/x_interaction.sgml +++ b/docs/reference/gdk/tmpl/x_interaction.sgml @@ -295,3 +295,12 @@ X Window System Interaction @xid: + + + + + +@window: +@Returns: + + diff --git a/docs/reference/gtk/tmpl/gtkclipboard.sgml b/docs/reference/gtk/tmpl/gtkclipboard.sgml new file mode 100644 index 0000000000..2b46d0c677 --- /dev/null +++ b/docs/reference/gtk/tmpl/gtkclipboard.sgml @@ -0,0 +1,260 @@ + +Clipboards + + +Storing data on Clipboards. + + + + The #GtkClipboard object represents a clipboard of data shared + between different processes or between different widgets in + the same process. Each clipboard is identified by a name encoded as a + #GdkAtom. (Conversion to and from strings can be done with + gdk_atom_intern() and gdk_atom_name().) The default clipboard + corresponds to the CLIPBOARD atom; another commonly used clipboard + is the PRIMARY clipboard, which, in X, traditionally contains + the currently selected text. + + + To support having a number of different formats on the clipboard + at the same time, the clipboard mechanism allows providing + callbacks instead of the actual data. When you set the contents + of the clipboard, you can either supply the data directly (via + functions like gtk_clipboard_set_text()), or you can supply a + callback to be called at a later time when the data is needed (via + gtk_clipboard_set_with_data() or gtk_clipboard_set_with_owner().) + Providing a callback also avoids having to make copies of the data + when it is not needed. + + + gtk_clipboard_set_with_data() and gtk_clipboard_set_with_owner() + are quite similar; the choice between the two depends mostly on + which is more convenient in a particular situation. + The former is most useful when you want to have a blob of data + with callbacks to convert it into the various data types that you + advertise. When the @clear_func you provided is called, you + simply free the data blob. The latter is more useful when the + contents of clipboard reflect the internal state of a @GObject + (As an example, for the PRIMARY clipboard, when an entry widget + provides the clipboard's contents the contents are simply the + text within the selected region.) If the contents change, the + entry widget can call gtk_clipboard_set_with_owner() to update + the timestamp for clipboard ownership, without having to worry + about @clear_func being called. + + + Requesting the data from the clipboard is essentially + asynchronous. If the contents of the clipboard are provided within + the same process, then a direct function call will be made to + retrieve the data, but if they are provided by another process, + then the data needs to be retrieved from the other process, which + may take some time. To avoid blocking the user interface, the call + to request the selection, gtk_clipboard_request_contents() takes a + callback that will be called when the contents are received (or + when the request fails.) If you don't want to deal with providing + a separate callback, you can also use gtk_clipboard_wait_for_contents(). + What this does is run the Glib main loop recursively waiting for + the contents. This can simplify the code flow, but you still have + to be aware that other callbacks in your program can be called + while this recursive mainloop is running. + + + Along with the functions to get the clipboard contents as an + arbitrary data chunk, there are also functions to retrieve + it as text, gtk_clipboard_request_text() and + gtk_clipboard_wait_for_text(). These functions take care of + determining which formats are advertised by the clipboard + provider, asking for the clipboard in the best available format + and converting the results into the UTF-8 encoding. (The standard + form for representing strings in GTK+.) + + + + + + + +#GtkSelection +@GtkClipboard provides a high-level wrapper around the + lower level routines that deal with X selections. It is + also possibly to directly manipulate the X selections, + though it is seldom necessary to do so. + + + + + + + + + + + + + + + + +@selection: +@Returns: + + + + + + + +@clipboard: +@targets: +@n_targets: +@get_func: +@clear_func: +@user_data: +@Returns: + + + + + + + +@clipboard: +@targets: +@n_targets: +@get_func: +@clear_func: +@owner: +@Returns: + + + + +A function that will be called to provide the contents of the selection. +If multiple types of data were advertised, the requested type can +be determined from the @info parameter or by checking the target field +of @selection_data. If the data could succesfully be converted into +then it should be stored into the @selection_data object by +calling gtk_selection_data_set() (or related functions such +as gtk_seletion_data_get().) If no data is set, the requestor +will be informed that the attempt to get the data failed. + + +@clipboard: the #GtkClipboard +@selection_data: a #GtkSelectionData argument in which the requested + data should be stored. +@info: the info field corresponding to the requested + target from the #GtkTargetEntry array passed to + gtk_clipboard_set_with_data() or gtk_clipboard_set_with_owner(). +@user_data_or_owner: the @user_data argument passed to gtk_clipboard_set_with_data(), or + the @owner argument passed to gtk_clipboard_set_owner() + + + +A function that will be called when the contents of the clipboard are changed +or cleared. Once this has called, the @user_data_or_owner argument +will not be used again. + + +@clipboard: the #GtkClipboard +@user_data_or_owner: the @user_data argument passed to gtk_clipboard_set_with_data(), or + the @owner argument passed to gtk_clipboard_set_owner() + + + + + + + +@clipboard: +@Returns: + + + + + + + +@clipboard: + + + + + + + +@clipboard: +@text: +@len: + + + + + + + +@clipboard: +@target: +@callback: +@user_data: + + + + + A function to be called when the results of gtk_clipboard_request_text() + are received, or when the request fails. + + +@clipboard: the #GtkClipboard +@selection_data: a #GtkSelectionData containing the data was received. + If retrieving the data failed, then then length field + of @selection_data will be negative. +@data: the @user_data supplied to gtk_clipboard_request_contents(). + + + + + + + +@clipboard: +@callback: +@user_data: + + + + + A function to be called when the results of gtk_clipboard_request_text() + are received, or when the request fails. + + +@clipboard: the #GtkClipboard +@text: the text received, as a UTF-8 encoded string, or %NULL + if retrieving the data failed. +@data: the @user_data supplied to gtk_clipboard_request_text(). + + + + + + + +@clipboard: +@target: +@Returns: + + + + + + + +@clipboard: +@Returns: + + + diff --git a/docs/reference/gtk/tmpl/gtkselection.sgml b/docs/reference/gtk/tmpl/gtkselection.sgml index a819f84cab..eaeb6e1987 100644 --- a/docs/reference/gtk/tmpl/gtkselection.sgml +++ b/docs/reference/gtk/tmpl/gtkselection.sgml @@ -7,12 +7,37 @@ Functions for handling inter-process communication via selections. -See the documentation for #GtkWidget for descriptions -of the "selection_get" and "selection_received" signals. +The selection mechanism provides the basis for different types +of IPC between processes. In particular, drag and drop and +#GtkClipboard work via selections. You will very seldom or +never need to use most of the functions in this section directly; +#GtkClipboard provides a nicer interface to the same functionality. + + +Some of the datatypes defined this section are used in +the #GtkClipboard and drag-and-drop API's as well. The +#GtkTargetEntry structure and #GtkTargetList objects represent +lists of data types that are supported when sending or +receiving data. The #GtkSelectionData object is used to +store a chunk of data along with the data type and other +associated information. + + + +#GtkWidget +Much of the operation of selections happens via + signals for #GtkWidget. In particular, if you are + using the functions in this section, you may need + to pay attention to ::selection_get, + ::selection_received, and :selection_clear_event + signals. + + + @@ -159,6 +184,15 @@ for a given widget and selection. @ntargets: number of entries in @targets + + + + + +@widget: +@selection: + + Request the contents of a selection. When received, @@ -175,6 +209,29 @@ a "selection_received" signal will be generated. this widget). + + +Removes all handlers and unsets ownership of all +selections for a widget. Called when widget is being +destroyed. This function will not generally be +called by applications. + + +@widget: a #GtkWidget + + + + + + + +@selection: +@target: +@type: +@format: +@data: +@length: + Store new data into a GtkSelectionData object. Should @@ -189,15 +246,23 @@ Null terminates the stored data. @length: length of the data - + -Removes all handlers and unsets ownership of all -selections for a widget. Called when widget is being -destroyed. This function will not generally be -called by applications. + -@widget: a #GtkWidget +@selection_data: +@str: +@Returns: + + + + + + + +@selection_data: +@Returns: