From 41e741c79921d77fe46fc2778899d6553b8b6a11 Mon Sep 17 00:00:00 2001 From: Alan Knowles Date: Mon, 20 Sep 2010 23:41:32 +0800 Subject: [PATCH] girs --- Atk-1.0.gir | 9920 ++++ Avahi-0.6.gir | 940 + AvahiCore-0.6.gir | 59 + Babl-0.1.gir | 97 + Cally-1.0.gir | 633 + Clutter-1.0.gir | 33384 +++++++++++++ ClutterJson-1.0.gir | 1276 + Cogl-1.0.gir | 7001 +++ DBus-1.0.gir | 30 + DBusGLib-1.0.gir | 16 + Everything-1.0.gir | 2364 + GConf-2.0.gir | 2675 + GIMarshallingTests-1.0.gir | 3611 ++ GIRepository-2.0.gir | 3123 ++ GL-1.0.gir | 29 + GLib-2.0.gir | 18601 +++++++ GMenu-2.0.gir | 389 + GModule-2.0.gir | 108 + GObject-2.0.gir | 6230 +++ GSSDP-1.0.gir | 545 + Gda-4.0.gir | 18410 +++++++ Gdaui-4.0.gir | 4561 ++ Gdk-2.0.gir | 23493 +++++++++ GdkPixbuf-2.0.gir | 2832 ++ Gio-2.0.gir | 31942 ++++++++++++ GooCanvas-0.10.gir | 7447 +++ Gst-0.10.gir | 23425 +++++++++ GstBase-0.10.gir | 4187 ++ GstCheck-0.10.gir | 836 + GstController-0.10.gir | 867 + GstFft-0.10.gir | 418 + GstNet-0.10.gir | 254 + GstNetbuffer-0.10.gir | 251 + GstPbutils-0.10.gir | 442 + GstRiff-0.10.gir | 937 + GstRtp-0.10.gir | 2275 + GstRtsp-0.10.gir | 2479 + GstSdp-0.10.gir | 898 + GstTag-0.10.gir | 667 + GstVideo-0.10.gir | 803 + Gtk-2.0.gir | 93220 +++++++++++++++++++++++++++++++++++ GtkClutter-0.10.gir | 884 + GtkClutter-0.90.gir | 1459 + GtkClutter-1.0.gir | 785 + GtkSource-2.0.gir | 6063 +++ Gtop-2.0.gir | 3618 ++ JSCore-1.0.gir | 18 + Midgard-10.05.gir | 8811 ++++ Notify-0.4.gir | 497 + PanelApplet-3.0.gir | 618 + Pango-1.0.gir | 7936 +++ PangoCairo-1.0.gir | 872 + PangoFT2-1.0.gir | 674 + PangoXft-1.0.gir | 538 + Peas-1.0.gir | 940 + Polkit-1.0.gir | 1775 + Poppler-0.8.gir | 2726 + Soup-2.4.gir | 7863 +++ SoupGNOME-2.4.gir | 147 + TelepathyGLib-0.12.gir | 13330 +++++ Unique-1.0.gir | 632 + Vte-1.0.gir | 2360 + WebKit-1.0.gir | 4120 ++ Wnck-1.0.gir | 2840 ++ cairo-1.0.gir | 37 + fontconfig-2.0.gir | 16 + freetype2-2.0.gir | 18 + libxml2-2.0.gir | 22 + xfixes-4.0.gir | 8 + xft-2.0.gir | 20 + xlib-2.0.gir | 38 + xrandr-1.3.gir | 14 + 72 files changed, 381354 insertions(+) create mode 100644 Atk-1.0.gir create mode 100644 Avahi-0.6.gir create mode 100644 AvahiCore-0.6.gir create mode 100644 Babl-0.1.gir create mode 100644 Cally-1.0.gir create mode 100644 Clutter-1.0.gir create mode 100644 ClutterJson-1.0.gir create mode 100644 Cogl-1.0.gir create mode 100644 DBus-1.0.gir create mode 100644 DBusGLib-1.0.gir create mode 100644 Everything-1.0.gir create mode 100644 GConf-2.0.gir create mode 100644 GIMarshallingTests-1.0.gir create mode 100644 GIRepository-2.0.gir create mode 100644 GL-1.0.gir create mode 100644 GLib-2.0.gir create mode 100644 GMenu-2.0.gir create mode 100644 GModule-2.0.gir create mode 100644 GObject-2.0.gir create mode 100644 GSSDP-1.0.gir create mode 100644 Gda-4.0.gir create mode 100644 Gdaui-4.0.gir create mode 100644 Gdk-2.0.gir create mode 100644 GdkPixbuf-2.0.gir create mode 100644 Gio-2.0.gir create mode 100644 GooCanvas-0.10.gir create mode 100644 Gst-0.10.gir create mode 100644 GstBase-0.10.gir create mode 100644 GstCheck-0.10.gir create mode 100644 GstController-0.10.gir create mode 100644 GstFft-0.10.gir create mode 100644 GstNet-0.10.gir create mode 100644 GstNetbuffer-0.10.gir create mode 100644 GstPbutils-0.10.gir create mode 100644 GstRiff-0.10.gir create mode 100644 GstRtp-0.10.gir create mode 100644 GstRtsp-0.10.gir create mode 100644 GstSdp-0.10.gir create mode 100644 GstTag-0.10.gir create mode 100644 GstVideo-0.10.gir create mode 100644 Gtk-2.0.gir create mode 100644 GtkClutter-0.10.gir create mode 100644 GtkClutter-0.90.gir create mode 100644 GtkClutter-1.0.gir create mode 100644 GtkSource-2.0.gir create mode 100644 Gtop-2.0.gir create mode 100644 JSCore-1.0.gir create mode 100644 Midgard-10.05.gir create mode 100644 Notify-0.4.gir create mode 100644 PanelApplet-3.0.gir create mode 100644 Pango-1.0.gir create mode 100644 PangoCairo-1.0.gir create mode 100644 PangoFT2-1.0.gir create mode 100644 PangoXft-1.0.gir create mode 100644 Peas-1.0.gir create mode 100644 Polkit-1.0.gir create mode 100644 Poppler-0.8.gir create mode 100644 Soup-2.4.gir create mode 100644 SoupGNOME-2.4.gir create mode 100644 TelepathyGLib-0.12.gir create mode 100644 Unique-1.0.gir create mode 100644 Vte-1.0.gir create mode 100644 WebKit-1.0.gir create mode 100644 Wnck-1.0.gir create mode 100644 cairo-1.0.gir create mode 100644 fontconfig-2.0.gir create mode 100644 freetype2-2.0.gir create mode 100644 libxml2-2.0.gir create mode 100644 xfixes-4.0.gir create mode 100644 xft-2.0.gir create mode 100644 xlib-2.0.gir create mode 100644 xrandr-1.3.gir diff --git a/Atk-1.0.gir b/Atk-1.0.gir new file mode 100644 index 0000000..e4d5652 --- /dev/null +++ b/Atk-1.0.gir @@ -0,0 +1,9920 @@ + + + + + + + + + + + Perform the specified action on the object. + + %TRUE if success, %FALSE otherwise + + + + + the action index corresponding to the action to be performed + + + + + + Gets the number of accessible actions available on the object. +If there are more than one, the first one is considered the +"default" action of the object. +implement this interface. + + a the number of actions, or 0 if @action does not + + + + + Returns a description of the specified action of the object. +Returns a description string, or %NULL +if @action does not implement this interface. + + + + + + the action index corresponding to the action to be performed + + + + + + Returns a non-localized string naming the specified action of the +object. This name is generally not descriptive of the end result +of the action, but instead names the 'interaction type' which the +object supports. By convention, the above strings should be used to +represent the actions which correspond to the common point-and-click +"click", "press", "release", "drag", "drop", "popup", etc. +The "popup" action should be used to pop up a context menu for the +object, if one exists. +For technical reasons, some toolkits cannot guarantee that the +reported action is actually 'bound' to a nontrivial user event; +i.e. the result of some actions via atk_action_do_action() may be +NIL. +Returns a name string, or %NULL +if @action does not implement this interface. + + + + + + the action index corresponding to the action to be performed + + + + + + Returns a keybinding associated with this action, if one exists. +The returned string is in the format "<a>;<b>;<c>" +(i.e. semicolon-delimited), where <a> is the keybinding which +activates the object if it is presently enabled onscreen, +<b> corresponds to the keybinding or sequence of keys +which invokes the action even if the relevant element is not +currently posted on screen (for instance, for a menu item it +posts the parent menus before invoking). The last token in the +above string, if non-empty, represents a keyboard shortcut which +invokes the same action without posting the component or its +enclosing menus or dialogs. +Returns a string representing the available keybindings, or %NULL +if there is no keybinding for this action. + + + + + + the action index corresponding to the action to be performed + + + + + + Sets a description of the specified action of the object. + + a gboolean representing if the description was successfully set; + + + + + the action index corresponding to the action to be performed + + + + the description to be assigned to this action + + + + + + Returns the localized name of the specified action of the object. +Returns a name string, or %NULL +if @action does not implement this interface. + + + + + + the action index corresponding to the action to be performed + + + + + + Perform the specified action on the object. + + %TRUE if success, %FALSE otherwise + + + + + the action index corresponding to the action to be performed + + + + + + Gets the number of accessible actions available on the object. +If there are more than one, the first one is considered the +"default" action of the object. +implement this interface. + + a the number of actions, or 0 if @action does not + + + + + Returns a description of the specified action of the object. +Returns a description string, or %NULL +if @action does not implement this interface. + + + + + + the action index corresponding to the action to be performed + + + + + + Returns a non-localized string naming the specified action of the +object. This name is generally not descriptive of the end result +of the action, but instead names the 'interaction type' which the +object supports. By convention, the above strings should be used to +represent the actions which correspond to the common point-and-click +"click", "press", "release", "drag", "drop", "popup", etc. +The "popup" action should be used to pop up a context menu for the +object, if one exists. +For technical reasons, some toolkits cannot guarantee that the +reported action is actually 'bound' to a nontrivial user event; +i.e. the result of some actions via atk_action_do_action() may be +NIL. +Returns a name string, or %NULL +if @action does not implement this interface. + + + + + + the action index corresponding to the action to be performed + + + + + + Returns a keybinding associated with this action, if one exists. +The returned string is in the format "<a>;<b>;<c>" +(i.e. semicolon-delimited), where <a> is the keybinding which +activates the object if it is presently enabled onscreen, +<b> corresponds to the keybinding or sequence of keys +which invokes the action even if the relevant element is not +currently posted on screen (for instance, for a menu item it +posts the parent menus before invoking). The last token in the +above string, if non-empty, represents a keyboard shortcut which +invokes the same action without posting the component or its +enclosing menus or dialogs. +Returns a string representing the available keybindings, or %NULL +if there is no keybinding for this action. + + + + + + the action index corresponding to the action to be performed + + + + + + Sets a description of the specified action of the object. + + a gboolean representing if the description was successfully set; + + + + + the action index corresponding to the action to be performed + + + + the description to be assigned to this action + + + + + + Returns the localized name of the specified action of the object. +Returns a name string, or %NULL +if @action does not implement this interface. + + + + + + the action index corresponding to the action to be performed + + + + + + + + + + + + + %TRUE if success, %FALSE otherwise + + + + + + + + the action index corresponding to the action to be performed + + + + + + + + + a the number of actions, or 0 if @action does not + + + + + + + + + + + + + + + + + + + + the action index corresponding to the action to be performed + + + + + + + + + + + + + + + + the action index corresponding to the action to be performed + + + + + + + + + + + + + + + + the action index corresponding to the action to be performed + + + + + + + + + a gboolean representing if the description was successfully set; + + + + + + + + the action index corresponding to the action to be performed + + + + the description to be assigned to this action + + + + + + + + + + + + + + + + the action index corresponding to the action to be performed + + + + + + + + + + + A string name/value pair representing a text attribute. + + + + + + + + + + Add the specified handler to the set of functions to be called +when this object receives focus events (in or out). If the handler is +already added it is not added again +or zero if the handler was already added. + + a handler id which can be used in atk_component_remove_focus_handler + + + + + The #AtkFocusHandler to be attached to @component + + + + + + Checks whether the specified point is within the extent of the @component. +the extent of the @component or not + + %TRUE or %FALSE indicating whether the specified point is within + + + + + x coordinate + + + + y coordinate + + + + specifies whether the coordinates are relative to the screen or to the components top level window + + + + + + Gets a reference to the accessible child, if one exists, at the +coordinate point specified by @x and @y. + + a reference to the accessible child, if one exists + + + + + x coordinate + + + + y coordinate + + + + specifies whether the coordinates are relative to the screen or to the components top level window + + + + + + Gets the rectangle which gives the extent of the @component. + + + + + + address of #gint to put x coordinate + + + + address of #gint to put y coordinate + + + + address of #gint to put width + + + + address of #gint to put height + + + + specifies whether the coordinates are relative to the screen or to the components top level window + + + + + + Gets the position of @component in the form of +a point specifying @component's top-left corner. + + + + + + address of #gint to put x coordinate position + + + + address of #gint to put y coordinate position + + + + specifies whether the coordinates are relative to the screen or to the components top level window + + + + + + Gets the size of the @component in terms of width and height. + + + + + + address of #gint to put width of @component + + + + address of #gint to put height of @component + + + + + + Grabs focus for this @component. + + %TRUE if successful, %FALSE otherwise. + + + + + Remove the handler specified by @handler_id from the list of +functions to be executed when this object receives focus events +(in or out). + + + + + + the handler id of the focus handler to be removed from @component + + + + + + Sets the extents of @component. + + %TRUE or %FALSE whether the extents were set or not + + + + + x coordinate + + + + y coordinate + + + + width to set for @component + + + + height to set for @component + + + + specifies whether the coordinates are relative to the screen or to the components top level window + + + + + + Sets the postition of @component. + + %TRUE or %FALSE whether or not the position was set or not + + + + + x coordinate + + + + y coordinate + + + + specifies whether the coordinates are relative to the screen or to the components top level window + + + + + + Set the size of the @component in terms of width and height. + + %TRUE or %FALSE whether the size was set or not + + + + + width to set for @component + + + + height to set for @component + + + + + + Gets the layer of the component. + + an #AtkLayer which is the layer of the component + + + + + Gets the zorder of the component. The value G_MININT will be returned +if the layer of the component is not ATK_LAYER_MDI or ATK_LAYER_WINDOW. +which the component is shown in relation to other components in the same +container. + + a gint which is the zorder of the component, i.e. the depth at + + + + + Returns the alpha value (i.e. the opacity) for this +(fully opaque). + + An alpha value from 0 to 1.0, inclusive. + + + + + Add the specified handler to the set of functions to be called +when this object receives focus events (in or out). If the handler is +already added it is not added again +or zero if the handler was already added. + + a handler id which can be used in atk_component_remove_focus_handler + + + + + The #AtkFocusHandler to be attached to @component + + + + + + Checks whether the specified point is within the extent of the @component. +the extent of the @component or not + + %TRUE or %FALSE indicating whether the specified point is within + + + + + x coordinate + + + + y coordinate + + + + specifies whether the coordinates are relative to the screen or to the components top level window + + + + + + Gets a reference to the accessible child, if one exists, at the +coordinate point specified by @x and @y. + + a reference to the accessible child, if one exists + + + + + x coordinate + + + + y coordinate + + + + specifies whether the coordinates are relative to the screen or to the components top level window + + + + + + Gets the rectangle which gives the extent of the @component. + + + + + + address of #gint to put x coordinate + + + + address of #gint to put y coordinate + + + + address of #gint to put width + + + + address of #gint to put height + + + + specifies whether the coordinates are relative to the screen or to the components top level window + + + + + + Gets the position of @component in the form of +a point specifying @component's top-left corner. + + + + + + address of #gint to put x coordinate position + + + + address of #gint to put y coordinate position + + + + specifies whether the coordinates are relative to the screen or to the components top level window + + + + + + Gets the size of the @component in terms of width and height. + + + + + + address of #gint to put width of @component + + + + address of #gint to put height of @component + + + + + + Gets the layer of the component. + + an #AtkLayer which is the layer of the component + + + + + Gets the zorder of the component. The value G_MININT will be returned +if the layer of the component is not ATK_LAYER_MDI or ATK_LAYER_WINDOW. +which the component is shown in relation to other components in the same +container. + + a gint which is the zorder of the component, i.e. the depth at + + + + + Grabs focus for this @component. + + %TRUE if successful, %FALSE otherwise. + + + + + Remove the handler specified by @handler_id from the list of +functions to be executed when this object receives focus events +(in or out). + + + + + + the handler id of the focus handler to be removed from @component + + + + + + Sets the extents of @component. + + %TRUE or %FALSE whether the extents were set or not + + + + + x coordinate + + + + y coordinate + + + + width to set for @component + + + + height to set for @component + + + + specifies whether the coordinates are relative to the screen or to the components top level window + + + + + + Sets the postition of @component. + + %TRUE or %FALSE whether or not the position was set or not + + + + + x coordinate + + + + y coordinate + + + + specifies whether the coordinates are relative to the screen or to the components top level window + + + + + + Set the size of the @component in terms of width and height. + + %TRUE or %FALSE whether the size was set or not + + + + + width to set for @component + + + + height to set for @component + + + + + + Returns the alpha value (i.e. the opacity) for this +(fully opaque). + + An alpha value from 0 to 1.0, inclusive. + + + + + + + + + + + + + + + + + + + + + + a handler id which can be used in atk_component_remove_focus_handler + + + + + + + + The #AtkFocusHandler to be attached to @component + + + + + + + + + %TRUE or %FALSE indicating whether the specified point is within + + + + + + + + x coordinate + + + + y coordinate + + + + specifies whether the coordinates are relative to the screen or to the components top level window + + + + + + + + + a reference to the accessible child, if one exists + + + + + + + + x coordinate + + + + y coordinate + + + + specifies whether the coordinates are relative to the screen or to the components top level window + + + + + + + + + + + + + + + + address of #gint to put x coordinate + + + + address of #gint to put y coordinate + + + + address of #gint to put width + + + + address of #gint to put height + + + + specifies whether the coordinates are relative to the screen or to the components top level window + + + + + + + + + + + + + + + + address of #gint to put x coordinate position + + + + address of #gint to put y coordinate position + + + + specifies whether the coordinates are relative to the screen or to the components top level window + + + + + + + + + + + + + + + + address of #gint to put width of @component + + + + address of #gint to put height of @component + + + + + + + + + %TRUE if successful, %FALSE otherwise. + + + + + + + + + + + + + + + + + + + + the handler id of the focus handler to be removed from @component + + + + + + + + + %TRUE or %FALSE whether the extents were set or not + + + + + + + + x coordinate + + + + y coordinate + + + + width to set for @component + + + + height to set for @component + + + + specifies whether the coordinates are relative to the screen or to the components top level window + + + + + + + + + %TRUE or %FALSE whether or not the position was set or not + + + + + + + + x coordinate + + + + y coordinate + + + + specifies whether the coordinates are relative to the screen or to the components top level window + + + + + + + + + %TRUE or %FALSE whether the size was set or not + + + + + + + + width to set for @component + + + + height to set for @component + + + + + + + + + an #AtkLayer which is the layer of the component + + + + + + + + + + + + + a gint which is the zorder of the component, i.e. the depth at + + + + + + + + + + + + + + + + + + + + + + + + + + + + An alpha value from 0 to 1.0, inclusive. + + + + + + + + + + + + + + + + + Gets a string indicating the document type. + + a string indicating the document type + + + + + Gets a %gpointer that points to an instance of the DOM. It is +up to the caller to check atk_document_get_type to determine +how to cast this pointer. + + a %gpointer that points to an instance of the DOM. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Gets a string indicating the document type. + + a string indicating the document type + + + + + Gets a %gpointer that points to an instance of the DOM. It is +up to the caller to check atk_document_get_type to determine +how to cast this pointer. + + a %gpointer that points to an instance of the DOM. + + + + + Gets a UTF-8 string indicating the POSIX-style LC_MESSAGES locale +of the content of this document instance. Individual +text substrings or images within this document may have +a different locale, see atk_text_get_attributes and +atk_image_get_image_locale. +locale of the document content as a whole, or NULL if +the document content does not specify a locale. + + a UTF-8 string indicating the POSIX-style LC_MESSAGES + + + + + Gets an AtkAttributeSet which describes document-wide +attributes as name-value pairs. +set name-value-pair attributes associated with this document +as a whole. + + An AtkAttributeSet containing the explicitly + + + + + document, or NULL if a value for #attribute_name has not been specified +for this document. + + a string value associated with the named attribute for this + + + + + a character string representing the name of the attribute whose value is being queried. + + + + + + for this document, FALSE otherwise (e.g. if the document does not +allow the attribute to be modified). + + TRUE if #value is successfully associated with #attribute_name + + + + + a character string representing the name of the attribute whose value is being set. + + + + a string value to be associated with #attribute_name. + + + + + + + + + + + + + + + + + + + + + + + + + + + + a string indicating the document type + + + + + + + + + + + + + a %gpointer that points to an instance of the DOM. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Set text contents of @text. + + + + + + string to set for text contents of @text + + + + + + Insert text at a given position. + + + + + + the text to insert + + + + the length of text to insert, in bytes + + + + The caller initializes this to the position at which to insert the text. After the call it points at the position after the newly inserted text. + + + + + + Copy text from @start_pos up to, but not including @end_pos +to the clipboard. + + + + + + start position + + + + end position + + + + + + Copy text from @start_pos up to, but not including @end_pos +to the clipboard and then delete from the widget. + + + + + + start position + + + + end position + + + + + + Delete text @start_pos up to, but not including @end_pos. + + + + + + start position + + + + end position + + + + + + Paste text from clipboard to specified @position. + + + + + + position to paste + + + + + + + + + + + + + + + + + + + + + + Set text contents of @text. + + + + + + string to set for text contents of @text + + + + + + Insert text at a given position. + + + + + + the text to insert + + + + the length of text to insert, in bytes + + + + The caller initializes this to the position at which to insert the text. After the call it points at the position after the newly inserted text. + + + + + + Copy text from @start_pos up to, but not including @end_pos +to the clipboard. + + + + + + start position + + + + end position + + + + + + Copy text from @start_pos up to, but not including @end_pos +to the clipboard and then delete from the widget. + + + + + + start position + + + + end position + + + + + + Delete text @start_pos up to, but not including @end_pos. + + + + + + start position + + + + end position + + + + + + Paste text from clipboard to specified @position. + + + + + + position to paste + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + string to set for text contents of @text + + + + + + + + + + + + + + + + the text to insert + + + + the length of text to insert, in bytes + + + + The caller initializes this to the position at which to insert the text. After the call it points at the position after the newly inserted text. + + + + + + + + + + + + + + + + start position + + + + end position + + + + + + + + + + + + + + + + start position + + + + end position + + + + + + + + + + + + + + + + start position + + + + end position + + + + + + + + + + + + + + + + position to paste + + + + + + + + + + + + + + A function which is called when an object emits a matching event, +as used in #atk_add_focus_tracker. +Currently the only events for which object-specific handlers are +supported are events of type "focus:". Most clients of ATK will prefer to +attach signal handlers for the various ATK signals instead. + + + + + + An #AtkObject instance for whom the callback will be called when the specified event (e.g. 'focus:') takes place. + + + + + + An #AtkEventListenerInit function is a special function that is +called in order to initialize the per-object event registration system +used by #AtkEventListener, if any preparation is required. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Gets the accessible object for the specified @obj. + + a #AtkObject which is the accessible object for the @obj + + + + + a #GObject + + + + + + Gets the GObject for which @obj is the accessible object. + + a #GObject which is the object for which @obj is the accessible object + + + + + + + + + + + + + + + + + + + + + + Get a the URI associated with the anchor specified +by @i of @link_. +Multiple anchors are primarily used by client-side image maps. + + a string specifying the URI + + + + + a (zero-index) integer specifying the desired anchor + + + + + + Returns the item associated with this hyperlinks nth anchor. +For instance, the returned #AtkObject will implement #AtkText +if @link_ is a text hyperlink, #AtkImage if @link_ is an image +hyperlink etc. +Multiple anchors are primarily used by client-side image maps. + + an #AtkObject associated with this hyperlinks i-th anchor + + + + + a (zero-index) integer specifying the desired anchor + + + + + + Gets the index with the hypertext document at which this link ends. + + the index with the hypertext document at which this link ends + + + + + Gets the index with the hypertext document at which this link begins. + + the index with the hypertext document at which this link begins + + + + + Since the document that a link is associated with may have changed +this method returns %TRUE if the link is still valid (with +respect to the document it references) and %FALSE otherwise. + + whether or not this link is still valid + + + + + Gets the number of anchors associated with this hyperlink. + + the number of anchors associated with this hyperlink + + + + + + + + + + + + + + + Get a the URI associated with the anchor specified +by @i of @link_. +Multiple anchors are primarily used by client-side image maps. + + a string specifying the URI + + + + + a (zero-index) integer specifying the desired anchor + + + + + + Returns the item associated with this hyperlinks nth anchor. +For instance, the returned #AtkObject will implement #AtkText +if @link_ is a text hyperlink, #AtkImage if @link_ is an image +hyperlink etc. +Multiple anchors are primarily used by client-side image maps. + + an #AtkObject associated with this hyperlinks i-th anchor + + + + + a (zero-index) integer specifying the desired anchor + + + + + + Gets the index with the hypertext document at which this link ends. + + the index with the hypertext document at which this link ends + + + + + Gets the index with the hypertext document at which this link begins. + + the index with the hypertext document at which this link begins + + + + + Since the document that a link is associated with may have changed +this method returns %TRUE if the link is still valid (with +respect to the document it references) and %FALSE otherwise. + + whether or not this link is still valid + + + + + Indicates whether the link currently displays some or all of its +content inline. Ordinary HTML links will usually return +%FALSE, but an inline &lt;src&gt; HTML element will return +%TRUE. + + whether or not this link displays its content inline. + + + + + Gets the number of anchors associated with this hyperlink. + + the number of anchors associated with this hyperlink + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + a string specifying the URI + + + + + + + + a (zero-index) integer specifying the desired anchor + + + + + + + + + an #AtkObject associated with this hyperlinks i-th anchor + + + + + + + + a (zero-index) integer specifying the desired anchor + + + + + + + + + the index with the hypertext document at which this link ends + + + + + + + + + + + + + the index with the hypertext document at which this link begins + + + + + + + + + + + + + whether or not this link is still valid + + + + + + + + + + + + + the number of anchors associated with this hyperlink + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Gets the hyperlink associated with this object. +Returns an AtkHyperlink object which points to this implementing AtkObject. + + + + + + Gets the hyperlink associated with this object. +Returns an AtkHyperlink object which points to this implementing AtkObject. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Gets the link in this hypertext document at index +index @link_index + + the link in this hypertext document at + + + + + an integer specifying the desired link + + + + + + Gets the number of links within this hypertext document. + + the number of links within this hypertext document + + + + + Gets the index into the array of hyperlinks that is associated with +the character specified by @char_index. +or -1 if there is no hyperlink associated with this character. + + an index into the array of hyperlinks in @hypertext, + + + + + a character index + + + + + + Gets the link in this hypertext document at index +index @link_index + + the link in this hypertext document at + + + + + an integer specifying the desired link + + + + + + Gets the number of links within this hypertext document. + + the number of links within this hypertext document + + + + + Gets the index into the array of hyperlinks that is associated with +the character specified by @char_index. +or -1 if there is no hyperlink associated with this character. + + an index into the array of hyperlinks in @hypertext, + + + + + a character index + + + + + + + + + + + + + + + + + + + + + + + the link in this hypertext document at + + + + + + + + an integer specifying the desired link + + + + + + + + + the number of links within this hypertext document + + + + + + + + + + + + + an index into the array of hyperlinks in @hypertext, + + + + + + + + a character index + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Gets the position of the image in the form of a point specifying the +images top-left corner. + + + + + + address of #gint to put x coordinate position; otherwise, -1 if value cannot be obtained. + + + + address of #gint to put y coordinate position; otherwise, -1 if value cannot be obtained. + + + + specifies whether the coordinates are relative to the screen or to the components top level window + + + + + + Get a textual description of this image. + + a string representing the image description + + + + + Get the width and height in pixels for the specified image. +The values of @width and @height are returned as -1 if the +values cannot be obtained (for instance, if the object is not onscreen). + + + + + + filled with the image width, or -1 if the value cannot be obtained. + + + + filled with the image height, or -1 if the value cannot be obtained. + + + + + + Sets the textual description for this image. +not be completed. + + boolean TRUE, or FALSE if operation could + + + + + a string description to set for @image + + + + + + Since ATK 1.12 +Returns a string corresponding to the POSIX LC_MESSAGES locale used by the image description, or NULL if the image does not specify a locale. + + + + + + Get a textual description of this image. + + a string representing the image description + + + + + Get the width and height in pixels for the specified image. +The values of @width and @height are returned as -1 if the +values cannot be obtained (for instance, if the object is not onscreen). + + + + + + filled with the image width, or -1 if the value cannot be obtained. + + + + filled with the image height, or -1 if the value cannot be obtained. + + + + + + Sets the textual description for this image. +not be completed. + + boolean TRUE, or FALSE if operation could + + + + + a string description to set for @image + + + + + + Gets the position of the image in the form of a point specifying the +images top-left corner. + + + + + + address of #gint to put x coordinate position; otherwise, -1 if value cannot be obtained. + + + + address of #gint to put y coordinate position; otherwise, -1 if value cannot be obtained. + + + + specifies whether the coordinates are relative to the screen or to the components top level window + + + + + + Since ATK 1.12 +Returns a string corresponding to the POSIX LC_MESSAGES locale used by the image description, or NULL if the image does not specify a locale. + + + + + + + + + + + + + + + + + + + + address of #gint to put x coordinate position; otherwise, -1 if value cannot be obtained. + + + + address of #gint to put y coordinate position; otherwise, -1 if value cannot be obtained. + + + + specifies whether the coordinates are relative to the screen or to the components top level window + + + + + + + + + a string representing the image description + + + + + + + + + + + + + + + + + + + + filled with the image width, or -1 if the value cannot be obtained. + + + + filled with the image height, or -1 if the value cannot be obtained. + + + + + + + + + boolean TRUE, or FALSE if operation could + + + + + + + + a string description to set for @image + + + + + + + + + + + + + + + + + + + + + + + + + + Gets a reference to an object's #AtkObject implementation, if +the object implements #AtkObjectIface + + a reference to an object's #AtkObject implementation + + + + + + Encapsulates information about a key event. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + An #AtkKeySnoopFunc is a type of callback which is called whenever a key event occurs, +if registered via atk_add_key_event_listener. It allows for pre-emptive +interception of key events via the return code as described below. +discarded without being passed to the normal GUI recipient; FALSE (zero) if the +event dispatch to the client application should proceed as normal. + + TRUE (nonzero) if the event emission should be stopped and the event + + + + + an AtkKeyEventStruct containing information about the key event for which notification is being given. + + + + a block of data which will be passed to the event listener, on notification. + + + + + + + + + + + + + + + + + Obtain the singleton instance of AtkMisc for this application. + + The singleton instance of AtkMisc for this application. + + + + + Take the thread mutex for the GUI toolkit, +if one exists. +(This method is implemented by the toolkit ATK implementation layer; +for instance, for GTK+, GAIL implements this via GDK_THREADS_ENTER). + + + + + + Release the thread mutex for the GUI toolkit, +if one exists. This method, and atk_misc_threads_enter, +are needed in some situations by threaded application code which +services ATK requests, since fulfilling ATK requests often +requires calling into the GUI toolkit. If a long-running or +potentially blocking call takes place inside such a block, it should +be bracketed by atk_misc_threads_leave/atk_misc_threads_enter calls. +(This method is implemented by the toolkit ATK implementation layer; +for instance, for GTK+, GAIL implements this via GDK_THREADS_LEAVE). + + + + + + Take the thread mutex for the GUI toolkit, +if one exists. +(This method is implemented by the toolkit ATK implementation layer; +for instance, for GTK+, GAIL implements this via GDK_THREADS_ENTER). + + + + + + Release the thread mutex for the GUI toolkit, +if one exists. This method, and atk_misc_threads_enter, +are needed in some situations by threaded application code which +services ATK requests, since fulfilling ATK requests often +requires calling into the GUI toolkit. If a long-running or +potentially blocking call takes place inside such a block, it should +be bracketed by atk_misc_threads_leave/atk_misc_threads_enter calls. +(This method is implemented by the toolkit ATK implementation layer; +for instance, for GTK+, GAIL implements this via GDK_THREADS_LEAVE). + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Provides a default (non-functioning stub) #AtkObject. +Application maintainers should not use this method. + + a default (non-functioning stub) #AtkObject + + + + + a #GObject + + + + + + + + + + + + + + + + Creates an instance of an #AtkObjectFactory which generates primitive +(non-functioning) #AtkObjects. + + an instance of an #AtkObjectFactory + + + + + + + + + + + + + + + Gets the accessible name of the accessible. + + a character string representing the accessible name of the object. + + + + + Gets the accessible description of the accessible. +of the accessible. + + a character string representing the accessible description + + + + + Gets the accessible parent of the accessible. + + a #AtkObject representing the accessible parent of the accessible + + + + + + + + + + + + + + + + + + + + Gets the 0-based index of this accessible in its parent; returns -1 if the +accessible does not have an accessible parent. + + an integer which is the index of the accessible in its parent + + + + + Gets the #AtkRelationSet associated with the object. + + an #AtkRelationSet representing the relation set of the object. + + + + + Gets the role of the accessible. + + an #AtkRole which is the role of the accessible + + + + + + + + + + + + + + + Gets a reference to the state set of the accessible; the caller must +unreference it when it is no longer needed. +set of the accessible + + a reference to an #AtkStateSet which is the state + + + + + Sets the accessible name of the accessible. + + + + + + a character string to be set as the accessible name + + + + + + Sets the accessible description of the accessible. + + + + + + + + + + + Sets the accessible parent of the accessible. + + + + + + + + + + + Sets the role of the accessible. + + + + + + + + + + + Specifies a function to be called when a property changes value. +atk_object_remove_property_change_handler() + + a #guint which is the handler id used in + + + + + + + + + + Removes a property change handler. + + + + + + + + + + + This function is called when implementing subclasses of #AtkObject. +It does initialization required for the new object. It is intended +that this function should called only in the ..._new() functions used +to create an instance of a subclass of #AtkObject + + + + + + a #gpointer which identifies the object for which the AtkObject was created. + + + + + + Get a list of properties applied to this object as a whole, as an #AtkAttributeSet consisting of +name-value pairs. As such these attributes may be considered weakly-typed properties or annotations, +as distinct from strongly-typed object data available via other get/set methods. +Not all objects have explicit "name-value pair" #AtkAttributeSet properties. +the object, or an empty set if the object has no name-value pair attributes assigned to it. + + an #AtkAttributeSet consisting of all explicit properties/annotations applied to + + + + + Gets the accessible name of the accessible. + + a character string representing the accessible name of the object. + + + + + Gets the accessible description of the accessible. +of the accessible. + + a character string representing the accessible description + + + + + Gets the accessible parent of the accessible. + + a #AtkObject representing the accessible parent of the accessible + + + + + Gets the number of accessible children of the accessible. +of the accessible. + + an integer representing the number of accessible children + + + + + Gets a reference to the specified accessible child of the object. +The accessible children are 0-based so the first accessible child is +at index 0, the second at index 1 and so on. +of the accessible. + + an #AtkObject representing the specified accessible child + + + + + a gint representing the position of the child, starting from 0 + + + + + + Gets the #AtkRelationSet associated with the object. + + an #AtkRelationSet representing the relation set of the object. + + + + + Gets the role of the accessible. + + an #AtkRole which is the role of the accessible + + + + + Get a list of properties applied to this object as a whole, as an #AtkAttributeSet consisting of +name-value pairs. As such these attributes may be considered weakly-typed properties or annotations, +as distinct from strongly-typed object data available via other get/set methods. +Not all objects have explicit "name-value pair" #AtkAttributeSet properties. +the object, or an empty set if the object has no name-value pair attributes assigned to it. + + an #AtkAttributeSet consisting of all explicit properties/annotations applied to + + + + + Gets a reference to the state set of the accessible; the caller must +unreference it when it is no longer needed. +set of the accessible + + a reference to an #AtkStateSet which is the state + + + + + Gets the 0-based index of this accessible in its parent; returns -1 if the +accessible does not have an accessible parent. + + an integer which is the index of the accessible in its parent + + + + + Sets the accessible name of the accessible. + + + + + + a character string to be set as the accessible name + + + + + + Sets the accessible description of the accessible. + + + + + + + + + + + Sets the accessible parent of the accessible. + + + + + + + + + + + Sets the role of the accessible. + + + + + + + + + + + Specifies a function to be called when a property changes value. +atk_object_remove_property_change_handler() + + a #guint which is the handler id used in + + + + + + + + + + Removes a property change handler. + + + + + + + + + + + Emits a state-change signal for the specified state. + + + + + + an #AtkState whose state is changed + + + + + + + + + This function is called when implementing subclasses of #AtkObject. +It does initialization required for the new object. It is intended +that this function should called only in the ..._new() functions used +to create an instance of a subclass of #AtkObject + + + + + + a #gpointer which identifies the object for which the AtkObject was created. + + + + + + Adds a relationship of the specified type with the specified target. +Returns TRUE if the relationship is added. + + + + + + The #AtkRelationType of the relation + + + + The #AtkObject which is to be the target of the relation. + + + + + + Removes a relationship of the specified type with the specified target. +Returns TRUE if the relationship is removed. + + + + + + The #AtkRelationType of the relation + + + + The #AtkObject which is the target of the relation to be removed. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + a character string representing the accessible name of the object. + + + + + + + + + + + + + a character string representing the accessible description + + + + + + + + + + + + + a #AtkObject representing the accessible parent of the accessible + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + an integer which is the index of the accessible in its parent + + + + + + + + + + + + + an #AtkRelationSet representing the relation set of the object. + + + + + + + + + + + + + an #AtkRole which is the role of the accessible + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + a reference to an #AtkStateSet which is the state + + + + + + + + + + + + + + + + + + + + a character string to be set as the accessible name + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + a #guint which is the handler id used in + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + a #gpointer which identifies the object for which the AtkObject was created. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + an #AtkAttributeSet consisting of all explicit properties/annotations applied to + + + + + + + + + + + + + + + + + + + Inform @factory that it is no longer being used to create +accessibles. When called, @factory may need to inform +#AtkObjects which it has created that they need to be re-instantiated. +in object registries. + + + + + + Provides an #AtkObject that implements an accessibility interface +on behalf of @obj +on behalf of @obj + + an #AtkObject that implements an accessibility interface + + + + + a #GObject + + + + + + Inform @factory that it is no longer being used to create +accessibles. When called, @factory may need to inform +#AtkObjects which it has created that they need to be re-instantiated. +in object registries. + + + + + + Gets the GType of the accessible which is created by the factory. +The value G_TYPE_INVALID is returned if no type if found. + + the type of the accessible which is created by the @factory. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Associate an #AtkObjectFactory subclass with a #GType. Note: +The associated @factory_type will thereafter be responsible for +the creation of new #AtkObject implementations for instances +appropriate for @type. + + + + + + an #AtkObject type + + + + an #AtkObjectFactory type to associate with @type. Must implement AtkObject appropriate for @type. + + + + + + Provides a #GType indicating the #AtkObjectFactory subclass +associated with @type. + + a #GType associated with type @type + + + + + a #GType with which to look up the associated #AtkObjectFactory subclass + + + + + + Gets an #AtkObjectFactory appropriate for creating #AtkObjects +appropriate for @type. +appropriate for @type. + + an #AtkObjectFactory appropriate for creating #AtkObjects + + + + + a #GType with which to look up the associated #AtkObjectFactory + + + + + + + + + + Create a new relation for the specified key and the specified list +of targets. See also atk_object_add_relationship(). + + a pointer to a new #AtkRelation + + + + + an array of pointers to #AtkObjects + + + + number of #AtkObjects pointed to by @targets + + + + an #AtkRelationType with which to create the new #AtkRelation + + + + + + Associate @name with a new #AtkRelationType + + an #AtkRelationType associated with @name + + + + + a name string + + + + + + Gets the description string describing the #AtkRelationType @type. + + the string describing the AtkRelationType + + + + + The #AtkRelationType whose name is required + + + + + + Get the #AtkRelationType type corresponding to a relation name. +or #ATK_RELATION_NULL if no matching relation type is found. + + the #AtkRelationType enumerated type corresponding to the specified name, + + + + + a string which is the (non-localized) name of an ATK relation type. + + + + + + Gets the type of @relation + + the type of @relation + + + + + Gets the target list of @relation + + the target list of @relation + + + + + + + Adds the specified AtkObject to the target for the relation, if it is +not already present. See also atk_object_add_relationship(). + + + + + + an #AtkObject + + + + + + Remove the specified AtkObject from the target for the relation. +Returns TRUE if the removal is successful. + + + + + + an #AtkObject + + + + + + + + + + + + + + + + + + + + + + + + + + + + Creates a new empty relation set. + + a new #AtkRelationSet + + + + + Determines whether the relation set contains a relation that matches the +specified type. +in @set, %FALSE otherwise + + %TRUE if @relationship is the relationship type of a relation + + + + + an #AtkRelationType + + + + + + Removes a relation from the relation set. +This function unref's the #AtkRelation so it will be deleted unless there +is another reference to it. + + + + + + an #AtkRelation + + + + + + Add a new relation to the current relation set if it is not already +present. +This function ref's the AtkRelation so the caller of this function +should unref it to ensure that it will be destroyed when the AtkRelationSet +is destroyed. + + + + + + an #AtkRelation + + + + + + Determines the number of relations in a relation set. + + an integer representing the number of relations in the set. + + + + + + + + + + + + + + + Finds a relation that matches the specified type. + + an #AtkRelation, which is a relation matching the specified type. + + + + + an #AtkRelationType + + + + + + Add a new relation of the specified type with the specified target to +the current relation set if the relation set does not contain a relation +of that type. If it is does contain a relation of that typea the target +is added to the relation. + + + + + + an #AtkRelationType + + + + an #AtkObject + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Adds the specified accessible child of the object to the +object's selection. + + TRUE if success, FALSE otherwise. + + + + + a #gint specifying the child index. + + + + + + Clears the selection in the object so that no children in the object +are selected. + + TRUE if success, FALSE otherwise. + + + + + Gets a reference to the accessible object representing the specified +selected child of the object. +indication of whether AtkSelectionIface is implemented, they should +use type checking/interface checking macros or the +atk_get_accessible_value() convenience method. +if @selection does not implement this interface. + + an #AtkObject representing the selected accessible , or %NULL + + + + + a #gint specifying the index in the selection set. (e.g. the ith selection as opposed to the ith child). + + + + + + Gets the number of accessible children currently selected. +indication of whether AtkSelectionIface is implemented, they should +use type checking/interface checking macros or the +atk_get_accessible_value() convenience method. +if @selection does not implement this interface. + + a gint representing the number of items selected, or 0 + + + + + Determines if the current child of this object is selected +indication of whether AtkSelectionIface is implemented, they should +use type checking/interface checking macros or the +atk_get_accessible_value() convenience method. +if @selection does not implement this interface. + + a gboolean representing the specified child is selected, or 0 + + + + + a #gint specifying the child index. + + + + + + Removes the specified child of the object from the object's selection. + + TRUE if success, FALSE otherwise. + + + + + a #gint specifying the index in the selection set. (e.g. the ith selection as opposed to the ith child). + + + + + + Causes every child of the object to be selected if the object +supports multiple selections. + + TRUE if success, FALSE otherwise. + + + + + Adds the specified accessible child of the object to the +object's selection. + + TRUE if success, FALSE otherwise. + + + + + a #gint specifying the child index. + + + + + + Clears the selection in the object so that no children in the object +are selected. + + TRUE if success, FALSE otherwise. + + + + + Gets a reference to the accessible object representing the specified +selected child of the object. +indication of whether AtkSelectionIface is implemented, they should +use type checking/interface checking macros or the +atk_get_accessible_value() convenience method. +if @selection does not implement this interface. + + an #AtkObject representing the selected accessible , or %NULL + + + + + a #gint specifying the index in the selection set. (e.g. the ith selection as opposed to the ith child). + + + + + + Gets the number of accessible children currently selected. +indication of whether AtkSelectionIface is implemented, they should +use type checking/interface checking macros or the +atk_get_accessible_value() convenience method. +if @selection does not implement this interface. + + a gint representing the number of items selected, or 0 + + + + + Determines if the current child of this object is selected +indication of whether AtkSelectionIface is implemented, they should +use type checking/interface checking macros or the +atk_get_accessible_value() convenience method. +if @selection does not implement this interface. + + a gboolean representing the specified child is selected, or 0 + + + + + a #gint specifying the child index. + + + + + + Removes the specified child of the object from the object's selection. + + TRUE if success, FALSE otherwise. + + + + + a #gint specifying the index in the selection set. (e.g. the ith selection as opposed to the ith child). + + + + + + Causes every child of the object to be selected if the object +supports multiple selections. + + TRUE if success, FALSE otherwise. + + + + + + + + + + + + + + + + + TRUE if success, FALSE otherwise. + + + + + + + + a #gint specifying the child index. + + + + + + + + + TRUE if success, FALSE otherwise. + + + + + + + + + + + + + an #AtkObject representing the selected accessible , or %NULL + + + + + + + + a #gint specifying the index in the selection set. (e.g. the ith selection as opposed to the ith child). + + + + + + + + + a gint representing the number of items selected, or 0 + + + + + + + + + + + + + a gboolean representing the specified child is selected, or 0 + + + + + + + + a #gint specifying the child index. + + + + + + + + + TRUE if success, FALSE otherwise. + + + + + + + + a #gint specifying the index in the selection set. (e.g. the ith selection as opposed to the ith child). + + + + + + + + + TRUE if success, FALSE otherwise. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Embeds the children of an #AtkPlug as the children of the #AtkSocket. The +plug may be in the same process or in a different process. + + + + + + the ID of an #AtkPlug + + + + + + Embeds the children of an #AtkPlug as the children of the #AtkSocket. The +plug may be in the same process or in a different process. + + + + + + the ID of an #AtkPlug + + + + + + Determines whether or not the socket has an embedded plug. + + TRUE if a plug is embedded in the socket + + + + + + + + + + + + + + + + + + + + + + + + + the ID of an #AtkPlug + + + + + + + + + Creates a new empty state set. + + a new #AtkStateSet + + + + + Checks whether the state set is empty, i.e. has no states set. + + %TRUE if @set has no states set, otherwise %FALSE + + + + + Add a new state for the specified type to the current state set if +it is not already present. + + %TRUE if the state for @type is not already in @set. + + + + + an #AtkStateType + + + + + + Add the states for the specified types to the current state set. + + + + + + an array of #AtkStateType + + + + The number of elements in the array + + + + + + Removes all states from the state set. + + + + + + Checks whether the state for the specified type is in the specified set. + + %TRUE if @type is the state type is in @set. + + + + + an #AtkStateType + + + + + + Checks whether the states for all the specified types are in the +specified set. + + %TRUE if all the states for @type are in @set. + + + + + an array of #AtkStateType + + + + The number of elements in the array + + + + + + Removes the state for the specified type from the state set. + + %TRUE if @type was the state type is in @set. + + + + + an #AtkType + + + + + + Constructs the intersection of the two sets, returning %NULL if the +intersection is empty. + + a new #AtkStateSet which is the intersection of the two sets. + + + + + another #AtkStateSet + + + + + + Constructs the union of the two sets. +returning %NULL is empty. + + a new #AtkStateSet which is the union of the two sets, + + + + + another #AtkStateSet + + + + + + Constructs the exclusive-or of the two sets, returning %NULL is empty. +The set returned by this operation contains the states in exactly +one of the two sets. +in exactly one of the two sets. + + a new #AtkStateSet which contains the states which are + + + + + another #AtkStateSet + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Gets the number of mime types supported by this object. + + a gint which is the number of mime types supported by the object. + + + + + Gets the character string of the specified mime type. The first mime +type is at position 0, the second at position 1, and so on. +should not free the character string. + + + + + + a gint representing the position of the mime type starting from 0 + + + + + + Gets the content in the specified mime type. +type. + + A #GIOChannel which contains the content in the specified mime + + + + + a gchar* representing the mime type + + + + + + Get a string representing a URI in IETF standard format +(see http://www.ietf.org/rfc/rfc2396.txt) from which the object's content +may be streamed in the specified mime-type, if one is available. +If mime_type is NULL, the URI for the default (and possibly only) mime-type is +returned. +Note that it is possible for get_uri to return NULL but for +get_stream to work nonetheless, since not all GIOChannels connect to URIs. +can be constructed. + + Returns a string representing a URI, or NULL if no corresponding URI + + + + + a gchar* representing the mime type, or NULL to request a URI for the default mime type. + + + + + + Gets the number of mime types supported by this object. + + a gint which is the number of mime types supported by the object. + + + + + Gets the character string of the specified mime type. The first mime +type is at position 0, the second at position 1, and so on. +should not free the character string. + + + + + + a gint representing the position of the mime type starting from 0 + + + + + + Gets the content in the specified mime type. +type. + + A #GIOChannel which contains the content in the specified mime + + + + + a gchar* representing the mime type + + + + + + Get a string representing a URI in IETF standard format +(see http://www.ietf.org/rfc/rfc2396.txt) from which the object's content +may be streamed in the specified mime-type, if one is available. +If mime_type is NULL, the URI for the default (and possibly only) mime-type is +returned. +Note that it is possible for get_uri to return NULL but for +get_stream to work nonetheless, since not all GIOChannels connect to URIs. +can be constructed. + + Returns a string representing a URI, or NULL if no corresponding URI + + + + + a gchar* representing the mime type, or NULL to request a URI for the default mime type. + + + + + + + + + + + + + a gint which is the number of mime types supported by the object. + + + + + + + + + + + + + + + + + + + + a gint representing the position of the mime type starting from 0 + + + + + + + + + A #GIOChannel which contains the content in the specified mime + + + + + + + + a gchar* representing the mime type + + + + + + + + + Returns a string representing a URI, or NULL if no corresponding URI + + + + + + + + a gchar* representing the mime type, or NULL to request a URI for the default mime type. + + + + + + + + + + + + + + + + + + Get a reference to the table cell at @row, @column. + + a AtkObject* representing the referred to accessible + + + + + a #gint representing a row in @table + + + + a #gint representing a column in @table + + + + + + Gets a #gint representing the index at the specified @row and @column. +The value -1 is returned if the object at row,column is not a child +of table or table does not implement this interface. + + a #gint representing the index at specified position. + + + + + a #gint representing a row in @table + + + + a #gint representing a column in @table + + + + + + Gets a #gint representing the column at the specified @index_. +or -1 if the table does not implement this interface + + a gint representing the column at the specified index, + + + + + a #gint representing an index in @table + + + + + + Gets a #gint representing the row at the specified @index_. +or -1 if the table does not implement this interface + + a gint representing the row at the specified index, + + + + + a #gint representing an index in @table + + + + + + Gets the number of columns in the table. +if value does not implement this interface. + + a gint representing the number of columns, or 0 + + + + + Gets the number of rows in the table. +if value does not implement this interface. + + a gint representing the number of rows, or 0 + + + + + Gets the number of columns occupied by the accessible object +at the specified @row and @column in the @table. +if value does not implement this interface. + + a gint representing the column extent at specified position, or 0 + + + + + a #gint representing a row in @table + + + + a #gint representing a column in @table + + + + + + Gets the number of rows occupied by the accessible object +at a specified @row and @column in the @table. +if value does not implement this interface. + + a gint representing the row extent at specified position, or 0 + + + + + a #gint representing a row in @table + + + + a #gint representing a column in @table + + + + + + Gets the caption for the @table. +if value does not implement this interface. + + a AtkObject* representing the table caption, or %NULL + + + + + Gets the description text of the specified @column in the table +if value does not implement this interface. + + a gchar* representing the column description, or %NULL + + + + + a #gint representing a column in @table + + + + + + Gets the column header of a specified column in an accessible table. +%NULL if value does not implement this interface. + + a AtkObject* representing the specified column header, or + + + + + a #gint representing a column in the table + + + + + + Gets the description text of the specified row in the table +if value does not implement this interface. + + a gchar* representing the row description, or %NULL + + + + + a #gint representing a row in @table + + + + + + Gets the row header of a specified row in an accessible table. +%NULL if value does not implement this interface. + + a AtkObject* representing the specified row header, or + + + + + a #gint representing a row in the table + + + + + + Gets the summary description of the table. +or zero if value does not implement this interface. + + a AtkObject* representing a summary description of the table, + + + + + Sets the caption for the table. + + + + + + a #AtkObject representing the caption to set for @table + + + + + + Sets the description text for the specified @column of the @table. + + + + + + a #gint representing a column in @table + + + + a #gchar representing the description text to set for the specified @column of the @table + + + + + + Sets the specified column header to @header. + + + + + + a #gint representing a column in @table + + + + an #AtkTable + + + + + + Sets the description text for the specified @row of @table. + + + + + + a #gint representing a row in @table + + + + a #gchar representing the description text to set for the specified @row of @table + + + + + + Sets the specified row header to @header. + + + + + + a #gint representing a row in @table + + + + an #AtkTable + + + + + + Sets the summary description of the table. + + + + + + an #AtkObject representing the summary description to set for @table + + + + + + Gets the selected columns of the table by initializing **selected with +the selected column numbers. This array should be freed by the caller. +or %0 if value does not implement this interface. + + a gint representing the number of selected columns, + + + + + a #gint** that is to contain the selected columns numbers + + + + + + Gets the selected rows of the table by initializing **selected with +the selected row numbers. This array should be freed by the caller. +or zero if value does not implement this interface. + + a gint representing the number of selected rows, + + + + + a #gint** that is to contain the selected row numbers + + + + + + Gets a boolean value indicating whether the specified @column +is selected +if value does not implement this interface. + + a gboolean representing if the column is selected, or 0 + + + + + a #gint representing a column in @table + + + + + + Gets a boolean value indicating whether the specified @row +is selected +if value does not implement this interface. + + a gboolean representing if the row is selected, or 0 + + + + + a #gint representing a row in @table + + + + + + Gets a boolean value indicating whether the accessible object +at the specified @row and @column is selected +if value does not implement this interface. + + a gboolean representing if the cell is selected, or 0 + + + + + a #gint representing a row in @table + + + + a #gint representing a column in @table + + + + + + Adds the specified @row to the selection. +or 0 if value does not implement this interface. + + a gboolean representing if row was successfully added to selection, + + + + + a #gint representing a row in @table + + + + + + Removes the specified @row from the selection. +the selection, or 0 if value does not implement this interface. + + a gboolean representing if the row was successfully removed from + + + + + a #gint representing a row in @table + + + + + + Adds the specified @column to the selection. +the selection, or 0 if value does not implement this interface. + + a gboolean representing if the column was successfully added to + + + + + a #gint representing a column in @table + + + + + + Adds the specified @column to the selection. +the selection, or 0 if value does not implement this interface. + + a gboolean representing if the column was successfully removed from + + + + + a #gint representing a column in @table + + + + + + Get a reference to the table cell at @row, @column. + + a AtkObject* representing the referred to accessible + + + + + a #gint representing a row in @table + + + + a #gint representing a column in @table + + + + + + Gets a #gint representing the index at the specified @row and @column. +The value -1 is returned if the object at row,column is not a child +of table or table does not implement this interface. + + a #gint representing the index at specified position. + + + + + a #gint representing a row in @table + + + + a #gint representing a column in @table + + + + + + Gets a #gint representing the column at the specified @index_. +or -1 if the table does not implement this interface + + a gint representing the column at the specified index, + + + + + a #gint representing an index in @table + + + + + + Gets a #gint representing the row at the specified @index_. +or -1 if the table does not implement this interface + + a gint representing the row at the specified index, + + + + + a #gint representing an index in @table + + + + + + Gets the number of columns in the table. +if value does not implement this interface. + + a gint representing the number of columns, or 0 + + + + + Gets the number of rows in the table. +if value does not implement this interface. + + a gint representing the number of rows, or 0 + + + + + Gets the number of columns occupied by the accessible object +at the specified @row and @column in the @table. +if value does not implement this interface. + + a gint representing the column extent at specified position, or 0 + + + + + a #gint representing a row in @table + + + + a #gint representing a column in @table + + + + + + Gets the number of rows occupied by the accessible object +at a specified @row and @column in the @table. +if value does not implement this interface. + + a gint representing the row extent at specified position, or 0 + + + + + a #gint representing a row in @table + + + + a #gint representing a column in @table + + + + + + Gets the caption for the @table. +if value does not implement this interface. + + a AtkObject* representing the table caption, or %NULL + + + + + Gets the description text of the specified @column in the table +if value does not implement this interface. + + a gchar* representing the column description, or %NULL + + + + + a #gint representing a column in @table + + + + + + Gets the column header of a specified column in an accessible table. +%NULL if value does not implement this interface. + + a AtkObject* representing the specified column header, or + + + + + a #gint representing a column in the table + + + + + + Gets the description text of the specified row in the table +if value does not implement this interface. + + a gchar* representing the row description, or %NULL + + + + + a #gint representing a row in @table + + + + + + Gets the row header of a specified row in an accessible table. +%NULL if value does not implement this interface. + + a AtkObject* representing the specified row header, or + + + + + a #gint representing a row in the table + + + + + + Gets the summary description of the table. +or zero if value does not implement this interface. + + a AtkObject* representing a summary description of the table, + + + + + Sets the caption for the table. + + + + + + a #AtkObject representing the caption to set for @table + + + + + + Sets the description text for the specified @column of the @table. + + + + + + a #gint representing a column in @table + + + + a #gchar representing the description text to set for the specified @column of the @table + + + + + + Sets the specified column header to @header. + + + + + + a #gint representing a column in @table + + + + an #AtkTable + + + + + + Sets the description text for the specified @row of @table. + + + + + + a #gint representing a row in @table + + + + a #gchar representing the description text to set for the specified @row of @table + + + + + + Sets the specified row header to @header. + + + + + + a #gint representing a row in @table + + + + an #AtkTable + + + + + + Sets the summary description of the table. + + + + + + an #AtkObject representing the summary description to set for @table + + + + + + Gets the selected columns of the table by initializing **selected with +the selected column numbers. This array should be freed by the caller. +or %0 if value does not implement this interface. + + a gint representing the number of selected columns, + + + + + a #gint** that is to contain the selected columns numbers + + + + + + Gets the selected rows of the table by initializing **selected with +the selected row numbers. This array should be freed by the caller. +or zero if value does not implement this interface. + + a gint representing the number of selected rows, + + + + + a #gint** that is to contain the selected row numbers + + + + + + Gets a boolean value indicating whether the specified @column +is selected +if value does not implement this interface. + + a gboolean representing if the column is selected, or 0 + + + + + a #gint representing a column in @table + + + + + + Gets a boolean value indicating whether the specified @row +is selected +if value does not implement this interface. + + a gboolean representing if the row is selected, or 0 + + + + + a #gint representing a row in @table + + + + + + Gets a boolean value indicating whether the accessible object +at the specified @row and @column is selected +if value does not implement this interface. + + a gboolean representing if the cell is selected, or 0 + + + + + a #gint representing a row in @table + + + + a #gint representing a column in @table + + + + + + Adds the specified @row to the selection. +or 0 if value does not implement this interface. + + a gboolean representing if row was successfully added to selection, + + + + + a #gint representing a row in @table + + + + + + Removes the specified @row from the selection. +the selection, or 0 if value does not implement this interface. + + a gboolean representing if the row was successfully removed from + + + + + a #gint representing a row in @table + + + + + + Adds the specified @column to the selection. +the selection, or 0 if value does not implement this interface. + + a gboolean representing if the column was successfully added to + + + + + a #gint representing a column in @table + + + + + + Adds the specified @column to the selection. +the selection, or 0 if value does not implement this interface. + + a gboolean representing if the column was successfully removed from + + + + + a #gint representing a column in @table + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + a AtkObject* representing the referred to accessible + + + + + + + + a #gint representing a row in @table + + + + a #gint representing a column in @table + + + + + + + + + a #gint representing the index at specified position. + + + + + + + + a #gint representing a row in @table + + + + a #gint representing a column in @table + + + + + + + + + a gint representing the column at the specified index, + + + + + + + + a #gint representing an index in @table + + + + + + + + + a gint representing the row at the specified index, + + + + + + + + a #gint representing an index in @table + + + + + + + + + a gint representing the number of columns, or 0 + + + + + + + + + + + + + a gint representing the number of rows, or 0 + + + + + + + + + + + + + a gint representing the column extent at specified position, or 0 + + + + + + + + a #gint representing a row in @table + + + + a #gint representing a column in @table + + + + + + + + + a gint representing the row extent at specified position, or 0 + + + + + + + + a #gint representing a row in @table + + + + a #gint representing a column in @table + + + + + + + + + a AtkObject* representing the table caption, or %NULL + + + + + + + + + + + + + a gchar* representing the column description, or %NULL + + + + + + + + a #gint representing a column in @table + + + + + + + + + a AtkObject* representing the specified column header, or + + + + + + + + a #gint representing a column in the table + + + + + + + + + a gchar* representing the row description, or %NULL + + + + + + + + a #gint representing a row in @table + + + + + + + + + a AtkObject* representing the specified row header, or + + + + + + + + a #gint representing a row in the table + + + + + + + + + a AtkObject* representing a summary description of the table, + + + + + + + + + + + + + + + + + + + + a #AtkObject representing the caption to set for @table + + + + + + + + + + + + + + + + a #gint representing a column in @table + + + + a #gchar representing the description text to set for the specified @column of the @table + + + + + + + + + + + + + + + + a #gint representing a column in @table + + + + an #AtkTable + + + + + + + + + + + + + + + + a #gint representing a row in @table + + + + a #gchar representing the description text to set for the specified @row of @table + + + + + + + + + + + + + + + + a #gint representing a row in @table + + + + an #AtkTable + + + + + + + + + + + + + + + + an #AtkObject representing the summary description to set for @table + + + + + + + + + a gint representing the number of selected columns, + + + + + + + + a #gint** that is to contain the selected columns numbers + + + + + + + + + a gint representing the number of selected rows, + + + + + + + + a #gint** that is to contain the selected row numbers + + + + + + + + + a gboolean representing if the column is selected, or 0 + + + + + + + + a #gint representing a column in @table + + + + + + + + + a gboolean representing if the row is selected, or 0 + + + + + + + + a #gint representing a row in @table + + + + + + + + + a gboolean representing if the cell is selected, or 0 + + + + + + + + a #gint representing a row in @table + + + + a #gint representing a column in @table + + + + + + + + + a gboolean representing if row was successfully added to selection, + + + + + + + + a #gint representing a row in @table + + + + + + + + + a gboolean representing if the row was successfully removed from + + + + + + + + a #gint representing a row in @table + + + + + + + + + a gboolean representing if the column was successfully added to + + + + + + + + a #gint representing a column in @table + + + + + + + + + a gboolean representing if the column was successfully removed from + + + + + + + + a #gint representing a column in @table + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Gets the specified text. + + the text from @start_offset up to, but not including @end_offset. + + + + + start position + + + + end position + + + + + + Gets the specified text. +If the boundary_type if ATK_TEXT_BOUNDARY_CHAR the character after the +offset is returned. +If the boundary_type is ATK_TEXT_BOUNDARY_WORD_START the returned string +is from the word start after the offset to the next word start. +The returned string will contain the word after the offset if the offset +is inside a word or if the offset is not inside a word. +If the boundary_type is ATK_TEXT_BOUNDARY_WORD_END the returned string +is from the word end at or after the offset to the next work end. +The returned string will contain the word after the offset if the offset +is inside a word and will contain the word after the word after the offset +if the offset is not inside a word. +If the boundary type is ATK_TEXT_BOUNDARY_SENTENCE_START the returned +string is from the sentence start after the offset to the next sentence +start. +The returned string will contain the sentence after the offset if the offset +is inside a sentence or if the offset is not inside a sentence. +If the boundary_type is ATK_TEXT_BOUNDARY_SENTENCE_END the returned string +is from the sentence end at or after the offset to the next sentence end. +The returned string will contain the sentence after the offset if the offset +is inside a sentence and will contain the sentence after the sentence +after the offset if the offset is not inside a sentence. +If the boundary type is ATK_TEXT_BOUNDARY_LINE_START the returned +string is from the line start after the offset to the next line start. +If the boundary_type is ATK_TEXT_BOUNDARY_LINE_END the returned string +is from the line end at or after the offset to the next line start. + + the text after @offset bounded by the specified @boundary_type. + + + + + position + + + + An #AtkTextBoundary + + + + the start offset of the returned string + + + + the offset of the first character after the returned substring + + + + + + Gets the specified text. +If the boundary_type if ATK_TEXT_BOUNDARY_CHAR the character at the +offset is returned. +If the boundary_type is ATK_TEXT_BOUNDARY_WORD_START the returned string +is from the word start at or before the offset to the word start after +the offset. +The returned string will contain the word at the offset if the offset +is inside a word and will contain the word before the offset if the +offset is not inside a word. +If the boundary_type is ATK_TEXT_BOUNDARY_WORD_END the returned string +is from the word end before the offset to the word end at or after the +offset. +The returned string will contain the word at the offset if the offset +is inside a word and will contain the word after to the offset if the +offset is not inside a word. +If the boundary type is ATK_TEXT_BOUNDARY_SENTENCE_START the returned +string is from the sentence start at or before the offset to the sentence +start after the offset. +The returned string will contain the sentence at the offset if the offset +is inside a sentence and will contain the sentence before the offset +if the offset is not inside a sentence. +If the boundary_type is ATK_TEXT_BOUNDARY_SENTENCE_END the returned string +is from the sentence end before the offset to the sentence end at or +after the offset. +The returned string will contain the sentence at the offset if the offset +is inside a sentence and will contain the sentence after the offset +if the offset is not inside a sentence. +If the boundary type is ATK_TEXT_BOUNDARY_LINE_START the returned +string is from the line start at or before the offset to the line +start after the offset. +If the boundary_type is ATK_TEXT_BOUNDARY_LINE_END the returned string +is from the line end before the offset to the line end at or after +the offset. + + the text at @offset bounded by the specified @boundary_type. + + + + + position + + + + An #AtkTextBoundary + + + + the start offset of the returned string + + + + the offset of the first character after the returned substring + + + + + + Gets the specified text. + + the character at @offset. + + + + + position + + + + + + Gets the specified text. +If the boundary_type if ATK_TEXT_BOUNDARY_CHAR the character before the +offset is returned. +If the boundary_type is ATK_TEXT_BOUNDARY_WORD_START the returned string +is from the word start before the word start before the offset to +the word start before the offset. +The returned string will contain the word before the offset if the offset +is inside a word and will contain the word before the word before the +offset if the offset is not inside a word. +If the boundary_type is ATK_TEXT_BOUNDARY_WORD_END the returned string +is from the word end before the word end at or before the offset to the +word end at or before the offset. +The returned string will contain the word before the offset if the offset +is inside a word or if the offset is not inside a word. +If the boundary type is ATK_TEXT_BOUNDARY_SENTENCE_START the returned +string is from the sentence start before the sentence start before +the offset to the sentence start before the offset. +The returned string will contain the sentence before the offset if the +offset is inside a sentence and will contain the sentence before the +sentence before the offset if the offset is not inside a sentence. +If the boundary_type is ATK_TEXT_BOUNDARY_SENTENCE_END the returned string +is from the sentence end before the sentence end at or before the offset to +the sentence end at or before the offset. +The returned string will contain the sentence before the offset if the +offset is inside a sentence or if the offset is not inside a sentence. +If the boundary type is ATK_TEXT_BOUNDARY_LINE_START the returned +string is from the line start before the line start ar or before the offset +to the line start ar or before the offset. +If the boundary_type is ATK_TEXT_BOUNDARY_LINE_END the returned string +is from the line end before the line end before the offset to the +line end before the offset. + + the text before @offset bounded by the specified @boundary_type. + + + + + position + + + + An #AtkTextBoundary + + + + the start offset of the returned string + + + + the offset of the first character after the returned substring + + + + + + Gets the offset position of the caret (cursor). + + the offset position of the caret (cursor). + + + + + + + + + + + + + + + + + + + + + + + + + + Get the bounding box containing the glyph representing the character at +a particular text offset. + + + + + + The offset of the text character for which bounding information is required. + + + + Pointer for the x cordinate of the bounding box + + + + Pointer for the y cordinate of the bounding box + + + + Pointer for the width of the bounding box + + + + Pointer for the height of the bounding box + + + + specify whether coordinates are relative to the screen or widget window + + + + + + Gets the character count. + + the number of characters. + + + + + Gets the offset of the character located at coordinates @x and @y. @x and @y +are interpreted as being relative to the screen or this widget's window +depending on @coords. +the specified @x and @y coordinates. + + the offset to the character which is located at + + + + + screen x-position of character + + + + screen y-position of character + + + + specify whether coordinates are relative to the screen or widget window + + + + + + Gets the number of selected regions. +occurred. + + The number of selected regions, or -1 if a failure + + + + + Gets the text from the specified selection. + + the selected text. + + + + + The selection number. The selected regions are assigned numbers that correspond to how far the region is from the start of the text. The selected region closest to the beginning of the text region is assigned the number 0, etc. Note that adding, moving or deleting a selected region can change the numbering. + + + + passes back the start position of the selected region + + + + passes back the end position of (e.g. offset immediately past) the selected region + + + + + + Adds a selection bounded by the specified offsets. + + %TRUE if success, %FALSE otherwise + + + + + the start position of the selected region + + + + the offset of the first character after the selected region. + + + + + + Removes the specified selection. + + %TRUE if success, %FALSE otherwise + + + + + The selection number. The selected regions are assigned numbers that correspond to how far the region is from the start of the text. The selected region closest to the beginning of the text region is assigned the number 0, etc. Note that adding, moving or deleting a selected region can change the numbering. + + + + + + Changes the start and end offset of the specified selection. + + %TRUE if success, %FALSE otherwise + + + + + The selection number. The selected regions are assigned numbers that correspond to how far the region is from the start of the text. The selected region closest to the beginning of the text region is assigned the number 0, etc. Note that adding, moving or deleting a selected region can change the numbering. + + + + the new start position of the selection + + + + the new end position of (e.g. offset immediately past) the selection + + + + + + Sets the caret (cursor) position to the specified @offset. + + %TRUE if success, %FALSE otherwise. + + + + + position + + + + + + Get the bounding box for text within the specified range. + + + + + + The offset of the first text character for which boundary information is required. + + + + The offset of the text character after the last character for which boundary information is required. + + + + Specify whether coordinates are relative to the screen or widget window. + + + + A pointer to a AtkTextRectangle which is filled in by this function. + + + + + + Get the ranges of text in the specified bounding box. +by this function will be NULL. + + Array of AtkTextRange. The last element of the array returned + + + + + An AtkTextRectagle giving the dimensions of the bounding box. + + + + Specify whether coordinates are relative to the screen or widget window. + + + + Specify the horizontal clip type. + + + + Specify the vertical clip type. + + + + + + Gets the specified text. + + the text from @start_offset up to, but not including @end_offset. + + + + + start position + + + + end position + + + + + + Gets the specified text. + + the character at @offset. + + + + + position + + + + + + Gets the specified text. +If the boundary_type if ATK_TEXT_BOUNDARY_CHAR the character after the +offset is returned. +If the boundary_type is ATK_TEXT_BOUNDARY_WORD_START the returned string +is from the word start after the offset to the next word start. +The returned string will contain the word after the offset if the offset +is inside a word or if the offset is not inside a word. +If the boundary_type is ATK_TEXT_BOUNDARY_WORD_END the returned string +is from the word end at or after the offset to the next work end. +The returned string will contain the word after the offset if the offset +is inside a word and will contain the word after the word after the offset +if the offset is not inside a word. +If the boundary type is ATK_TEXT_BOUNDARY_SENTENCE_START the returned +string is from the sentence start after the offset to the next sentence +start. +The returned string will contain the sentence after the offset if the offset +is inside a sentence or if the offset is not inside a sentence. +If the boundary_type is ATK_TEXT_BOUNDARY_SENTENCE_END the returned string +is from the sentence end at or after the offset to the next sentence end. +The returned string will contain the sentence after the offset if the offset +is inside a sentence and will contain the sentence after the sentence +after the offset if the offset is not inside a sentence. +If the boundary type is ATK_TEXT_BOUNDARY_LINE_START the returned +string is from the line start after the offset to the next line start. +If the boundary_type is ATK_TEXT_BOUNDARY_LINE_END the returned string +is from the line end at or after the offset to the next line start. + + the text after @offset bounded by the specified @boundary_type. + + + + + position + + + + An #AtkTextBoundary + + + + the start offset of the returned string + + + + the offset of the first character after the returned substring + + + + + + Gets the specified text. +If the boundary_type if ATK_TEXT_BOUNDARY_CHAR the character at the +offset is returned. +If the boundary_type is ATK_TEXT_BOUNDARY_WORD_START the returned string +is from the word start at or before the offset to the word start after +the offset. +The returned string will contain the word at the offset if the offset +is inside a word and will contain the word before the offset if the +offset is not inside a word. +If the boundary_type is ATK_TEXT_BOUNDARY_WORD_END the returned string +is from the word end before the offset to the word end at or after the +offset. +The returned string will contain the word at the offset if the offset +is inside a word and will contain the word after to the offset if the +offset is not inside a word. +If the boundary type is ATK_TEXT_BOUNDARY_SENTENCE_START the returned +string is from the sentence start at or before the offset to the sentence +start after the offset. +The returned string will contain the sentence at the offset if the offset +is inside a sentence and will contain the sentence before the offset +if the offset is not inside a sentence. +If the boundary_type is ATK_TEXT_BOUNDARY_SENTENCE_END the returned string +is from the sentence end before the offset to the sentence end at or +after the offset. +The returned string will contain the sentence at the offset if the offset +is inside a sentence and will contain the sentence after the offset +if the offset is not inside a sentence. +If the boundary type is ATK_TEXT_BOUNDARY_LINE_START the returned +string is from the line start at or before the offset to the line +start after the offset. +If the boundary_type is ATK_TEXT_BOUNDARY_LINE_END the returned string +is from the line end before the offset to the line end at or after +the offset. + + the text at @offset bounded by the specified @boundary_type. + + + + + position + + + + An #AtkTextBoundary + + + + the start offset of the returned string + + + + the offset of the first character after the returned substring + + + + + + Gets the specified text. +If the boundary_type if ATK_TEXT_BOUNDARY_CHAR the character before the +offset is returned. +If the boundary_type is ATK_TEXT_BOUNDARY_WORD_START the returned string +is from the word start before the word start before the offset to +the word start before the offset. +The returned string will contain the word before the offset if the offset +is inside a word and will contain the word before the word before the +offset if the offset is not inside a word. +If the boundary_type is ATK_TEXT_BOUNDARY_WORD_END the returned string +is from the word end before the word end at or before the offset to the +word end at or before the offset. +The returned string will contain the word before the offset if the offset +is inside a word or if the offset is not inside a word. +If the boundary type is ATK_TEXT_BOUNDARY_SENTENCE_START the returned +string is from the sentence start before the sentence start before +the offset to the sentence start before the offset. +The returned string will contain the sentence before the offset if the +offset is inside a sentence and will contain the sentence before the +sentence before the offset if the offset is not inside a sentence. +If the boundary_type is ATK_TEXT_BOUNDARY_SENTENCE_END the returned string +is from the sentence end before the sentence end at or before the offset to +the sentence end at or before the offset. +The returned string will contain the sentence before the offset if the +offset is inside a sentence or if the offset is not inside a sentence. +If the boundary type is ATK_TEXT_BOUNDARY_LINE_START the returned +string is from the line start before the line start ar or before the offset +to the line start ar or before the offset. +If the boundary_type is ATK_TEXT_BOUNDARY_LINE_END the returned string +is from the line end before the line end before the offset to the +line end before the offset. + + the text before @offset bounded by the specified @boundary_type. + + + + + position + + + + An #AtkTextBoundary + + + + the start offset of the returned string + + + + the offset of the first character after the returned substring + + + + + + Gets the offset position of the caret (cursor). + + the offset position of the caret (cursor). + + + + + Get the bounding box containing the glyph representing the character at +a particular text offset. + + + + + + The offset of the text character for which bounding information is required. + + + + Pointer for the x cordinate of the bounding box + + + + Pointer for the y cordinate of the bounding box + + + + Pointer for the width of the bounding box + + + + Pointer for the height of the bounding box + + + + specify whether coordinates are relative to the screen or widget window + + + + + + + + + + + + + + + + + + + + + + + + + + + Gets the character count. + + the number of characters. + + + + + Gets the offset of the character located at coordinates @x and @y. @x and @y +are interpreted as being relative to the screen or this widget's window +depending on @coords. +the specified @x and @y coordinates. + + the offset to the character which is located at + + + + + screen x-position of character + + + + screen y-position of character + + + + specify whether coordinates are relative to the screen or widget window + + + + + + Gets the number of selected regions. +occurred. + + The number of selected regions, or -1 if a failure + + + + + Gets the text from the specified selection. + + the selected text. + + + + + The selection number. The selected regions are assigned numbers that correspond to how far the region is from the start of the text. The selected region closest to the beginning of the text region is assigned the number 0, etc. Note that adding, moving or deleting a selected region can change the numbering. + + + + passes back the start position of the selected region + + + + passes back the end position of (e.g. offset immediately past) the selected region + + + + + + Adds a selection bounded by the specified offsets. + + %TRUE if success, %FALSE otherwise + + + + + the start position of the selected region + + + + the offset of the first character after the selected region. + + + + + + Removes the specified selection. + + %TRUE if success, %FALSE otherwise + + + + + The selection number. The selected regions are assigned numbers that correspond to how far the region is from the start of the text. The selected region closest to the beginning of the text region is assigned the number 0, etc. Note that adding, moving or deleting a selected region can change the numbering. + + + + + + Changes the start and end offset of the specified selection. + + %TRUE if success, %FALSE otherwise + + + + + The selection number. The selected regions are assigned numbers that correspond to how far the region is from the start of the text. The selected region closest to the beginning of the text region is assigned the number 0, etc. Note that adding, moving or deleting a selected region can change the numbering. + + + + the new start position of the selection + + + + the new end position of (e.g. offset immediately past) the selection + + + + + + Sets the caret (cursor) position to the specified @offset. + + %TRUE if success, %FALSE otherwise. + + + + + position + + + + + + Get the bounding box for text within the specified range. + + + + + + The offset of the first text character for which boundary information is required. + + + + The offset of the text character after the last character for which boundary information is required. + + + + Specify whether coordinates are relative to the screen or widget window. + + + + A pointer to a AtkTextRectangle which is filled in by this function. + + + + + + Get the ranges of text in the specified bounding box. +by this function will be NULL. + + Array of AtkTextRange. The last element of the array returned + + + + + An AtkTextRectagle giving the dimensions of the bounding box. + + + + Specify whether coordinates are relative to the screen or widget window. + + + + Specify the horizontal clip type. + + + + Specify the vertical clip type. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + the text from @start_offset up to, but not including @end_offset. + + + + + + + + start position + + + + end position + + + + + + + + + the text after @offset bounded by the specified @boundary_type. + + + + + + + + position + + + + An #AtkTextBoundary + + + + the start offset of the returned string + + + + the offset of the first character after the returned substring + + + + + + + + + the text at @offset bounded by the specified @boundary_type. + + + + + + + + position + + + + An #AtkTextBoundary + + + + the start offset of the returned string + + + + the offset of the first character after the returned substring + + + + + + + + + the character at @offset. + + + + + + + + position + + + + + + + + + the text before @offset bounded by the specified @boundary_type. + + + + + + + + position + + + + An #AtkTextBoundary + + + + the start offset of the returned string + + + + the offset of the first character after the returned substring + + + + + + + + + the offset position of the caret (cursor). + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The offset of the text character for which bounding information is required. + + + + Pointer for the x cordinate of the bounding box + + + + Pointer for the y cordinate of the bounding box + + + + Pointer for the width of the bounding box + + + + Pointer for the height of the bounding box + + + + specify whether coordinates are relative to the screen or widget window + + + + + + + + + the number of characters. + + + + + + + + + + + + + the offset to the character which is located at + + + + + + + + screen x-position of character + + + + screen y-position of character + + + + specify whether coordinates are relative to the screen or widget window + + + + + + + + + The number of selected regions, or -1 if a failure + + + + + + + + + + + + + the selected text. + + + + + + + + The selection number. The selected regions are assigned numbers that correspond to how far the region is from the start of the text. The selected region closest to the beginning of the text region is assigned the number 0, etc. Note that adding, moving or deleting a selected region can change the numbering. + + + + passes back the start position of the selected region + + + + passes back the end position of (e.g. offset immediately past) the selected region + + + + + + + + + %TRUE if success, %FALSE otherwise + + + + + + + + the start position of the selected region + + + + the offset of the first character after the selected region. + + + + + + + + + %TRUE if success, %FALSE otherwise + + + + + + + + The selection number. The selected regions are assigned numbers that correspond to how far the region is from the start of the text. The selected region closest to the beginning of the text region is assigned the number 0, etc. Note that adding, moving or deleting a selected region can change the numbering. + + + + + + + + + %TRUE if success, %FALSE otherwise + + + + + + + + The selection number. The selected regions are assigned numbers that correspond to how far the region is from the start of the text. The selected region closest to the beginning of the text region is assigned the number 0, etc. Note that adding, moving or deleting a selected region can change the numbering. + + + + the new start position of the selection + + + + the new end position of (e.g. offset immediately past) the selection + + + + + + + + + %TRUE if success, %FALSE otherwise. + + + + + + + + position + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The offset of the first text character for which boundary information is required. + + + + The offset of the text character after the last character for which boundary information is required. + + + + Specify whether coordinates are relative to the screen or widget window. + + + + A pointer to a AtkTextRectangle which is filled in by this function. + + + + + + + + + Array of AtkTextRange. The last element of the array returned + + + + + + + + An AtkTextRectagle giving the dimensions of the bounding box. + + + + Specify whether coordinates are relative to the screen or widget window. + + + + Specify the horizontal clip type. + + + + Specify the vertical clip type. + + + + + + + + + + + A structure used to describe a text range. + + + + + + + + + + + + + + + A structure used to store a rectangle used by AtkText. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Gets the value of this object. + + + + + + a #GValue representing the current accessible value + + + + + + Gets the maximum value of this object. + + + + + + a #GValue representing the maximum accessible value + + + + + + Gets the minimum value of this object. + + + + + + a #GValue representing the minimum accessible value + + + + + + Sets the value of this object. + + %TRUE if new value is successfully set, %FALSE otherwise. + + + + + a #GValue which is the desired new accessible value. + + + + + + Gets the minimum increment by which the value of this object may be changed. If zero, +the minimum increment is undefined, which may mean that it is limited only by the +floating point precision of the platform. + + + + + + a #GValue representing the minimum increment by which the accessible value may be changed + + + + + + Gets the value of this object. + + + + + + a #GValue representing the current accessible value + + + + + + Gets the maximum value of this object. + + + + + + a #GValue representing the maximum accessible value + + + + + + Gets the minimum value of this object. + + + + + + a #GValue representing the minimum accessible value + + + + + + Sets the value of this object. + + %TRUE if new value is successfully set, %FALSE otherwise. + + + + + a #GValue which is the desired new accessible value. + + + + + + Gets the minimum increment by which the value of this object may be changed. If zero, +the minimum increment is undefined, which may mean that it is limited only by the +floating point precision of the platform. + + + + + + a #GValue representing the minimum increment by which the accessible value may be changed + + + + + + + + + + + + + + + + + + + + a #GValue representing the current accessible value + + + + + + + + + + + + + + + + a #GValue representing the maximum accessible value + + + + + + + + + + + + + + + + a #GValue representing the minimum accessible value + + + + + + + + + %TRUE if new value is successfully set, %FALSE otherwise. + + + + + + + + a #GValue which is the desired new accessible value. + + + + + + + + + + + + + + + + a #GValue representing the minimum increment by which the accessible value may be changed + + + + + + + + + + + Adds the specified function to the list of functions to be called +when an object receives focus. + + added focus tracker id, or 0 on failure. + + + + + Function to be added to the list of functions to be called when an object receives focus. + + + + + + Adds the specified function to the list of functions to be called +when an event of type event_type occurs. + + added event listener id, or 0 on failure. + + + + + the listener to notify + + + + the type of event for which notification is requested + + + + + + Adds the specified function to the list of functions to be called +when a key event occurs. The @data element will be passed to the +#AtkKeySnoopFunc (@listener) as the @func_data param, on notification. + + added event listener id, or 0 on failure. + + + + + the listener to notify + + + + a #gpointer that points to a block of data that should be sent to the registered listeners, along with the event notification, when it occurs. + + + + + + Frees the memory used by an #AtkAttributeSet, including all its +#AtkAttributes. + + + + + + The #AtkAttributeSet to free + + + + + + Specifies the function to be called for focus tracker initialization. +This function should be called by an implementation of the +ATK interface if any specific work needs to be done to enable +focus tracking. + + + + + + Function to be called for focus tracker initialization + + + + + + Cause the focus tracker functions which have been specified to be +executed for the object. + + + + + + an #AtkObject + + + + + + + + + + + Gets the currently focused object. + + the currently focused object for the current application + + + + + Gets the root accessible container for the current application. + + the root accessible container for the current application + + + + + Gets name string for the GUI toolkit implementing ATK for this application. + + name string for the GUI toolkit implementing ATK for this application + + + + + Gets version string for the GUI toolkit implementing ATK for this application. + + version string for the GUI toolkit implementing ATK for this application + + + + + Gets the current version for ATK. + + version string for ATK + + + + + Removes the specified focus tracker from the list of functions +to be called when any object receives focus. + + + + + + the id of the focus tracker to remove + + + + + + Removes the specified event listener + + + + + + the id of the event listener to remove + + + + + + Removes the specified event listener + + + + + + the id of the event listener to remove + + + + + + Get the #AtkRole type corresponding to a rolew name. +or #ATK_ROLE_INVALID if no matching role is found. + + the #AtkRole enumerated type corresponding to the specified + + + + + a string which is the (non-localized) name of an ATK role. + + + + + + Gets the localized description string describing the #AtkRole @role. + + the localized string describing the AtkRole + + + + + The #AtkRole whose localized name is required + + + + + + Gets the description string describing the #AtkRole @role. + + the string describing the AtkRole + + + + + The #AtkRole whose name is required + + + + + + Registers the role specified by @name. + + an #AtkRole for the new role. + + + + + a character string describing the new role. + + + + + + Gets the #AtkStateType corresponding to the description string @name. + + an #AtkStateType corresponding to @name + + + + + a character string state name + + + + + + Gets the description string describing the #AtkStateType @type. + + the string describing the AtkStateType + + + + + The #AtkStateType whose name is required + + + + + + Register a new object state. + + an #AtkState value for the new state. + + + + + a character string describing the new state. + + + + + + Get the #AtkTextAttribute type corresponding to a text attribute name. +or #ATK_TEXT_ATTRIBUTE_INVALID if no matching text attribute is found. + + the #AtkTextAttribute enumerated type corresponding to the specified + + + + + a string which is the (non-localized) name of an ATK text attribute. + + + + + + Gets the name corresponding to the #AtkTextAttribute + + a string containing the name; this string should not be freed + + + + + The #AtkTextAttribute whose name is required + + + + + + Gets the value for the index of the #AtkTextAttribute +NULL is returned if there are no values maintained for the attr value. + + a string containing the value; this string should not be freed; + + + + + The #AtkTextAttribute for which a value is required + + + + The index of the required value + + + + + + Associate @name with a new #AtkTextAttribute + + an #AtkTextAttribute associated with @name + + + + + a name string + + + + + + Frees the memory associated with an array of AtkTextRange. It is assumed +that the array was returned by the function atk_text_get_bounded_ranges +and is NULL terminated. + + + + + + A pointer to an array of #AtkTextRange which is to be freed. + + + + + + diff --git a/Avahi-0.6.gir b/Avahi-0.6.gir new file mode 100644 index 0000000..b41440a --- /dev/null +++ b/Avahi-0.6.gir @@ -0,0 +1,940 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/AvahiCore-0.6.gir b/AvahiCore-0.6.gir new file mode 100644 index 0000000..4799273 --- /dev/null +++ b/AvahiCore-0.6.gir @@ -0,0 +1,59 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Babl-0.1.gir b/Babl-0.1.gir new file mode 100644 index 0000000..f112ac1 --- /dev/null +++ b/Babl-0.1.gir @@ -0,0 +1,97 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Cally-1.0.gir b/Cally-1.0.gir new file mode 100644 index 0000000..f7f9301 --- /dev/null +++ b/Cally-1.0.gir @@ -0,0 +1,633 @@ + + + + + + + + + + + + + + + + + + + + Action function, to be used on #AtkAction implementations as a individual +action + + + + + + a #CallyActor + + + + + + The <structname>CallyActor</structname> structure contains only private +data and should be accessed using the provided API + + + + Creates a new #CallyActor for the given @actor + + the newly created #AtkObject + + + + + a #ClutterActor + + + + + + Adds a new action to be accessed with the #AtkAction interface. + + added action id, or 0 if failure + + + + + the action name + + + + the action description + + + + the action keybinding + + + + the callback of the action, to be executed with do_action + + + + + + Removes a action, using the @action_id returned by cally_actor_add_action() + + %TRUE if the operation was succesful, %FALSE otherwise + + + + + the action id + + + + + + Removes an action, using the @action_name used when the action was added +with cally_actor_add_action() + + %TRUE if the operation was succesful, %FALSE otherwise + + + + + the name of the action to remove + + + + + + + + + + + + + The <structname>CallyActorClass</structname> structure contains only +private data + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The <structname>CallyClone</structname> structure contains only private +data and should be accessed using the provided API + + + + Creates a new #CallyClone for the given @actor. @actor must be a +#ClutterClone. + + the newly created #AtkObject + + + + + a #ClutterActor + + + + + + + + + + + + + The <structname>CallyCloneClass</structname> structure contains only +private data + + + + + + + + + + + + + The <structname>CallyGroup</structname> structure contains only +private data and should be accessed using the provided API + + + + Creates a #CallyGroup for @actor + + the newly created #CallyGroup + + + + + a #ClutterGroup + + + + + + + + + + + + + The <structname>CallyGroupClass</structname> structure contains only +private data + + + + + + + + + + + + + The <structname>CallyRectangle</structname> structure contains only private +data and should be accessed using the provided API + + + + Creates a new #CallyRectangle for the given @actor. @actor must be +a #ClutterRectangle. + + the newly created #AtkObject + + + + + a #ClutterActor + + + + + + + + + + + + + The <structname>CallyRectangleClass</structname> structure contains +only private data + + + + + + + + + + + + + The <structname>CallyRoot</structname> structure contains only private +data and should be accessed using the provided API + + Creates a new #CallyRoot object. + + the newly created #AtkObject + + + + + + + + + + + + The <structname>CallyRootClass</structname> structure contains only +private data + + + + + + + + + + + + + The <structname>CallyStage</structname> structure contains only +private data and should be accessed using the provided API + + + + Creates a new #CallyStage for the given @actor. @actor should be a +#ClutterStage. + + the newly created #AtkObject + + + + + a #ClutterActor + + + + + + + + + + + + The ::activate signal is emitted when the stage receives the key +focus from the underlying window system. +event listener to "window:activate" + + + + + + The ::create signal is emitted when the stage is created. +event listener to "window:create" + + + + + + The ::deactivate signal is emitted when the stage loses key focus +from the underlying window system. +event listener to "window:deactivate" + + + + + + The ::destroy signal is emitted when the stage is destroyed. +event listener to "window:destroy" + + + + + + + The <structname>CallyStageClass</structname> structure contains only +private data + + + + + + + + + + + + + The <structname>CallyText</structname> structure contains only private +data and should be accessed using the provided API + + + + + + Creates a new #CallyText for the given @actor. @actor must be a +#ClutterText. + + the newly created #AtkObject + + + + + a #ClutterActor + + + + + + + + + + + + + The <structname>CallyTextClass</structname> structure contains only +private data + + + + + + + + + + + + + The <structname>CallyTexture</structname> structure contains only +private data and should be accessed using the provided API + + + + Creates a new #CallyTexture for the given @actor. @actor must be +a #ClutterTexture. + + the newly created #AtkObject + + + + + a #ClutterActor + + + + + + + + + + + + + The <structname>CallyTextureClass</structname> structure contains +only private data + + + + + + + + + + + + + The <structname>CallyUtil</structname> structure contains only +private data and should be accessed using the provided API + + + + + + + + + The <structname>CallyUtilClass</structname> structure contains only +private data + + + + + + + + + + + + + Initializes the accessibility support. +initialized. + + %TRUE if accessibility support has been correctly + + + + + Returns if the accessibility support using cally is enabled. +initialized. + + %TRUE if accessibility support has been correctly + + + + + diff --git a/Clutter-1.0.gir b/Clutter-1.0.gir new file mode 100644 index 0000000..4bdd2f8 --- /dev/null +++ b/Clutter-1.0.gir @@ -0,0 +1,33384 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The <structname>ClutterAction</structname> structure contains only +private data and should be accessed using the provided API + + + + + + The <structname>ClutterActionClass</structname> structure contains +only private data + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Base class for actors. + + + + + Calls clutter_actor_show() on all children of an actor (if any). + + + + + + Calls clutter_actor_hide() on all child actors (if any). + + + + + + Sets the %CLUTTER_ACTOR_MAPPED flag on the actor and possibly maps +and realizes its children if they are visible. Does nothing if the +actor is not visible. +#ClutterActor <function>map()</function> virtual function in an actor +and you need to map the children of that actor. It is not necessary +to call this if you implement #ClutterContainer because the default +implementation will automatically map children of containers. +When overriding map, it is mandatory to chain up to the parent +implementation. + + + + + + Unsets the %CLUTTER_ACTOR_MAPPED flag on the actor and possibly +unmaps its children if they were mapped. +#ClutterActor <function>unmap()</function> virtual function in an actor +and you need to unmap the children of that actor. It is not necessary +to call this if you implement #ClutterContainer because the default +implementation will automatically unmap children of containers. +When overriding unmap, it is mandatory to chain up to the parent +implementation. + + + + + + Computes the requested minimum and natural widths for an actor, +optionally depending on the specified height, or if they are +already computed, returns the cached values. +An actor may not get its request - depending on the layout +manager that's in effect. +A request should not incorporate the actor's scale or anchor point; +those transformations do not affect layout, only rendering. + + + + + + available height when computing the preferred width, or a negative value to indicate that no height is defined + + + + return location for minimum width, or %NULL + + + + return location for the natural width, or %NULL + + + + + + Computes the requested minimum and natural heights for an actor, +or if they are already computed, returns the cached values. +An actor may not get its request - depending on the layout +manager that's in effect. +A request should not incorporate the actor's scale or anchor point; +those transformations do not affect layout, only rendering. + + + + + + available width to assume in computing desired height, or a negative value to indicate that no width is defined + + + + return location for minimum height, or %NULL + + + + return location for natural height, or %NULL + + + + + + Called by the parent of an actor to assign the actor its size. +Should never be called by applications (except when implementing +a container or layout manager). +Actors can know from their allocation box whether they have moved +with respect to their parent actor. The @flags parameter describes +additional information about the allocation, for instance whether +the parent has moved with respect to the stage, for example because +a grandparent's origin has moved. + + + + + + new allocation of the actor, in parent-relative coordinates + + + + flags that control the allocation + + + + + + + + + + + + + + + + Returns the accessible object that describes the actor to an +assistive technology. +If no class-specific #AtkObject implementation is available for the +actor instance in question, it will inherit an #AtkObject +implementation from the first ancestor class for which such an +implementation is defined. +The documentation of the <ulink +url="http://developer.gnome.org/doc/API/2.0/atk/index.html">ATK</ulink> +library contains more information about accessible objects and +their uses. + + the #AtkObject associated with @actor + + + + + Adds @action to the list of actions applied to @self +A #ClutterAction can only belong to one actor at a time +The #ClutterActor will hold a reference on @action until either +clutter_actor_remove_action() or clutter_actor_clear_actions() +is called + + + + + + a #ClutterAction + + + + + + A convenience function for setting the name of a #ClutterAction +while adding it to the list of actions applied to @self +This function is the logical equivalent of: +|[ +clutter_actor_meta_set_name (CLUTTER_ACTOR_META (action), name); +clutter_actor_add_action (self, action); +]| + + + + + + the name to set on the action + + + + a #ClutterAction + + + + + + Removes @action from the list of actions applied to @self +The reference held by @self on the #ClutterAction will be released + + + + + + a #ClutterAction + + + + + + Removes the #ClutterAction with the given name from the list +of actions applied to @self + + + + + + the name of the action to remove + + + + + + Retrieves the #ClutterAction with the given name in the list +of actions applied to @self +name, or %NULL. The returned #ClutterAction is owned by the +actor and it should not be unreferenced directly + + a #ClutterAction for the given + + + + + the name of the action to retrieve + + + + + + Retrieves the list of actions applied to @self +of the list of #ClutterAction<!-- -->s. The contents of the list are +owned by the #ClutterActor. Use g_list_free() to free the resources +allocated by the returned #GList + + a copy + + + + + + + Clears the list of actions applied to @self + + + + + + Adds @effect to the list of #ClutterEffect<!-- -->s applied to @self +The #ClutterActor will hold a reference on the @effect until either +clutter_actor_remove_effect() or clutter_actor_clear_effects() is +called. + + + + + + a #ClutterEffect + + + + + + A convenience function for setting the name of a #ClutterEffect +while adding it to the list of effectss applied to @self +This function is the logical equivalent of: +|[ +clutter_actor_meta_set_name (CLUTTER_ACTOR_META (effect), name); +clutter_actor_add_effect (self, effect); +]| + + + + + + the name to set on the effect + + + + a #ClutterEffect + + + + + + Removes @effect from the list of effects applied to @self +The reference held by @self on the #ClutterEffect will be released + + + + + + a #ClutterEffect + + + + + + Removes the #ClutterEffect with the given name from the list +of effects applied to @self + + + + + + the name of the effect to remove + + + + + + Retrieves the #ClutterEffect<!-- -->s applied on @self, if any +of #ClutterEffect<!-- -->s, or %NULL. The elements of the returned +list are owned by Clutter and they should not be freed. You should +free the returned list using g_list_free() when done + + a list + + + + + + + Retrieves the #ClutterEffect with the given name in the list +of effects applied to @self +name, or %NULL. The returned #ClutterEffect is owned by the +actor and it should not be unreferenced directly + + a #ClutterEffect for the given + + + + + the name of the effect to retrieve + + + + + + Clears the list of effects applied to @self + + + + + + Sets @flags on @self +This function will emit notifications for the changed properties + + + + + + the flags to set + + + + + + Unsets @flags on @self +This function will emit notifications for the changed properties + + + + + + the flags to unset + + + + + + Retrieves the flags set on @self + + a bitwise or of #ClutterActorFlags or 0 + + + + + Flags an actor to be displayed. An actor that isn't shown will not +be rendered on the stage. +Actors are visible by default. +If this function is called on an actor without a parent, the +#ClutterActor:show-on-set-parent will be set to %TRUE as a side +effect. + + + + + + Calls clutter_actor_show() on all children of an actor (if any). + + + + + + Flags an actor to be hidden. A hidden actor will not be +rendered on the stage. +Actors are visible by default. +If this function is called on an actor without a parent, the +#ClutterActor:show-on-set-parent property will be set to %FALSE +as a side-effect. + + + + + + Calls clutter_actor_hide() on all child actors (if any). + + + + + + Realization informs the actor that it is attached to a stage. It +can use this to allocate resources if it wanted to delay allocation +until it would be rendered. However it is perfectly acceptable for +an actor to create resources before being realized because Clutter +only ever has a single rendering context so that actor is free to +be moved from one stage to another. +This function does nothing if the actor is already realized. +Because a realized actor must have realized parent actors, calling +clutter_actor_realize() will also realize all parents of the actor. +This function does not realize child actors, except in the special +case that realizing the stage, when the stage is visible, will +suddenly map (and thus realize) the children of the stage. + + + + + + Unrealization informs the actor that it may be being destroyed or +moved to another stage. The actor may want to destroy any +underlying graphics resources at this point. However it is +perfectly acceptable for it to retain the resources until the actor +is destroyed because Clutter only ever uses a single rendering +context and all of the graphics resources are valid on any stage. +Because mapped actors must be realized, actors may not be +unrealized if they are mapped. This function hides the actor to be +sure it isn't mapped, an application-visible side effect that you +may not be expecting. +This function should not be called by application code. + + + + + + Sets the %CLUTTER_ACTOR_MAPPED flag on the actor and possibly maps +and realizes its children if they are visible. Does nothing if the +actor is not visible. +#ClutterActor <function>map()</function> virtual function in an actor +and you need to map the children of that actor. It is not necessary +to call this if you implement #ClutterContainer because the default +implementation will automatically map children of containers. +When overriding map, it is mandatory to chain up to the parent +implementation. + + + + + + Unsets the %CLUTTER_ACTOR_MAPPED flag on the actor and possibly +unmaps its children if they were mapped. +#ClutterActor <function>unmap()</function> virtual function in an actor +and you need to unmap the children of that actor. It is not necessary +to call this if you implement #ClutterContainer because the default +implementation will automatically unmap children of containers. +When overriding unmap, it is mandatory to chain up to the parent +implementation. + + + + + + Renders the actor to display. +This function should not be called directly by applications. +Call clutter_actor_queue_redraw() to queue paints, instead. +This function is context-aware, and will either cause a +regular paint or a pick paint. +This function will emit the #ClutterActor::paint signal or +the #ClutterActor::pick signal, depending on the context. +This function does not paint the actor if the actor is set to 0, +unless it is performing a pick paint. + + + + + + Queues up a redraw of an actor and any children. The redraw occurs +once the main loop becomes idle (after the current batch of events +has been processed, roughly). +Applications rarely need to call this, as redraws are handled +automatically by modification functions. +This function will not do anything if @self is not visible, or +if the actor is inside an invisible part of the scenegraph. +Also be aware that painting is a NOP for actors with an opacity of +0 +When you are implementing a custom actor you must queue a redraw +whenever some private state changes that will affect painting or +picking of your actor. + + + + + + Indicates that the actor's size request or other layout-affecting +properties may have changed. This function is used inside #ClutterActor +subclass implementations, not by applications directly. +Queueing a new layout automatically queues a redraw as well. + + + + + + Destroys an actor. When an actor is destroyed, it will break any +references it holds to other objects. If the actor is inside a +container, the actor will be removed. +When you destroy a container, its children will be destroyed as well. +clutter_stage_get_default(). + + + + + + Sets the geometry request mode of @self. +The @mode determines the order for invoking +clutter_actor_get_preferred_width() and +clutter_actor_get_preferred_height() + + + + + + the request mode + + + + + + Retrieves the geometry request mode of @self + + the request mode for the actor + + + + + Computes the requested minimum and natural widths for an actor, +optionally depending on the specified height, or if they are +already computed, returns the cached values. +An actor may not get its request - depending on the layout +manager that's in effect. +A request should not incorporate the actor's scale or anchor point; +those transformations do not affect layout, only rendering. + + + + + + available height when computing the preferred width, or a negative value to indicate that no height is defined + + + + return location for minimum width, or %NULL + + + + return location for the natural width, or %NULL + + + + + + Computes the requested minimum and natural heights for an actor, +or if they are already computed, returns the cached values. +An actor may not get its request - depending on the layout +manager that's in effect. +A request should not incorporate the actor's scale or anchor point; +those transformations do not affect layout, only rendering. + + + + + + available width to assume in computing desired height, or a negative value to indicate that no width is defined + + + + return location for minimum height, or %NULL + + + + return location for natural height, or %NULL + + + + + + Computes the preferred minimum and natural size of an actor, taking into +account the actor's geometry management (either height-for-width +or width-for-height). +The width and height used to compute the preferred height and preferred +width are the actor's natural ones. +If you need to control the height for the preferred width, or the width for +the preferred height, you should use clutter_actor_get_preferred_width() +and clutter_actor_get_preferred_height(), and check the actor's preferred +geometry management using the #ClutterActor:request-mode property. + + + + + + return location for the minimum width, or %NULL + + + + return location for the minimum height, or %NULL + + + + return location for the natural width, or %NULL + + + + return location for the natural height, or %NULL + + + + + + Called by the parent of an actor to assign the actor its size. +Should never be called by applications (except when implementing +a container or layout manager). +Actors can know from their allocation box whether they have moved +with respect to their parent actor. The @flags parameter describes +additional information about the allocation, for instance whether +the parent has moved with respect to the stage, for example because +a grandparent's origin has moved. + + + + + + new allocation of the actor, in parent-relative coordinates + + + + flags that control the allocation + + + + + + Allocates the natural size of @self. +This function is a utility call for #ClutterActor implementations +that allocates the actor's preferred natural size. It can be used +by fixed layout managers (like #ClutterGroup or so called +'composite actors') inside the ClutterActor::allocate +implementation to give each child exactly how much space it +requires. +This function is not meant to be used by applications. It is also +not meant to be used outside the implementation of the +ClutterActor::allocate virtual function. + + + + + + flags controlling the allocation + + + + + + Allocates @self taking into account the #ClutterActor<!-- -->'s +preferred size, but limiting it to the maximum available width +and height provided. +This function will do the right thing when dealing with the +actor's request mode. +The implementation of this function is equivalent to: +|[ +if (request_mode == CLUTTER_REQUEST_HEIGHT_FOR_WIDTH) +{ +clutter_actor_get_preferred_width (self, available_height, +&amp;min_width, +&amp;natural_width); +width = CLAMP (natural_width, min_width, available_width); +clutter_actor_get_preferred_height (self, width, +&amp;min_height, +&amp;natural_height); +height = CLAMP (natural_height, min_height, available_height); +} +else +{ +clutter_actor_get_preferred_height (self, available_width, +&amp;min_height, +&amp;natural_height); +height = CLAMP (natural_height, min_height, available_height); +clutter_actor_get_preferred_width (self, height, +&amp;min_width, +&amp;natural_width); +width = CLAMP (natural_width, min_width, available_width); +} +box.x1 = x; box.y1 = y; +box.x2 = box.x1 + available_width; +box.y2 = box.y1 + available_height; +clutter_actor_allocate (self, &amp;box, flags); +]| +This function can be used by fluid layout managers to allocate +an actor's preferred size without making it bigger than the area +available for the container. + + + + + + the actor's X coordinate + + + + the actor's Y coordinate + + + + the maximum available width, or -1 to use the actor's natural width + + + + the maximum available height, or -1 to use the actor's natural height + + + + flags controlling the allocation + + + + + + Allocates @self by taking into consideration the available allocation +area; an alignment factor on either axis; and whether the actor should +fill the allocation on either axis. +The @box should contain the available allocation width and height; +if the x1 and y1 members of #ClutterActorBox are not set to 0, the +allocation will be offset by their value. +This function takes into consideration the geometry request specified by +the #ClutterActor:request-mode property, and the text direction. +This function is useful for fluid layout managers, like #ClutterBinLayout +or #ClutterTableLayout + + + + + + a #ClutterActorBox, containing the available width and height + + + + the horizontal alignment, between 0 and 1 + + + + the vertical alignment, between 0 and 1 + + + + whether the actor should fill horizontally + + + + whether the actor should fill vertically + + + + allocation flags to be passed to clutter_actor_allocate() + + + + + + Gets the layout box an actor has been assigned. The allocation can +only be assumed valid inside a paint() method; anywhere else, it +may be out-of-date. +An allocation does not incorporate the actor's scale or anchor point; +those transformations do not affect layout, only rendering. +<note>Do not call any of the clutter_actor_get_allocation_*() family +of functions inside the implementation of the get_preferred_width() +or get_preferred_height() virtual functions.</note> + + + + + + the function fills this in with the actor's allocation + + + + + + Gets the layout box an actor has been assigned. The allocation can +only be assumed valid inside a paint() method; anywhere else, it +may be out-of-date. +An allocation does not incorporate the actor's scale or anchor point; +those transformations do not affect layout, only rendering. +The returned rectangle is in pixels. + + + + + + allocation geometry in pixels + + + + + + Calculates the transformed coordinates of the four corners of the +actor in the plane of @ancestor. The returned vertices relate to +the #ClutterActorBox coordinates as follows: +<itemizedlist> +<listitem><para>@verts[0] contains (x1, y1)</para></listitem> +<listitem><para>@verts[1] contains (x2, y1)</para></listitem> +<listitem><para>@verts[2] contains (x1, y2)</para></listitem> +<listitem><para>@verts[3] contains (x2, y2)</para></listitem> +</itemizedlist> +If @ancestor is %NULL the ancestor will be the #ClutterStage. In +this case, the coordinates returned will be the coordinates on +the stage before the projection is applied. This is different from +the behaviour of clutter_actor_get_abs_allocation_vertices(). + + + + + + A #ClutterActor to calculate the vertices against, or %NULL to use the default #ClutterStage + + + + return location for an array of 4 #ClutterVertex in which to store the result. + + + + + + + + Sets the actor's fixed position and forces its minimum and natural +size, in pixels. This means the untransformed actor will have the +given geometry. This is the same as calling clutter_actor_set_position() +and clutter_actor_set_size(). + + + + + + A #ClutterGeometry + + + + + + Gets the size and position of an actor relative to its parent +actor. This is the same as calling clutter_actor_get_position() and +clutter_actor_get_size(). It tries to "do what you mean" and get the +requested size and position if the actor's allocation is invalid. + + + + + + A location to store actors #ClutterGeometry + + + + + + + + + + + + + + + + + + + This function tries to "do what you mean" and return +the size an actor will have. If the actor has a valid +allocation, the allocation will be returned; otherwise, +the actors natural size request will be returned. +If you care whether you get the request vs. the allocation, you +should probably call a different function like +clutter_actor_get_allocation_box() or +clutter_actor_get_preferred_width(). + + + + + + return location for the width, or %NULL. + + + + return location for the height, or %NULL. + + + + + + Gets the absolute size of an actor in pixels, taking into account the +scaling factors. +If the actor has a valid allocation, the allocated size will be used. +If the actor has not a valid allocation then the preferred size will +be transformed and returned. +If you want the transformed allocation, see +clutter_actor_get_abs_allocation_vertices() instead. +<note>When the actor (or one of its ancestors) is rotated around the +X or Y axis, it no longer appears as on the stage as a rectangle, but +as a generic quadrangle; in that case this function returns the size +of the smallest rectangle that encapsulates the entire quad. Please +note that in this case no assumptions can be made about the relative +position of this envelope to the absolute position of the actor, as +returned by clutter_actor_get_transformed_position(); if you need this +information, you need to use clutter_actor_get_abs_allocation_vertices() +to get the coords of the actual quadrangle.</note> + + + + + + return location for the width, or %NULL + + + + return location for the height, or %NULL + + + + + + + + + + + + + + + + + + + This function tries to "do what you mean" and tell you where the +actor is, prior to any transformations. Retrieves the fixed +position of an actor in pixels, if one has been set; otherwise, if +the allocation is valid, returns the actor's allocated position; +otherwise, returns 0,0. +The returned position is in pixels. + + + + + + return location for the X coordinate, or %NULL + + + + return location for the Y coordinate, or %NULL + + + + + + Gets the absolute position of an actor, in pixels relative to the stage. + + + + + + return location for the X coordinate, or %NULL + + + + return location for the Y coordinate, or %NULL + + + + + + Checks whether an actor has a fixed position set (and will thus be +unaffected by any layout manager). + + %TRUE if the fixed position is set on the actor + + + + + Sets whether an actor has a fixed position set (and will thus be +unaffected by any layout manager). + + + + + + whether to use fixed position + + + + + + Retrieves the width of a #ClutterActor. +If the actor has a valid allocation, this function will return the +width of the allocated area given to the actor. +If the actor does not have a valid allocation, this function will +return the actor's natural width, that is the preferred width of +the actor. +If you care whether you get the preferred width or the width that +has been assigned to the actor, you should probably call a different +function like clutter_actor_get_allocation_box() to retrieve the +allocated size or clutter_actor_get_preferred_width() to retrieve the +preferred width. +If an actor has a fixed width, for instance a width that has been +assigned using clutter_actor_set_width(), the width returned will +be the same value. + + the width of the actor, in pixels + + + + + Retrieves the height of a #ClutterActor. +If the actor has a valid allocation, this function will return the +height of the allocated area given to the actor. +If the actor does not have a valid allocation, this function will +return the actor's natural height, that is the preferred height of +the actor. +If you care whether you get the preferred height or the height that +has been assigned to the actor, you should probably call a different +function like clutter_actor_get_allocation_box() to retrieve the +allocated size or clutter_actor_get_preferred_height() to retrieve the +preferred height. +If an actor has a fixed height, for instance a height that has been +assigned using clutter_actor_set_height(), the height returned will +be the same value. + + the height of the actor, in pixels + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Sets the actor's X coordinate, relative to its parent, in pixels. +Overrides any layout manager and forces a fixed position for +the actor. + + + + + + the actor's position on the X axis + + + + + + Sets the actor's Y coordinate, relative to its parent, in pixels.# +Overrides any layout manager and forces a fixed position for +the actor. + + + + + + the actor's position on the Y axis + + + + + + Sets the rotation angle of @self around the given axis. +The rotation center coordinates used depend on the value of @axis: +<itemizedlist> +<listitem><para>%CLUTTER_X_AXIS requires @y and @z</para></listitem> +<listitem><para>%CLUTTER_Y_AXIS requires @x and @z</para></listitem> +<listitem><para>%CLUTTER_Z_AXIS requires @x and @y</para></listitem> +</itemizedlist> +The rotation coordinates are relative to the anchor point of the +actor, set using clutter_actor_set_anchor_point(). If no anchor +point is set, the upper left corner is assumed as the origin. + + + + + + the axis of rotation + + + + the angle of rotation + + + + X coordinate of the rotation center + + + + Y coordinate of the rotation center + + + + Z coordinate of the rotation center + + + + + + Sets the rotation angle of @self around the Z axis using the center +point specified as a compass point. For example to rotate such that +the center of the actor remains static you can use +%CLUTTER_GRAVITY_CENTER. If the actor changes size the center point +will move accordingly. + + + + + + the angle of rotation + + + + the center point of the rotation + + + + + + Retrieves the angle and center of rotation on the given axis, +set using clutter_actor_set_rotation(). + + the angle of rotation + + + + + the axis of rotation + + + + return value for the X coordinate of the center of rotation + + + + return value for the Y coordinate of the center of rotation + + + + return value for the Z coordinate of the center of rotation + + + + + + Retrieves the center for the rotation around the Z axis as a +compass direction. If the center was specified in pixels or units +this will return %CLUTTER_GRAVITY_NONE. + + the Z rotation center + + + + + Sets the actor's opacity, with zero being completely transparent and +255 (0xff) being fully opaque. + + + + + + New opacity value for the actor. + + + + + + Retrieves the opacity value of an actor, as set by +clutter_actor_set_opacity(). +For retrieving the absolute opacity of the actor inside a paint +virtual function, see clutter_actor_get_paint_opacity(). + + the opacity of the actor + + + + + Retrieves the absolute opacity of the actor, as it appears on the stage. +This function traverses the hierarchy chain and composites the opacity of +the actor with that of its parents. +This function is intended for subclasses to use in the paint virtual +function, to paint themselves with the correct opacity. + + The actor opacity value. + + + + + Retrieves the 'paint' visibility of an actor recursively checking for non +visible parents. +This is by definition the same as CLUTTER_ACTOR_IS_MAPPED(). + + TRUE if the actor is visibile and will be painted. + + + + + Sets the given name to @self. The name can be used to identify +a #ClutterActor. + + + + + + Textual tag to apply to actor + + + + + + Retrieves the name of @self. +owned by the actor and should not be modified or freed. + + the name of the actor, or %NULL. The returned string is + + + + + Retrieves the unique id for @self. + + Globally unique value for this object instance. + + + + + Sets clip area for @self. The clip area is always computed from the +upper left corner of the actor, even if the anchor point is set +otherwise. + + + + + + X offset of the clip rectangle + + + + Y offset of the clip rectangle + + + + Width of the clip rectangle + + + + Height of the clip rectangle + + + + + + + + + + + Determines whether the actor has a clip area set or not. + + %TRUE if the actor has a clip area set. + + + + + Gets the clip area for @self, if any is set + + + + + + return location for the X offset of the clip rectangle, or %NULL + + + + return location for the Y offset of the clip rectangle, or %NULL + + + + return location for the width of the clip rectangle, or %NULL + + + + return location for the height of the clip rectangle, or %NULL + + + + + + Sets whether @self should be clipped to the same size as its +allocation + + + + + + %TRUE to apply a clip tracking the allocation + + + + + + Retrieves the value set using clutter_actor_set_clip_to_allocation() + + %TRUE if the #ClutterActor is clipped to its allocation + + + + + Sets the parent of @self to @parent. The opposite function is +clutter_actor_unparent(). +This function should not be used by applications, but by custom +container actor subclasses. + + + + + + A new #ClutterActor parent + + + + + + Retrieves the parent of @self. +if no parent is set + + The #ClutterActor parent, or %NULL + + + + + This function resets the parent actor of @self. It is +logically equivalent to calling clutter_actor_unparent() +and clutter_actor_set_parent(), but more efficiently +implemented, ensures the child is not finalized +when unparented, and emits the parent-set signal only +one time. + + + + + + the new #ClutterActor parent + + + + + + Removes the parent of @self. +This function should not be used in applications. It should be called by +implementations of container actors, to dissociate a child from the +container. + + + + + + Determines if @descendant is contained inside @self (either as an +immediate child, or as a deeper descendant). + + whether @descendent is contained within @self + + + + + A #ClutterActor, possibly contained in @self + + + + + + Retrieves the #ClutterStage where @actor is contained. + + the stage containing the actor, or %NULL + + + + + Puts @self above @below. +Both actors must have the same parent, and the parent must implement +the #ClutterContainer interface +This function is the equivalent of clutter_container_raise_child(). + + + + + + A #ClutterActor to raise above. + + + + + + Puts @self below @above. +Both actors must have the same parent, and the parent must implement +the #ClutterContainer interface. +This function is the equivalent of clutter_container_lower_child(). + + + + + + A #ClutterActor to lower below + + + + + + Raises @self to the top. +This function calls clutter_actor_raise() internally. + + + + + + Lowers @self to the bottom. +This function calls clutter_actor_lower() internally. + + + + + + Sets the Z coordinate of @self to @depth. +The unit used by @depth is dependant on the perspective setup. See +also clutter_stage_set_perspective(). + + + + + + Z co-ord + + + + + + Retrieves the depth of @self. + + the depth of the actor + + + + + Scales an actor with the given factors. The scaling is relative to +the scale center and the anchor point. The scale center is +unchanged by this function and defaults to 0,0. + + + + + + double factor to scale actor by horizontally. + + + + double factor to scale actor by vertically. + + + + + + Scales an actor with the given factors around the given center +point. The center point is specified in pixels relative to the +anchor point (usually the top left corner of the actor). + + + + + + double factor to scale actor by horizontally. + + + + double factor to scale actor by vertically. + + + + X coordinate of the center of the scale. + + + + Y coordinate of the center of the scale + + + + + + Scales an actor with the given factors around the given +center point. The center point is specified as one of the compass +directions in #ClutterGravity. For example, setting it to north +will cause the top of the actor to remain unchanged and the rest of +the actor to expand left, right and downwards. + + + + + + double factor to scale actor by horizontally. + + + + double factor to scale actor by vertically. + + + + the location of the scale center expressed as a compass direction. + + + + + + Retrieves an actors scale factors. + + + + + + Location to store horizonal scale factor, or %NULL. + + + + Location to store vertical scale factor, or %NULL. + + + + + + Retrieves the scale center coordinate in pixels relative to the top +left corner of the actor. If the scale center was specified using a +#ClutterGravity this will calculate the pixel offset using the +current size of the actor. + + + + + + Location to store the X position of the scale center, or %NULL. + + + + Location to store the Y position of the scale center, or %NULL. + + + + + + Retrieves the scale center as a compass direction. If the scale +center was specified in pixels or units this will return +%CLUTTER_GRAVITY_NONE. + + the scale gravity + + + + + Moves an actor by the specified distance relative to its current +position in pixels. +This function modifies the fixed position of an actor and thus removes +it from any layout management. Another way to move an actor is with an +anchor point, see clutter_actor_set_anchor_point(). + + + + + + Distance to move Actor on X axis. + + + + Distance to move Actor on Y axis. + + + + + + Sets @actor as reactive. Reactive actors will receive events. + + + + + + whether the actor should be reactive to events + + + + + + Checks whether @actor is marked as reactive. + + %TRUE if the actor is reactive + + + + + This function is used to emit an event on the main stage. +You should rarely need to use this function, except for +synthetising events. +if the actor handled the event, or %FALSE if the event was +not handled + + the return value from the signal emission: %TRUE + + + + + a #ClutterEvent + + + + TRUE if event in in capture phase, FALSE otherwise. + + + + + + Sets the #ClutterShader to be used when rendering @self. +If @shader is %NULL it will unset any currently set shader +for the actor. + + %TRUE if the shader was successfully applied + + + + + a #ClutterShader or %NULL to unset the shader. + + + + + + Queries the currently set #ClutterShader on @self. +or %NULL if no shader is set. + + The currently set #ClutterShader + + + + + Sets the value for a named parameter of the shader applied +to @actor. + + + + + + the name of the parameter + + + + the value of the parameter + + + + + + Sets the value for a named int parameter of the shader applied to + + + + + + the name of the parameter + + + + the value of the parameter + + + + + + Sets the value for a named float parameter of the shader applied +to @actor. + + + + + + the name of the parameter + + + + the value of the parameter + + + + + + Sets an anchor point for @self. The anchor point is a point in the +coordinate space of an actor to which the actor position within its +parent is relative; the default is (0, 0), i.e. the top-left corner +of the actor. + + + + + + X coordinate of the anchor point + + + + Y coordinate of the anchor point + + + + + + Sets an anchor point for the actor, and adjusts the actor postion so that +the relative position of the actor toward its parent remains the same. + + + + + + X coordinate of the anchor point + + + + Y coordinate of the anchor point + + + + + + Gets the current anchor point of the @actor in pixels. + + + + + + return location for the X coordinate of the anchor point + + + + return location for the Y coordinate of the anchor point + + + + + + Retrieves the anchor position expressed as a #ClutterGravity. If +the anchor point was specified using pixels or units this will +return %CLUTTER_GRAVITY_NONE. + + the #ClutterGravity used by the anchor point + + + + + Sets an anchor point on the actor, based on the given gravity (this is a +convenience function wrapping clutter_actor_set_anchor_point()). +Since version 1.0 the anchor point will be stored as a gravity so +that if the actor changes size then the anchor point will move. For +example, if you set the anchor point to %CLUTTER_GRAVITY_SOUTH_EAST +and later double the size of the actor, the anchor point will move +to the bottom right. + + + + + + #ClutterGravity. + + + + + + Sets an anchor point on the actor based on the given gravity, adjusting the +actor postion so that its relative position within its parent remains +unchanged. +Since version 1.0 the anchor point will be stored as a gravity so +that if the actor changes size then the anchor point will move. For +example, if you set the anchor point to %CLUTTER_GRAVITY_SOUTH_EAST +and later double the size of the actor, the anchor point will move +to the bottom right. + + + + + + #ClutterGravity. + + + + + + + + + + + + + + + + + + + + + + + + + Checks whether any rotation is applied to the actor. + + %TRUE if the actor is rotated. + + + + + Checks whether the actor is scaled in either dimension. + + %TRUE if the actor is scaled. + + + + + Should be called inside the implementation of the +#ClutterActor::pick virtual function in order to check whether +the actor should paint itself in pick mode or not. +This function should never be called directly by applications. +%FALSE otherwise + + %TRUE if the actor should paint its silhouette, + + + + + Calculates the transformed screen coordinates of the four corners of +the actor; the returned vertices relate to the #ClutterActorBox +coordinates as follows: +<itemizedlist> +<listitem><para>v[0] contains (x1, y1)</para></listitem> +<listitem><para>v[1] contains (x2, y1)</para></listitem> +<listitem><para>v[2] contains (x1, y2)</para></listitem> +<listitem><para>v[3] contains (x2, y2)</para></listitem> +</itemizedlist> + + + + + + Pointer to a location of an array of 4 #ClutterVertex where to store the result. + + + + + + + + Transforms @point in coordinates relative to the actor +into screen-relative coordinates with the current actor +transformation (i.e. scale, rotation, etc) + + + + + + A point as #ClutterVertex + + + + The translated #ClutterVertex + + + + + + Transforms @point in coordinates relative to the actor into +ancestor-relative coordinates using the relevant transform +stack (i.e. scale, rotation, etc). +If @ancestor is %NULL the ancestor will be the #ClutterStage. In +this case, the coordinates returned will be the coordinates on +the stage before the projection is applied. This is different from +the behaviour of clutter_actor_apply_transform_to_point(). + + + + + + A #ClutterActor ancestor, or %NULL to use the default #ClutterStage + + + + A point as #ClutterVertex + + + + The translated #ClutterVertex + + + + + + Sets the key focus of the #ClutterStage including @self +to this #ClutterActor. + + + + + + Retrieves the #PangoContext for @self. The actor's #PangoContext +is already configured using the appropriate font map, resolution +and font options. +Unlike clutter_actor_create_pango_context(), this context is owend +by the #ClutterActor and it will be updated each time the options +stored by the #ClutterBackend change. +You can use the returned #PangoContext to create a #PangoLayout +and render text using cogl_pango_render_layout() to reuse the +glyphs cache also used by Clutter. +The returned #PangoContext is owned by the actor and should not be +unreferenced by the application code + + the #PangoContext for a #ClutterActor. + + + + + Creates a #PangoContext for the given actor. The #PangoContext +is already configured using the appropriate font map, resolution +and font options. +See also clutter_actor_get_pango_context(). +on the returned value to deallocate its resources + + the newly created #PangoContext. Use g_object_unref() + + + + + Creates a new #PangoLayout from the same #PangoContext used +by the #ClutterActor. The #PangoLayout is already configured +with the font map, resolution and font options, and the +given @text. +If you want to keep around a #PangoLayout created by this +function you will have to connect to the #ClutterBackend::font-changed +and #ClutterBackend::resolution-changed signals, and call +pango_layout_context_changed() in response to them. +when done + + the newly created #PangoLayout. Use g_object_unref() + + + + + (allow-none) the text to set on the #PangoLayout, or %NULL + + + + + + Retrieves the transformations applied to @self + + + + + + the return location for a #CoglMatrix + + + + + + Checks whether @self is being currently painted by a #ClutterClone +This function is useful only inside the ::paint virtual function +implementations or within handlers for the #ClutterActor::paint +signal +This function should not be used by applications +by a #ClutterClone, and %FALSE otherwise + + %TRUE if the #ClutterActor is currently being painted + + + + + Checks whether an actor contains the the pointer of a +#ClutterInputDevice +%FALSE otherwise + + %TRUE if the actor contains the pointer, and + + + + + Sets the #ClutterTextDirection for an actor +The passed text direction must not be %CLUTTER_TEXT_DIRECTION_DEFAULT +If @self implements #ClutterContainer then this function will recurse +inside all the children of @self (including the internal ones). +Composite actors not implementing #ClutterContainer, or actors requiring +special handling when the text direction changes, should connect to +the #GObject::notify signal for the #ClutterActor:text-direction property + + + + + + the text direction for @self + + + + + + Retrieves the value set using clutter_actor_set_text_direction() +If no text direction has been previously set, the default text +direction, as returned by clutter_get_default_text_direction(), will +be returned instead + + the #ClutterTextDirection for the actor + + + + + Should be used by actors implementing the #ClutterContainer and with +internal children added through clutter_actor_set_parent(), for instance: +|[ +static void +my_actor_init (MyActor *self) +{ +self->priv = SELF_ACTOR_GET_PRIVATE (self); +clutter_actor_push_internal (CLUTTER_ACTOR (self)); +/&ast; calling clutter_actor_set_parent() now will result in +&ast; the internal flag being set on a child of MyActor +&ast;/ +/&ast; internal child - a background texture &ast;/ +self->priv->background_tex = clutter_texture_new (); +clutter_actor_set_parent (self->priv->background_tex, +CLUTTER_ACTOR (self)); +/&ast; internal child - a label &ast;/ +self->priv->label = clutter_text_new (); +clutter_actor_set_parent (self->priv->label, +CLUTTER_ACTOR (self)); +clutter_actor_pop_internal (CLUTTER_ACTOR (self)); +/&ast; calling clutter_actor_set_parent() now will not result in +&ast; the internal flag being set on a child of MyActor +&ast;/ +} +]| +This function will be used by Clutter to toggle an "internal child" +flag whenever clutter_actor_set_parent() is called; internal children +are handled differently by Clutter, specifically when destroying their +parent. +Call clutter_actor_pop_internal() when you finished adding internal +children. +Nested calls to clutter_actor_push_internal() are allowed, but each +one must by followed by a clutter_actor_pop_internal() call. + + + + + + Disables the effects of clutter_actor_pop_internal() + + + + + + Checks if the actor has an up-to-date allocation assigned to +visible and has a parent. It also means that there is no +outstanding relayout request in progress for the actor or its +children (There might be other outstanding layout requests in +progress that will cause the actor to get a new allocation +when the stage is laid out, however). +If this function returns %FALSE, then the actor will normally +be allocated before it is next drawn on the screen. + + %TRUE if the actor has an up-to-date allocation + + + + + Returns the accessible object that describes the actor to an +assistive technology. +If no class-specific #AtkObject implementation is available for the +actor instance in question, it will inherit an #AtkObject +implementation from the first ancestor class for which such an +implementation is defined. +The documentation of the <ulink +url="http://developer.gnome.org/doc/API/2.0/atk/index.html">ATK</ulink> +library contains more information about accessible objects and +their uses. + + the #AtkObject associated with @actor + + + + + Adds @constraint to the list of #ClutterConstraint<!-- -->s applied +to @self +The #ClutterActor will hold a reference on the @constraint until +either clutter_actor_remove_constraint() or +clutter_actor_clear_constraints() is called. + + + + + + a #ClutterConstraint + + + + + + A convenience function for setting the name of a #ClutterConstraint +while adding it to the list of constraints applied to @self +This function is the logical equivalent of: +|[ +clutter_actor_meta_set_name (CLUTTER_ACTOR_META (constraint), name); +clutter_actor_add_constraint (self, constraint); +]| + + + + + + the name to set on the constraint + + + + a #ClutterConstraint + + + + + + Removes @constraint from the list of constraints applied to @self +The reference held by @self on the #ClutterConstraint will be released + + + + + + a #ClutterConstraint + + + + + + Removes the #ClutterConstraint with the given name from the list +of constraints applied to @self + + + + + + the name of the constraint to remove + + + + + + Retrieves the list of constraints applied to @self +of the list of #ClutterConstraint<!-- -->s. The contents of the list are +owned by the #ClutterActor. Use g_list_free() to free the resources +allocated by the returned #GList + + a copy + + + + + + + Retrieves the #ClutterConstraint with the given name in the list +of constraints applied to @self +name, or %NULL. The returned #ClutterConstraint is owned by the +actor and it should not be unreferenced directly + + a #ClutterConstraint for the given + + + + + the name of the constraint to retrieve + + + + + + Clears the list of constraints applied to @self + + + + + + Animates the given list of properties of @actor between the current +value for each property and a new final value. The animation has a +definite duration and a speed given by the @mode. +For example, this: +|[ +clutter_actor_animate (rectangle, CLUTTER_LINEAR, 250, +"width", 100.0, +"height", 100.0, +NULL); +]| +will make width and height properties of the #ClutterActor "rectangle" +grow linearly between the current value and 100 pixels, in 250 milliseconds. +The animation @mode is a logical id, either from the #ClutterAnimationMode +enumeration of from clutter_alpha_register_func(). +All the properties specified will be animated between the current value +and the final value. If a property should be set at the beginning of +the animation but not updated during the animation, it should be prefixed +by the "fixed::" string, for instance: +|[ +clutter_actor_animate (actor, CLUTTER_EASE_IN_SINE, 100, +"rotation-angle-z", 360.0, +"fixed::rotation-center-z", &amp;center, +NULL); +]| +Will animate the "rotation-angle-z" property between the current value +and 360 degrees, and set the "rotation-center-z" property to the fixed +value of the #ClutterVertex "center". +This function will implicitly create a #ClutterAnimation object which +will be assigned to the @actor and will be returned to the developer +to control the animation or to know when the animation has been +completed. +If a name argument starts with "signal::", "signal-after::", +"signal-swapped::" or "signal-swapped-after::" the two following arguments +are used as callback function and data for a signal handler installed on +the #ClutterAnimation object for the specified signal name, for instance: +|[ +static void +on_animation_completed (ClutterAnimation *animation, +ClutterActor *actor) +{ +clutter_actor_hide (actor); +} +clutter_actor_animate (actor, CLUTTER_EASE_IN_CUBIC, 100, +"opacity", 0, +"signal::completed", on_animation_completed, actor, +NULL); +]| +or, to automatically destroy an actor at the end of the animation: +|[ +clutter_actor_animate (actor, CLUTTER_EASE_IN_CUBIC, 100, +"opacity", 0, +"signal-swapped-after::completed", +clutter_actor_destroy, +actor, +NULL); +]| +The "signal::" modifier is the equivalent of using g_signal_connect(); +the "signal-after::" modifier is the equivalent of using +g_signal_connect_after() or g_signal_connect_data() with the +%G_CONNECT_AFTER; the "signal-swapped::" modifier is the equivalent +of using g_signal_connect_swapped() or g_signal_connect_data() with the +%G_CONNECT_SWAPPED flah; finally, the "signal-swapped-after::" modifier +is the equivalent of using g_signal_connect_data() with both the +%G_CONNECT_AFTER and %G_CONNECT_SWAPPED flags. The clutter_actor_animate() +function will not keep track of multiple connections to the same signal, +so it is your responsability to avoid them when calling +clutter_actor_animate() multiple times on the same actor. +Calling this function on an actor that is already being animated +will cause the current animation to change with the new final values, +the new easing mode and the new duration - that is, this code: +|[ +clutter_actor_animate (actor, CLUTTER_LINEAR, 250, +"width", 100.0, +"height", 100.0, +NULL); +clutter_actor_animate (actor, CLUTTER_EASE_IN_CUBIC, 500, +"x", 100.0, +"y", 100.0, +"width", 200.0, +NULL); +]| +is the equivalent of: +|[ +clutter_actor_animate (actor, CLUTTER_EASE_IN_CUBIC, 500, +"x", 100.0, +"y", 100.0, +"width", 200.0, +"height", 100.0, +NULL); +]| +<note>Unless the animation is looping, the #ClutterAnimation created by +clutter_actor_animate() will become invalid as soon as it is +complete.</note> +Since the created #ClutterAnimation instance attached to @actor +is guaranteed to be valid throughout the #ClutterAnimation::completed +signal emission chain, you will not be able to create a new animation +using clutter_actor_animate() on the same @actor from within the +#ClutterAnimation::completed signal handler unless you use +g_signal_connect_after() to connect the callback function, for instance: +|[ +static void +on_animation_completed (ClutterAnimation *animation, +ClutterActor *actor) +{ +clutter_actor_animate (actor, CLUTTER_EASE_OUT_CUBIC, 250, +"x", 500.0, +"y", 500.0, +NULL); +} +... +animation = clutter_actor_animate (actor, CLUTTER_EASE_IN_CUBIC, 250, +"x", 100.0, +"y", 100.0, +NULL); +g_signal_connect (animation, "completed", +G_CALLBACK (on_animation_completed), +actor); +... +]| +owned by the #ClutterActor and should not be unreferenced with +g_object_unref() + + a #ClutterAnimation object. The object is + + + + + an animation mode logical id + + + + duration of the animation, in milliseconds + + + + the name of a property + + + + + + + + + + Animates the given list of properties of @actor between the current +value for each property and a new final value. The animation has a +definite duration given by @timeline and a speed given by the @mode. +See clutter_actor_animate() for further details. +This function is useful if you want to use an existing timeline +to animate @actor. +owned by the #ClutterActor and should not be unreferenced with +g_object_unref() + + a #ClutterAnimation object. The object is + + + + + an animation mode logical id + + + + a #ClutterTimeline + + + + the name of a property + + + + + + + + + + Animates the given list of properties of @actor between the current +value for each property and a new final value. The animation has a +definite behaviour given by the passed @alpha. +See clutter_actor_animate() for further details. +This function is useful if you want to use an existing #ClutterAlpha +to animate @actor. +#ClutterActor and should not be unreferenced with g_object_unref() + + a #ClutterAnimation object. The object is owned by the + + + + + a #ClutterAlpha + + + + the name of a property + + + + + + + + + + Animates the given list of properties of @actor between the current +value for each property and a new final value. The animation has a +definite duration and a speed given by the @mode. +This is the vector-based variant of clutter_actor_animate(), useful +for language bindings. +<warning>Unlike clutter_actor_animate(), this function will not +allow you to specify "signal::" names and callbacks.</warning> +owned by the #ClutterActor and should not be unreferenced with +g_object_unref() + + a #ClutterAnimation object. The object is + + + + + an animation mode logical id + + + + duration of the animation, in milliseconds + + + + number of property names and values + + + + a vector containing the property names to set + + + + + + a vector containing the property values to set + + + + + + + + Animates the given list of properties of @actor between the current +value for each property and a new final value. The animation has a +definite duration given by @timeline and a speed given by the @mode. +See clutter_actor_animate() for further details. +This function is useful if you want to use an existing timeline +to animate @actor. +This is the vector-based variant of clutter_actor_animate_with_timeline(), +useful for language bindings. +<warning>Unlike clutter_actor_animate_with_timeline(), this function +will not allow you to specify "signal::" names and callbacks.</warning> +owned by the #ClutterActor and should not be unreferenced with +g_object_unref() + + a #ClutterAnimation object. The object is + + + + + an animation mode logical id + + + + a #ClutterTimeline + + + + number of property names and values + + + + a vector containing the property names to set + + + + + + a vector containing the property values to set + + + + + + + + Animates the given list of properties of @actor between the current +value for each property and a new final value. The animation has a +definite behaviour given by the passed @alpha. +See clutter_actor_animate() for further details. +This function is useful if you want to use an existing #ClutterAlpha +to animate @actor. +This is the vector-based variant of clutter_actor_animate_with_alpha(), +useful for language bindings. +<warning>Unlike clutter_actor_animate_with_alpha(), this function will +not allow you to specify "signal::" names and callbacks.</warning> +#ClutterActor and should not be unreferenced with g_object_unref() + + a #ClutterAnimation object. The object is owned by the + + + + + a #ClutterAlpha + + + + number of property names and values + + + + a vector containing the property names to set + + + + + + a vector containing the property values to set + + + + + + + + Retrieves the #ClutterAnimation used by @actor, if clutter_actor_animate() +has been called on @actor. + + a #ClutterAnimation, or %NULL + + + + + Adds a #ClutterAction to the actor + + + + The allocation for the actor, in pixels +This is property is read-only, but you might monitor it to know when an +actor moves or resizes + + + + The anchor point expressed as a #ClutterGravity + + + + The X coordinate of an actor's anchor point, relative to +the actor coordinate space, in pixels + + + + The Y coordinate of an actor's anchor point, relative to +the actor coordinate space, in pixels + + + + The clip region for the actor, in actor-relative coordinates +Every part of the actor outside the clip region will not be +painted + + + + Whether the clip region should track the allocated area +of the actor. +This property is ignored if a clip area has been explicitly +set using clutter_actor_set_clip(). + + + + Adds a #ClutterConstaint to the actor + + + + The position of the actor on the Z axis + + + + Adds #ClutterEffect to the list of effects be applied on a #ClutterActor + + + + This flag controls whether the #ClutterActor:fixed-x and +#ClutterActor:fixed-y properties are used + + + + The fixed X position of the actor in pixels. +Writing this property sets #ClutterActor:fixed-position-set +property as well, as a side effect + + + + The fixed Y position of the actor in pixels. +Writing this property sets the #ClutterActor:fixed-position-set +property as well, as a side effect + + + + Whether the actor has the #ClutterActor:clip property set or not + + + + Whether the actor contains the pointer of a #ClutterInputDevice +or not. + + + + Height of the actor (in pixels). If written, forces the minimum and +natural size request of the actor to the given height. If read, returns +the allocated height if available, otherwise the height request. + + + + Whether the actor is mapped (will be painted when the stage +to which it belongs is mapped) + + + + A forced minimum height request for the actor, in pixels +Writing this property sets the #ClutterActor:min-height-set property +as well, as a side effect. This property overrides the usual height +request of the actor. + + + + This flag controls whether the #ClutterActor:min-height property +is used + + + + A forced minimum width request for the actor, in pixels +Writing this property sets the #ClutterActor:min-width-set property +as well, as a side effect. +This property overrides the usual width request of the actor. + + + + This flag controls whether the #ClutterActor:min-width property +is used + + + + The name of the actor + + + + A forced natural height request for the actor, in pixels +Writing this property sets the #ClutterActor:natural-height-set +property as well, as a side effect. This property overrides the +usual height request of the actor + + + + This flag controls whether the #ClutterActor:natural-height property +is used + + + + A forced natural width request for the actor, in pixels +Writing this property sets the #ClutterActor:natural-width-set +property as well, as a side effect. This property overrides the +usual width request of the actor + + + + This flag controls whether the #ClutterActor:natural-width property +is used + + + + Opacity of an actor, between 0 (fully transparent) and +255 (fully opaque) + + + + Whether the actor is reactive to events or not +Only reactive actors will emit event-related signals + + + + Whether the actor has been realized + + + + Request mode for the #ClutterActor. The request mode determines the +type of geometry management used by the actor, either height for width +(the default) or width for height. +For actors implementing height for width, the parent container should get +the preferred width first, and then the preferred height for that width. +For actors implementing width for height, the parent container should get +the preferred height first, and then the preferred width for that height. +For instance: +|[ +ClutterRequestMode mode; +gfloat natural_width, min_width; +gfloat natural_height, min_height; +mode = clutter_actor_get_request_mode (child); +if (mode == CLUTTER_REQUEST_HEIGHT_FOR_WIDTH) +{ +clutter_actor_get_preferred_width (child, -1, +&amp;min_width, +&amp;natural_width); +clutter_actor_get_preferred_height (child, natural_width, +&amp;min_height, +&amp;natural_height); +} +else +{ +clutter_actor_get_preferred_height (child, -1, +&amp;min_height, +&amp;natural_height); +clutter_actor_get_preferred_width (child, natural_height, +&amp;min_width, +&amp;natural_width); +} +]| +will retrieve the minimum and natural width and height depending on the +preferred request mode of the #ClutterActor "child". +The clutter_actor_get_preferred_size() function will implement this +check for you. + + + + The rotation angle on the X axis + + + + The rotation angle on the Y axis + + + + The rotation angle on the Z axis + + + + The rotation center on the X axis. + + + + The rotation center on the Y axis. + + + + The rotation center on the Z axis. + + + + The rotation center on the Z axis expressed as a #ClutterGravity. + + + + The horizontal center point for scaling + + + + The vertical center point for scaling + + + + The center point for scaling expressed as a #ClutterGravity + + + + The horizontal scale of the actor + + + + The vertical scale of the actor + + + + If %TRUE, the actor is automatically shown when parented. +Calling clutter_actor_hide() on an actor which has not been +parented will set this property to %FALSE as a side effect. + + + + + + + Whether the actor is set to be visible or not +See also #ClutterActor:mapped + + + + Width of the actor (in pixels). If written, forces the minimum and +natural size request of the actor to the given width. If read, returns +the allocated width if available, otherwise the width request. + + + + X coordinate of the actor in pixels. If written, forces a fixed +position for the actor. If read, returns the fixed position if any, +otherwise the allocation if available, otherwise 0. + + + + Y coordinate of the actor in pixels. If written, forces a fixed +position for the actor. If read, returns the fixed position if +any, otherwise the allocation if available, otherwise 0. + + + + + + + + + + + + + + + + The ::allocation-changed signal is emitted when the +#ClutterActor:allocation property changes. Usually, application +code should just use the notifications for the :allocation property +but if you want to track the allocation flags as well, for instance +to know whether the absolute origin of @actor changed, then you might +want use this signal instead. + + + + + + a #ClutterActorBox with the new allocation + + + + #ClutterAllocationFlags for the allocation + + + + + + The ::button-press-event signal is emitted each time a mouse button +is pressed on @actor. +or %FALSE to continue the emission. + + %TRUE if the event has been handled by the actor, + + + + + a #ClutterButtonEvent + + + + + + The ::button-release-event signal is emitted each time a mouse button +is released on @actor. +or %FALSE to continue the emission. + + %TRUE if the event has been handled by the actor, + + + + + a #ClutterButtonEvent + + + + + + The ::captured-event signal is emitted when an event is captured +by Clutter. This signal will be emitted starting from the top-level +container (the #ClutterStage) to the actor which received the event +going down the hierarchy. This signal can be used to intercept every +event before the specialized events (like +ClutterActor::button-press-event or ::key-released-event) are +emitted. +or %FALSE to continue the emission. + + %TRUE if the event has been handled by the actor, + + + + + a #ClutterEvent + + + + + + The ::destroy signal is emitted when an actor is destroyed, +either by direct invocation of clutter_actor_destroy() or +when the #ClutterGroup that contains the actor is destroyed. + + + + + + The ::enter-event signal is emitted when the pointer enters the @actor +or %FALSE to continue the emission. + + %TRUE if the event has been handled by the actor, + + + + + a #ClutterCrossingEvent + + + + + + The ::event signal is emitted each time an event is received +by the @actor. This signal will be emitted on every actor, +following the hierarchy chain, until it reaches the top-level +container (the #ClutterStage). +or %FALSE to continue the emission. + + %TRUE if the event has been handled by the actor, + + + + + a #ClutterEvent + + + + + + The ::hide signal is emitted when an actor is no longer rendered +on the stage. + + + + + + The ::key-focus-in signal is emitted when @actor receives key focus. + + + + + + The ::key-focus-out signal is emitted when @actor loses key focus. + + + + + + The ::key-press-event signal is emitted each time a keyboard button +is pressed while @actor has key focus (see clutter_stage_set_key_focus()). +or %FALSE to continue the emission. + + %TRUE if the event has been handled by the actor, + + + + + a #ClutterKeyEvent + + + + + + The ::key-release-event signal is emitted each time a keyboard button +is released while @actor has key focus (see +clutter_stage_set_key_focus()). +or %FALSE to continue the emission. + + %TRUE if the event has been handled by the actor, + + + + + a #ClutterKeyEvent + + + + + + The ::leave-event signal is emitted when the pointer leaves the @actor. +or %FALSE to continue the emission. + + %TRUE if the event has been handled by the actor, + + + + + a #ClutterCrossingEvent + + + + + + The ::motion-event signal is emitted each time the mouse pointer is +moved over @actor. +or %FALSE to continue the emission. + + %TRUE if the event has been handled by the actor, + + + + + a #ClutterMotionEvent + + + + + + The ::paint signal is emitted each time an actor is being painted. +Subclasses of #ClutterActor should override the class signal handler +and paint themselves in that function. +It is possible to connect a handler to the ::paint signal in order +to set up some custom aspect of a paint. + + + + + + This signal is emitted when the parent of the actor changes. + + + + + + the previous parent of the actor, or %NULL + + + + + + The ::pick signal is emitted each time an actor is being painted +in "pick mode". The pick mode is used to identify the actor during +the event handling phase, or by clutter_stage_get_actor_at_pos(). +The actor should paint its shape using the passed @pick_color. +Subclasses of #ClutterActor should override the class signal handler +and paint themselves in that function. +It is possible to connect a handler to the ::pick signal in order +to set up some custom aspect of a paint in pick mode. + + + + + + the #ClutterColor to be used when picking + + + + + + The ::queue_redraw signal is emitted when clutter_actor_queue_redraw() +is called on @origin. +The default implementation for #ClutterActor chains up to the +parent actor and queues a redraw on the parent, thus "bubbling" +the redraw queue up through the actor graph. The default +implementation for #ClutterStage queues a clutter_redraw() in a +main loop idle handler. +Note that the @origin actor may be the stage, or a container; it +does not have to be a leaf node in the actor graph. +Toolkits embedding a #ClutterStage which require a redraw and +relayout cycle can stop the emission of this signal using the +GSignal API, redraw the UI and then call clutter_redraw() +themselves, like: +|[ +static void +on_redraw_complete (void) +{ +/&ast; execute the Clutter drawing pipeline &ast;/ +clutter_redraw (); +} +static void +on_stage_queue_redraw (ClutterStage *stage) +{ +/&ast; this prevents the default handler to run &ast;/ +g_signal_stop_emission_by_name (stage, "queue-redraw"); +/&ast; queue a redraw with the host toolkit and call +&ast; a function when the redraw has been completed +&ast;/ +queue_a_redraw (G_CALLBACK (on_redraw_complete)); +} +]| +<note><para>This signal is emitted before the Clutter paint +pipeline is executed. If you want to know when the pipeline has +been completed you should connect to the ::paint signal on the +Stage with g_signal_connect_after().</para></note> + + + + + + the actor which initiated the redraw request + + + + + + + + + + + The ::realize signal is emitted each time an actor is being +realized. + + + + + + The ::scroll-event signal is emitted each time the mouse is +scrolled on @actor +or %FALSE to continue the emission. + + %TRUE if the event has been handled by the actor, + + + + + a #ClutterScrollEvent + + + + + + The ::show signal is emitted when an actor is visible and +rendered on the stage. + + + + + + The ::unrealize signal is emitted each time an actor is being +unrealized. + + + + + + + Bounding box of an actor. The coordinates of the top left and right bottom +corners of an actor. The coordinates of the two points are expressed in +pixels with sub-pixel precision + + + + + + + + + + + + + + Allocates a new #ClutterActorBox using the passed coordinates +for the top left and bottom right points +clutter_actor_box_free() to free the resources + + the newly allocated #ClutterActorBox. Use + + + + + X coordinate of the top left point + + + + Y coordinate of the top left point + + + + X coordinate of the bottom right point + + + + Y coordinate of the bottom right point + + + + + + Copies @box +clutter_actor_box_free() to free the allocated resources + + a newly allocated copy of #ClutterActorBox. Use + + + + + Frees a #ClutterActorBox allocated using clutter_actor_box_new() +or clutter_actor_box_copy() + + + + + + Checks @box_a and @box_b for equality + + %TRUE if the passed #ClutterActorBox are equal + + + + + a #ClutterActorBox + + + + + + Retrieves the X coordinate of the origin of @box + + the X coordinate of the origin + + + + + Retrieves the Y coordinate of the origin of @box + + the Y coordinate of the origin + + + + + Retrieves the width of the @box + + the width of the box + + + + + Retrieves the height of the @box + + the height of the box + + + + + Retrieves the origin of @box + + + + + + return location for the X coordinate, or %NULL + + + + return location for the Y coordinate, or %NULL + + + + + + Retrieves the size of @box + + + + + + return location for the width, or %NULL + + + + return location for the height, or %NULL + + + + + + Retrieves the area of @box + + the area of a #ClutterActorBox, in pixels + + + + + Checks whether a point with @x, @y coordinates is contained +withing @box + + %TRUE if the point is contained by the #ClutterActorBox + + + + + X coordinate of the point + + + + Y coordinate of the point + + + + + + Calculates the bounding box represented by the four vertices; for details +of the vertex array see clutter_actor_get_abs_allocation_vertices(). + + + + + + array of four #ClutterVertex + + + + + + + + Interpolates between @initial and @final #ClutterActorBox<!-- -->es +using @progress + + + + + + the final #ClutterActorBox + + + + the interpolation progress + + + + return location for the interpolation + + + + + + Clamps the components of @box to the nearest integer + + + + + + + Base class for actors. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + available height when computing the preferred width, or a negative value to indicate that no height is defined + + + + return location for minimum width, or %NULL + + + + return location for the natural width, or %NULL + + + + + + + + + + + + + + + + available width to assume in computing desired height, or a negative value to indicate that no width is defined + + + + return location for minimum height, or %NULL + + + + return location for natural height, or %NULL + + + + + + + + + + + + + + + + new allocation of the actor, in parent-relative coordinates + + + + flags that control the allocation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + the #AtkObject associated with @actor + + + + + + + + + + + + + + + + + Flags used to signal the state of an actor. + + + + + + + + The <structname>ClutterActorMeta</structname> structure contains only +private data and should be accessed using the provided API + + + + + + + + + + + + Sets the name of @meta +The name can be used to identify the #ClutterActorMeta instance + + + + + + the name of @meta + + + + + + Retrieves the name set using clutter_actor_meta_set_name() +instance, or %NULL if none was set. The returned string is owned +by the #ClutterActorMeta instance and it should not be modified +or freed + + the name of the #ClutterActorMeta + + + + + Sets whether @meta should be enabled or not + + + + + + whether @meta is enabled + + + + + + Retrieves whether @meta is enabled + + %TRUE if the #ClutterActorMeta instance is enabled + + + + + Retrieves a pointer to the #ClutterActor that owns @meta + + a pointer to a #ClutterActor or %NULL + + + + + The #ClutterActor attached to the #ClutterActorMeta instance + + + + Whether or not the #ClutterActorMeta is enabled + + + + The unique name to access the #ClutterActorMeta + + + + + + + + + + + The <structname>ClutterActorMetaClass</structname> structure contains +only private data + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Specifies the axis on which #ClutterAlignConstraint should maintain +the alignment + + + + + <structname>ClutterAlignConstraint</structname> is an opaque structure +whose members cannot be directly accesses + + Creates a new constraint, aligning a #ClutterActor's position with +regards of the size of the actor to @source, with the given +alignment @factor + + the newly created #ClutterAlignConstraint + + + + + the #ClutterActor to use as the source of the alignment, or %NULL + + + + the axis to be used to compute the alignment + + + + the alignment factor, between 0.0 and 1.0 + + + + + + Sets the source of the alignment constraint + + + + + + a #ClutterActor, or %NULL to unset the source + + + + + + Retrieves the source of the alignment +of the alignment + + the #ClutterActor used as the source + + + + + Sets the axis to which the alignment refers to + + + + + + the axis to which the alignment refers to + + + + + + Retrieves the value set using clutter_align_constraint_set_align_axis() + + the alignment axis + + + + + Sets the alignment factor of the constraint +The factor depends on the #ClutterAlignConstraint:align-axis property +and it is a value between 0.0 (meaning left, when +#ClutterAlignConstraint:align-axis is set to %CLUTTER_ALIGN_X_AXIS; or +meaning top, when #ClutterAlignConstraint:align-axis is set to +%CLUTTER_ALIGN_Y_AXIS) and 1.0 (meaning right, when +#ClutterAlignConstraint:align-axis is set to %CLUTTER_ALIGN_X_AXIS; or +meaning bottom, when #ClutterAlignConstraint:align-axis is set to +%CLUTTER_ALIGN_Y_AXIS). A value of 0.5 aligns in the middle in either +cases + + + + + + the alignment factor, between 0.0 and 1.0 + + + + + + Retrieves the factor set using clutter_align_constraint_set_factor() + + the alignment factor + + + + + The axis to be used to compute the alignment + + + + The alignment factor, as a normalized value between 0.0 and 1.0 +The factor depends on the #ClutterAlignConstraint:align-axis property: +with an align-axis value of %CLUTTER_ALIGN_X_AXIS, 0.0 means left and +1.0 means right; with a value of %CLUTTER_ALIGN_Y_AXIS, 0.0 means top +and 1.0 means bottom. + + + + The #ClutterActor used as the source for the alignment + + + + + Flags passed to the #ClutterActor::allocate() virtual function and +to the clutter_actor_allocate() function + + + + + #ClutterAlpha combines a #ClutterTimeline and a function. +The contents of the #ClutterAlpha structure are private and should +only be accessed using the provided API. + + + Creates a new #ClutterAlpha instance. You must set a function +to compute the alpha value using clutter_alpha_set_func() and +bind a #ClutterTimeline object to the #ClutterAlpha instance +using clutter_alpha_set_timeline(). +You should use the newly created #ClutterAlpha instance inside +a #ClutterBehaviour object. + + the newly created empty #ClutterAlpha instance. + + + + + Creates a new #ClutterAlpha instance and sets the timeline +and animation mode. +See also clutter_alpha_set_timeline() and clutter_alpha_set_mode(). + + the newly created #ClutterAlpha + + + + + #ClutterTimeline timeline + + + + animation mode + + + + + + Creates a new #ClutterAlpha instances and sets the timeline +and the alpha function. +This function will not register @func as a global alpha function. +See also clutter_alpha_set_timeline() and clutter_alpha_set_func(). + + the newly created #ClutterAlpha + + + + + a #ClutterTimeline + + + + a #ClutterAlphaFunc + + + + data to pass to the function, or %NULL + + + + function to call when removing the alpha function, or %NULL + + + + + + Registers a global alpha function and returns its logical id +to be used by clutter_alpha_set_mode() or by #ClutterAnimation. +The logical id is always greater than %CLUTTER_ANIMATION_LAST. + + the logical id of the alpha function + + + + + a #ClutterAlphaFunc + + + + user data to pass to @func, or %NULL + + + + + + #GClosure variant of clutter_alpha_register_func(). +Registers a global alpha function and returns its logical id +to be used by clutter_alpha_set_mode() or by #ClutterAnimation. +The logical id is always greater than %CLUTTER_ANIMATION_LAST. + + the logical id of the alpha function + + + + + a #GClosure + + + + + + Query the current alpha value. + + The current alpha value for the alpha + + + + + Sets the #ClutterAlphaFunc function used to compute +the alpha value at each frame of the #ClutterTimeline +bound to @alpha. +This function will not register @func as a global alpha function. + + + + + + A #ClutterAlphaFunc + + + + user data to be passed to the alpha function, or %NULL + + + + notify function used when disposing the alpha function + + + + + + Sets the #GClosure used to compute the alpha value at each +frame of the #ClutterTimeline bound to @alpha. + + + + + + A #GClosure + + + + + + Binds @alpha to @timeline. + + + + + + A #ClutterTimeline + + + + + + Gets the #ClutterTimeline bound to @alpha. + + a #ClutterTimeline instance + + + + + Sets the progress function of @alpha using the symbolic value +of @mode, as taken by the #ClutterAnimationMode enumeration or +using the value returned by clutter_alpha_register_func(). + + + + + + a #ClutterAnimationMode + + + + + + Retrieves the #ClutterAnimationMode used by @alpha. + + the animation mode + + + + + The alpha value as computed by the alpha function. The linear +interval is 0.0 to 1.0, but the Alpha allows overshooting by +one unit in each direction, so the valid interval is -1.0 to 2.0. + + + + The progress function logical id - either a value from the +#ClutterAnimationMode enumeration or a value returned by +clutter_alpha_register_func(). +If %CLUTTER_CUSTOM_MODE is used then the function set using +clutter_alpha_set_closure() or clutter_alpha_set_func() +will be used. + + + + A #ClutterTimeline instance used to drive the alpha function. + + + + + + + + + + + Base class for #ClutterAlpha + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A function returning a value depending on the position of +the #ClutterTimeline bound to @alpha. + + a floating point value + + + + + a #ClutterAlpha + + + + user data passed to the function + + + + + + + + + + + + + + + + + #ClutterAnimatable is an opaque structure whose members cannot be directly +accessed + + Calls the animate_property() virtual function for @animatable. +The @initial_value and @final_value #GValue<!-- -->s must contain +the same type; @value must have been initialized to the same +type of @initial_value and @final_value. +All implementation of the #ClutterAnimatable interface must +implement this function. +be applied to the #ClutterAnimatable, and %FALSE otherwise + + %TRUE if the value has been validated and can + + + + + a #ClutterAnimation + + + + the name of the animated property + + + + the initial value of the animation interval + + + + the final value of the animation interval + + + + the progress factor + + + + return location for the animation value + + + + + + Finds the #GParamSpec for @property_name +or %NULL + + The #GParamSpec for the given property + + + + + the name of the animatable property to find + + + + + + Retrieves the current state of @property_name and sets @value with it + + + + + + the name of the animatable property to retrieve + + + + a #GValue initialized to the type of the property to retrieve + + + + + + Sets the current state of @property_name to @value + + + + + + the name of the animatable property to set + + + + the value of the animatable property to set + + + + + + Calls the animate_property() virtual function for @animatable. +The @initial_value and @final_value #GValue<!-- -->s must contain +the same type; @value must have been initialized to the same +type of @initial_value and @final_value. +All implementation of the #ClutterAnimatable interface must +implement this function. +be applied to the #ClutterAnimatable, and %FALSE otherwise + + %TRUE if the value has been validated and can + + + + + a #ClutterAnimation + + + + the name of the animated property + + + + the initial value of the animation interval + + + + the final value of the animation interval + + + + the progress factor + + + + return location for the animation value + + + + + + Finds the #GParamSpec for @property_name +or %NULL + + The #GParamSpec for the given property + + + + + the name of the animatable property to find + + + + + + Retrieves the current state of @property_name and sets @value with it + + + + + + the name of the animatable property to retrieve + + + + a #GValue initialized to the type of the property to retrieve + + + + + + Sets the current state of @property_name to @value + + + + + + the name of the animatable property to set + + + + the value of the animatable property to set + + + + + + + Base interface for #GObject<!-- -->s that can be animated by a +a #ClutterAnimation. + + + + + + + %TRUE if the value has been validated and can + + + + + + + + a #ClutterAnimation + + + + the name of the animated property + + + + the initial value of the animation interval + + + + the final value of the animation interval + + + + the progress factor + + + + return location for the animation value + + + + + + + + + The #GParamSpec for the given property + + + + + + + + the name of the animatable property to find + + + + + + + + + + + + + + + + the name of the animatable property to retrieve + + + + a #GValue initialized to the type of the property to retrieve + + + + + + + + + + + + + + + + the name of the animatable property to set + + + + the value of the animatable property to set + + + + + + + + The #ClutterAnimation structure contains only private data and should +be accessed using the provided functions. + + + Creates a new #ClutterAnimation instance. You should set the +#GObject to be animated using clutter_animation_set_object(), +set the duration with clutter_animation_set_duration() and the +easing mode using clutter_animation_set_mode(). +Use clutter_animation_bind() or clutter_animation_bind_interval() +to define the properties to be animated. The interval and the +animated properties can be updated at runtime. +The clutter_actor_animate() and relative family of functions provide +an easy way to animate a #ClutterActor and automatically manage the +lifetime of a #ClutterAnimation instance, so you should consider using +those functions instead of manually creating an animation. +to release the associated resources + + the newly created #ClutterAnimation. Use g_object_unref() + + + + + Attaches @animation to @object. The #ClutterAnimation will take a +reference on @object. + + + + + + a #GObject + + + + + + Retrieves the #GObject attached to @animation. + + a #GObject + + + + + Sets the animation @mode of @animation. The animation @mode is +a logical id, either coming from the #ClutterAnimationMode enumeration +or the return value of clutter_alpha_register_func(). +This function will also set #ClutterAnimation:alpha if needed. + + + + + + an animation mode logical id + + + + + + Retrieves the animation mode of @animation, as set by +clutter_animation_set_mode(). + + the mode for the animation + + + + + Sets the duration of @animation in milliseconds. +This function will set #ClutterAnimation:alpha and +#ClutterAnimation:timeline if needed. + + + + + + the duration in milliseconds + + + + + + Retrieves the duration of @animation, in milliseconds. + + the duration of the animation + + + + + Sets whether @animation should loop over itself once finished. +A looping #ClutterAnimation will not emit the #ClutterAnimation::completed +signal when finished. +This function will set #ClutterAnimation:alpha and +#ClutterAnimation:timeline if needed. + + + + + + %TRUE if the animation should loop + + + + + + Retrieves whether @animation is looping. + + %TRUE if the animation is looping + + + + + Sets the #ClutterTimeline used by @animation. + + + + + + a #ClutterTimeline, or %NULL to unset the current #ClutterTimeline + + + + + + Retrieves the #ClutterTimeline used by @animation + + the timeline used by the animation + + + + + Sets @alpha as the #ClutterAlpha used by @animation. +If @alpha is not %NULL, the #ClutterAnimation will take ownership +of the #ClutterAlpha instance. + + + + + + a #ClutterAlpha, or %NULL to unset the current #ClutterAlpha + + + + + + Retrieves the #ClutterAlpha used by @animation. + + the alpha object used by the animation + + + + + Adds a single property with name @property_name to the +animation @animation. For more information about animations, +see clutter_actor_animate(). +This method returns the animation primarily to make chained +calls convenient in language bindings. + + The animation itself. + + + + + the property to control + + + + The final value of the property + + + + + + Binds @interval to the @property_name of the #GObject +attached to @animation. The #ClutterAnimation will take +ownership of the passed #ClutterInterval. For more information +about animations, see clutter_actor_animate(). +If you need to update the interval instance use +clutter_animation_update_property() instead. + + The animation itself. + + + + + the property to control + + + + a #ClutterInterval + + + + + + Checks whether @animation is controlling @property_name. +#ClutterAnimation, %FALSE otherwise + + %TRUE if the property is animated by the + + + + + name of the property + + + + + + Updates the @final value of the interval for @property_name + + The animation itself. + + + + + name of the property + + + + The final value of the property + + + + + + Changes the @interval for @property_name. The #ClutterAnimation +will take ownership of the passed #ClutterInterval. + + + + + + name of the property + + + + a #ClutterInterval + + + + + + Removes @property_name from the list of animated properties. + + + + + + name of the property + + + + + + Retrieves the #ClutterInterval associated to @property_name +inside @animation. +property with the same name was found. The returned interval is +owned by the #ClutterAnimation and should not be unreferenced + + a #ClutterInterval or %NULL if no + + + + + name of the property + + + + + + Emits the ::completed signal on @animation +When using this function with a #ClutterAnimation created +by the clutter_actor_animate() family of functions, @animation +will be unreferenced and it will not be valid anymore, +unless g_object_ref() was called before calling this function +or unless a reference was taken inside a handler for the +#ClutterAnimation::completed signal + + + + + + The #ClutterAlpha used by the animation. + + + + The duration of the animation, expressed in milliseconds. + + + + Whether the animation should loop. + + + + The animation mode, either a value from #ClutterAnimationMode +or a value returned by clutter_alpha_register_func(). The +default value is %CLUTTER_LINEAR. + + + + The #GObject to which the animation applies. + + + + The #ClutterTimeline used by the animation. + + + + + + + + + + The ::completed signal is emitted once the animation has +been completed. +The @animation instance is guaranteed to be valid for the entire +duration of the signal emission chain. + + + + + + The ::started signal is emitted once the animation has been +started + + + + + + + The #ClutterAnimationClass structure contains only private data and +should be accessed using the provided functions. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The animation modes used by #ClutterAlpha and #ClutterAnimation. This +enumeration can be expanded in later versions of Clutter. See the +#ClutterAlpha documentation for a graph of all the animation modes. +Every global alpha function registered using clutter_alpha_register_func() +or clutter_alpha_register_closure() will have a logical id greater than +%CLUTTER_ANIMATION_LAST. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The #ClutterAnimator structure contains only private data and +should be accessed using the provided API + + + Creates a new #ClutterAnimator instance + + a new #ClutterAnimator. + + + + + Sets a single key in the #ClutterAnimator for the @property_name of + + The animator instance + + + + + a #GObject + + + + the property to specify a key for + + + + the id of the alpha function to use + + + + the normalized range at which stage of the animation this value applies + + + + the value property_name should have at progress. + + + + + + Adds multiple keys to a #ClutterAnimator, specifying the value a given +property should have at a given progress of the animation. The mode +specified is the mode used when going to this key from the previous key of +the @property_name +If a given (object, property, progress) tuple already exist the mode and +value will be replaced with the new values. + + + + + + a #GObject + + + + the property to specify a key for + + + + the id of the alpha function to use + + + + at which stage of the animation this value applies; the range is a normalized floating point value between 0 and 1 + + + + + + + + + + Returns a list of pointers to opaque structures with accessor functions +that describe the keys added to an animator. +list of #ClutterAnimatorKey<!-- -->s; the contents of the list are owned +by the #ClutterAnimator, but you should free the returned list when done, +using g_list_free() + + a + + + + + + + a #GObject to search for, or %NULL for all objects + + + + a specific property name to query for, or %NULL for all properties + + + + a specific progress to search for, or a negative value for all progresses + + + + + + Removes all keys matching the conditions specificed in the arguments. + + + + + + a #GObject to search for, or %NULL for all + + + + a specific property name to query for, or %NULL for all + + + + a specific progress to search for or a negative value for all + + + + + + Start the ClutterAnimator, this is a thin wrapper that rewinds +and starts the animators current timeline. + + the #ClutterTimeline that drives the animator. + + + + + Compute the value for a managed property at a given progress. +If the property is an ease-in property, the current value of the property +on the object will be used as the starting point for computation. +an error occurs or the progress is before any of the keys) %FALSE is +returned and the #GValue is left untouched + + %TRUE if the computation yields has a value, otherwise (when + + + + + a #GObject + + + + the name of the property on object to check + + + + a value between 0.0 and 1.0 + + + + an initialized value to store the computed result + + + + + + Get the timeline hooked up for driving the #ClutterAnimator + + the #ClutterTimeline that drives the animator + + + + + Sets an external timeline that will be used for driving the animation + + + + + + a #ClutterTimeline + + + + + + Retrieves the current duration of an animator + + the duration of the animation, in milliseconds + + + + + Runs the timeline of the #ClutterAnimator with a duration in msecs +as specified. + + + + + + milliseconds a run of the animator should last. + + + + + + Checks if a property value is to be eased into the animation. + + %TRUE if the property is eased in + + + + + a #GObject + + + + the name of a property on object + + + + + + Sets whether a property value is to be eased into the animation. + + + + + + a #GObject + + + + the name of a property on object + + + + we are going to be easing in this property + + + + + + Get the interpolation used by animator for a property on a particular +object. + + a ClutterInterpolation value. + + + + + a #GObject + + + + the name of a property on object + + + + + + Set the interpolation method to use, %CLUTTER_INTERPOLATION_LINEAR causes +the values to linearly change between the values, and +%CLUTTER_INTERPOLATION_CUBIC causes the values to smoothly change between +the values. + + + + + + a #GObject + + + + the name of a property on object + + + + the #ClutterInterpolation to use + + + + + + The duration of the #ClutterTimeline used by the #ClutterAnimator +to drive the animation + + + + The #ClutterTimeline used by the #ClutterAnimator to drive the +animation + + + + + + + + + + + The #ClutterAnimatorClass structure contains only private data + + + + + + + + + + + A key frame inside a #ClutterAnimator + + Retrieves the object a key applies to. + + the object an animator_key exist for. + + + + + Retrieves the name of the property a key applies to. + + the name of the property an animator_key exist for. + + + + + Retrieves the #GType of the property a key applies to +You can use this type to initialize the #GValue to pass to +clutter_animator_key_get_value() + + the #GType of the property + + + + + Retrieves the mode of a #ClutterAnimator key, for the first key of a +property for an object this represents the whether the animation is +open ended and or curved for the remainding keys for the property it +represents the easing mode. + + the mode of a #ClutterAnimatorKey + + + + + Retrieves the progress of an clutter_animator_key + + the progress defined for a #ClutterAnimator key. + + + + + Retrieves a copy of the value for a #ClutterAnimatorKey. +The passed in #GValue needs to be already initialized for the value +type of the key or to a type that allow transformation from the value +type of the key. +Use g_value_unset() when done. +%FALSE otherwise + + %TRUE if the passed #GValue was successfully set, and + + + + + a #GValue initialized with the correct type for the animator key + + + + + + + + + Common members for a #ClutterEvent + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Sets the resolution for font handling on the screen. This is a +scale factor between points specified in a #PangoFontDescription +and cairo units. The default value is 96, meaning that a 10 point +font will be 13 units high. (10 * 96. / 72. = 13.3). +Applications should never need to call this function. + + + + + + the resolution in "dots per inch" (Physical inches aren't actually involved; the terminology is conventional). + + + + + + Sets the maximum time between two button press events, used to +verify whether it's a double click event or not. + + + + + + milliseconds between two button press events + + + + + + Gets the maximum time between two button press events, as set +by clutter_backend_set_double_click_time(). + + a time in milliseconds + + + + + Sets the maximum distance used to verify a double click event. + + + + + + a distance, in pixels + + + + + + Retrieves the distance used to verify a double click event + + a distance, in pixels. + + + + + Sets the default font to be used by Clutter. The @font_name string +must either be %NULL, which means that the font name from the +default #ClutterBackend will be used; or be something that can +be parsed by the pango_font_description_from_string() function. + + + + + + the name of the font + + + + + + Retrieves the default font name as set by +clutter_backend_set_font_name(). +owned by the #ClutterBackend and should never be modified or freed + + the font name for the backend. The returned string is + + + + + Gets the resolution for font handling on the screen. +The resolution is a scale factor between points specified in a +#PangoFontDescription and cairo units. The default value is 96.0, +meaning that a 10 point font will be 13 units +high (10 * 96. / 72. = 13.3). +Clutter will set the resolution using the current backend when +initializing; the resolution is also stored in the +#ClutterSettings:font-dpi property. +has been set. + + the current resolution, or -1 if no resolution + + + + + Sets the new font options for @backend. The #ClutterBackend will +copy the #cairo_font_options_t. +If @options is %NULL, the first following call to +clutter_backend_get_font_options() will return the default font +options for @backend. +This function is intended for actors creating a Pango layout +using the PangoCairo API. + + + + + + Cairo font options for the backend, or %NULL + + + + + + Retrieves the font options for @backend. +The returned #cairo_font_options_t is owned by the backend and should +not be modified or freed + + the font options of the #ClutterBackend. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + #ClutterBehaviour-struct contains only private data and should +be accessed with the functions below. + + + + + + + + + + + + + Applies @behave to @actor. This function adds a reference on +the actor. + + + + + + a #ClutterActor + + + + + + Removes @actor from the list of #ClutterActor<!-- -->s to which + + + + + + a #ClutterActor + + + + + + Removes every actor from the list that @behave holds. + + + + + + Calls @func for every actor driven by @behave. + + + + + + a function called for each actor + + + + optional data to be passed to the function, or %NULL + + + + + + Gets the number of actors this behaviour is applied too. + + The number of applied actors + + + + + Gets an actor the behaviour was applied to referenced by index num. + + A Clutter actor or NULL if @index_ is invalid. + + + + + the index of an actor this behaviour is applied too. + + + + + + Retrieves all the actors to which @behave applies. It is not recommended +for derived classes to use this in there alpha notify method but use +#clutter_behaviour_actors_foreach as it avoids alot of needless allocations. +actors. You should free the returned list with g_slist_free() when +finished using it. + + a list of + + + + + + + Retrieves the #ClutterAlpha object bound to @behave. +object has been bound to this behaviour. + + a #ClutterAlpha object, or %NULL if no alpha + + + + + Binds @alpha to a #ClutterBehaviour. The #ClutterAlpha object +used by #ClutterAlpha a new value of the alpha parameter is +computed by the alpha function; the value should be used by +the #ClutterBehaviour to update one or more properties of the +actors to which the behaviour applies. +If @alpha is not %NULL, the #ClutterBehaviour will take ownership +of the #ClutterAlpha instance. + + + + + + a #ClutterAlpha or %NULL to unset a previously set alpha + + + + + + Check if @behave applied to @actor. + + TRUE if actor has behaviour. FALSE otherwise. + + + + + a #ClutterActor + + + + + + The #ClutterAlpha object used to drive this behaviour. A #ClutterAlpha +object binds a #ClutterTimeline and a function which computes a value +(the "alpha") depending on the time. Each time the alpha value changes +the alpha-notify virtual function is called. + + + + + + + + + + The ::apply signal is emitted each time the behaviour is applied +to an actor. + + + + + + the actor the behaviour was applied to. + + + + + + The ::removed signal is emitted each time a behaviour is not applied +to an actor anymore. + + + + + + the removed actor + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The #ClutterBehaviourDepth structure contains only private data +and should be accessed using the provided API + + + Creates a new #ClutterBehaviourDepth which can be used to control +the ClutterActor:depth property of a set of #ClutterActor<!-- -->s. + + the newly created behaviour + + + + + a #ClutterAlpha or %NULL + + + + initial value of the depth + + + + final value of the depth + + + + + + Sets the boundaries of the @behaviour. + + + + + + initial value of the depth + + + + final value of the depth + + + + + + Gets the boundaries of the @behaviour + + + + + + return location for the initial depth value, or %NULL + + + + return location for the final depth value, or %NULL + + + + + + End depth level to apply to the actors. + + + + Start depth level to apply to the actors. + + + + + + + + + + + The #ClutterBehaviourDepthClass structure contains only private data + + + + + + + + The #ClutterBehaviourEllipse struct contains only private data +and should be accessed using the provided API + + + Creates a behaviour that drives actors along an elliptical path with +given center, width and height; the movement starts at @start +degrees (with 0 corresponding to 12 o'clock) and ends at @end +degrees. Angles greated than 360 degrees get clamped to the canonical +interval <0, 360); if @start is equal to @end, the behaviour will +rotate by exacly 360 degrees. + + the newly created #ClutterBehaviourEllipse + + + + + a #ClutterAlpha, or %NULL + + + + x coordinace of the center + + + + y coordiance of the center + + + + width of the ellipse + + + + height of the ellipse + + + + #ClutterRotateDirection of rotation + + + + angle in degrees at which movement starts, between 0 and 360 + + + + angle in degrees at which movement ends, between 0 and 360 + + + + + + Sets the center of the elliptical path to the point represented by knot. + + + + + + x coordinace of centre + + + + y coordinace of centre + + + + + + Gets the center of the elliptical path path. + + + + + + return location for the X coordinate of the center, or %NULL + + + + return location for the Y coordinate of the center, or %NULL + + + + + + Sets the width of the elliptical path. + + + + + + width of the ellipse + + + + + + Gets the width of the elliptical path. + + the width of the path + + + + + Sets the height of the elliptical path. + + + + + + height of the ellipse + + + + + + Gets the height of the elliptical path. + + the height of the path + + + + + Sets the angle at which movement starts; angles >= 360 degress get clamped +to the canonical interval <0, 360). + + + + + + angle at which movement starts in degrees, between 0 and 360. + + + + + + Gets the angle at which movements starts. + + angle in degrees + + + + + Sets the angle at which movement ends; angles >= 360 degress get clamped +to the canonical interval <0, 360). + + + + + + angle at which movement ends in degrees, between 0 and 360. + + + + + + Gets the at which movements ends. + + angle in degrees + + + + + Sets the angle at which the ellipse should be tilted around it's center. + + + + + + a #ClutterRotateAxis + + + + tilt of the elipse around the center in the given axis in degrees. + + + + + + Gets the tilt of the ellipse around the center in the given axis. + + angle in degrees. + + + + + a #ClutterRotateAxis + + + + + + Sets the angles at which the ellipse should be tilted around it's center. + + + + + + tilt of the elipse around the center in X axis in degrees. + + + + tilt of the elipse around the center in Y axis in degrees. + + + + tilt of the elipse around the center in Z axis in degrees. + + + + + + Gets the tilt of the ellipse around the center in Y axis. + + + + + + return location for tilt angle on the X axis, or %NULL. + + + + return location for tilt angle on the Y axis, or %NULL. + + + + return location for tilt angle on the Z axis, or %NULL. + + + + + + Retrieves the #ClutterRotateDirection used by the ellipse behaviour. + + the rotation direction + + + + + Sets the rotation direction used by the ellipse behaviour. + + + + + + the rotation direction + + + + + + The final angle to where the rotation should end. + + + + The initial angle from where the rotation should start. + + + + The tilt angle for the rotation around center in X axis + + + + The tilt angle for the rotation around center in Y axis + + + + The tilt angle for the rotation on the Z axis + + + + The center of the ellipse. + + + + The direction of the rotation. + + + + Height of the ellipse, in pixels + + + + Width of the ellipse, in pixels + + + + + + + + + + + The #ClutterBehaviourEllipseClass struct contains only private data + + + + + + + + This function is passed to clutter_behaviour_foreach_actor() and +will be called for each actor driven by @behaviour. + + + + + + the #ClutterBehaviour + + + + an actor driven by @behaviour + + + + optional data passed to the function + + + + + + The #ClutterBehaviourOpacity structure contains only private data and +should be accessed using the provided API + + + Creates a new #ClutterBehaviourOpacity object, driven by @alpha +which controls the opacity property of every actor, making it +change in the interval between @opacity_start and @opacity_end. + + the newly created #ClutterBehaviourOpacity + + + + + a #ClutterAlpha instance, or %NULL + + + + minimum level of opacity + + + + maximum level of opacity + + + + + + Sets the initial and final levels of the opacity applied by @behaviour +on each actor it controls. + + + + + + minimum level of opacity + + + + maximum level of opacity + + + + + + Gets the initial and final levels of the opacity applied by @behaviour +on each actor it controls. + + + + + + return location for the minimum level of opacity, or %NULL + + + + + + return location for the maximum level of opacity, or %NULL + + + + + + + + Final opacity level of the behaviour. + + + + Initial opacity level of the behaviour. + + + + + + + + + + + The #ClutterBehaviourOpacityClass structure contains only private data + + + + + + + + The #ClutterBehaviourPath structure contains only private data +and should be accessed using the provided API + + + Creates a new path behaviour. You can use this behaviour to drive +actors along the nodes of a path, described by @path. +This will claim the floating reference on the #ClutterPath so you +do not need to unref if it. + + a #ClutterBehaviour + + + + + a #ClutterAlpha, or %NULL + + + + a #ClutterPath or %NULL for an empty path + + + + + + Creates a new path behaviour using the path described by @desc. See +clutter_path_add_string() for a description of the format. + + a #ClutterBehaviour + + + + + a #ClutterAlpha + + + + a string description of the path + + + + + + Creates a new path behaviour that will make the actors visit all of +the given knots in order with straight lines in between. +A path will be created where the first knot is used in a +%CLUTTER_PATH_MOVE_TO and the subsequent knots are used in +%CLUTTER_PATH_LINE_TO<!-- -->s. + + a #ClutterBehaviour + + + + + a #ClutterAlpha + + + + an array of #ClutterKnot<!-- -->s + + + + number of entries in @knots + + + + + + Change the path that the actors will follow. This will take the +floating reference on the #ClutterPath so you do not need to unref +it. + + + + + + the new path to follow + + + + + + Get the current path of the behaviour + + the path + + + + + + + + + + + + + + This signal is emitted each time a node defined inside the path +is reached. + + + + + + the index of the #ClutterKnot reached + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The #ClutterBehaviourRotate struct contains only private data and +should be accessed using the provided API + + + Creates a new #ClutterBehaviourRotate. This behaviour will rotate actors +bound to it on @axis, following @direction, between @angle_start and +<0, 360), if angle_start == angle_end, the behaviour will carry out a +single rotation of 360 degrees. + + the newly created #ClutterBehaviourRotate. + + + + + a #ClutterAlpha, or %NULL + + + + the rotation axis + + + + the rotation direction + + + + the starting angle in degrees, between 0 and 360. + + + + the final angle in degrees, between 0 and 360. + + + + + + Retrieves the center of rotation set using +clutter_behaviour_rotate_set_center(). + + + + + + return location for the X center of rotation + + + + return location for the Y center of rotation + + + + return location for the Z center of rotation + + + + + + Sets the center of rotation. The coordinates are relative to the plane +normal to the rotation axis set with clutter_behaviour_rotate_set_axis(). + + + + + + X axis center of rotation + + + + Y axis center of rotation + + + + Z axis center of rotation + + + + + + Retrieves the #ClutterRotateAxis used by the rotate behaviour. + + the rotation axis + + + + + Sets the axis used by the rotate behaviour. + + + + + + a #ClutterRotateAxis + + + + + + Retrieves the #ClutterRotateDirection used by the rotate behaviour. + + the rotation direction + + + + + Sets the rotation direction used by the rotate behaviour. + + + + + + the rotation direction + + + + + + Retrieves the rotation boundaries of the rotate behaviour. + + + + + + return value for the initial angle + + + + return value for the final angle + + + + + + Sets the initial and final angles of a rotation behaviour; angles >= 360 +degrees get clamped to the canonical interval <0, 360). + + + + + + initial angle in degrees, between 0 and 360. + + + + final angle in degrees, between 0 and 360. + + + + + + The final angle to where the rotation should end. + + + + The initial angle from whence the rotation should start. + + + + The axis of rotation. + + + + The x center of rotation. + + + + The y center of rotation. + + + + The z center of rotation. + + + + The direction of the rotation. + + + + + + + + + + + The #ClutterBehaviourRotateClass struct contains only private data + + + + + + + + The #ClutterBehaviourScale struct contains only private data and +should be accessed using the provided API + + + Creates a new #ClutterBehaviourScale instance. + + the newly created #ClutterBehaviourScale + + + + + a #ClutterAlpha + + + + initial scale factor on the X axis + + + + initial scale factor on the Y axis + + + + final scale factor on the X axis + + + + final scale factor on the Y axis + + + + + + Sets the bounds used by scale behaviour. + + + + + + initial scale factor on the X axis + + + + initial scale factor on the Y axis + + + + final scale factor on the X axis + + + + final scale factor on the Y axis + + + + + + Retrieves the bounds used by scale behaviour. + + + + + + return location for the initial scale factor on the X axis, or %NULL + + + + return location for the initial scale factor on the Y axis, or %NULL + + + + return location for the final scale factor on the X axis, or %NULL + + + + return location for the final scale factor on the Y axis, or %NULL + + + + + + The final scaling factor on the X axis for the actors. + + + + The initial scaling factor on the X axis for the actors. + + + + The final scaling factor on the Y axis for the actors. + + + + The initial scaling factor on the Y axis for the actors. + + + + + + + + + + + The #ClutterBehaviourScaleClass struct contains only private data + + + + + + + + The alignment policies available on each axis for #ClutterBinLayout + + + + + + + + The #ClutterBinLayout structure contains only private data +and should be accessed using the provided API + + Creates a new #ClutterBinLayout layout manager + + the newly created layout manager + + + + + the default alignment policy to be used on the horizontal axis + + + + the default alignment policy to be used on the vertical axis + + + + + + Sets the horizontal and vertical alignment policies to be applied +to a @child of @self +If @child is %NULL then the @x_align and @y_align values will +be set as the default alignment policies + + + + + + a child of @container + + + + the horizontal alignment policy to be used for the @child inside @container + + + + the vertical aligment policy to be used on the @child inside @container + + + + + + Retrieves the horizontal and vertical alignment policies for +a child of @self +If @child is %NULL the default alignment policies will be returned +instead + + + + + + a child of @container + + + + return location for the horizontal alignment policy + + + + return location for the vertical alignment policy + + + + + + Adds a #ClutterActor to the container using @self and +sets the alignment policies for it +This function is equivalent to clutter_container_add_actor() +and clutter_layout_manager_child_set_property() but it does not +require a pointer to the #ClutterContainer associated to the +#ClutterBinLayout + + + + + + a #ClutterActor + + + + horizontal alignment policy for @child + + + + vertical alignment policy for @child + + + + + + The default horizontal alignment policy for actors managed +by the #ClutterBinLayout + + + + The default vertical alignment policy for actors managed +by the #ClutterBinLayout + + + + + + + + + + + The #ClutterBinLayoutClass structure contains only private +data and should be accessed using the provided API + + + + + + + + <structname>ClutterBindConstraint</structname> is an opaque structure +whose members cannot be directly accessed + + Creates a new constraint, binding a #ClutterActor's position to +the given @coordinate of the position of @source + + the newly created #ClutterBindConstraint + + + + + the #ClutterActor to use as the source of the binding, or %NULL + + + + the coordinate to bind + + + + the offset to apply to the binding, in pixels + + + + + + Sets the source #ClutterActor for the constraint + + + + + + a #ClutterActor, or %NULL to unset the source + + + + + + Retrieves the #ClutterActor set using clutter_bind_constraint_set_source() + + a pointer to the source actor + + + + + Sets the coordinate to bind in the constraint + + + + + + the coordinate to bind + + + + + + Retrieves the bound coordinate of the constraint + + the bound coordinate + + + + + Sets the offset to be applied to the constraint + + + + + + the offset to apply, in pixels + + + + + + Retrieves the offset set using clutter_bind_constraint_set_offset() + + the offset, in pixels + + + + + The coordinate to be bound + + + + The offset, in pixels, to be applied to the binding + + + + The #ClutterActor used as the source for the binding + + + + + Specifies which property should be used in a binding + + + + + + + + The prototype for the callback function registered with +clutter_binding_pool_install_action() and invoked by +clutter_binding_pool_activate(). +binding has been handled, and return %FALSE otherwise + + the function should return %TRUE if the key + + + + + a #GObject + + + + the name of the action + + + + the key symbol + + + + bitmask of the modifier flags + + + + + + Container of key bindings. The #ClutterBindingPool struct is +private. + + Creates a new #ClutterBindingPool that can be used to store +key bindings for an actor. The @name must be a unique identifier +for the binding pool, so that clutter_binding_pool_find() will +be able to return the correct binding pool. +name. Use g_object_unref() when done. + + the newly created binding pool with the given + + + + + the name of the binding pool + + + + + + Retrieves the #ClutterBindingPool for the given #GObject class +and, eventually, creates it. This function is a wrapper around +clutter_binding_pool_new() and uses the class type name as the +unique name for the binding pool. +Calling this function multiple times will return the same +#ClutterBindingPool. +A binding pool for a class can also be retrieved using +clutter_binding_pool_find() with the class type name: +|[ +pool = clutter_binding_pool_find (G_OBJECT_TYPE_NAME (instance)); +]| +The returned #ClutterBindingPool is owned by Clutter and should not +be freed directly + + the binding pool for the given class. + + + + + a #GObjectClass pointer + + + + + + Finds the #ClutterBindingPool with @name. + + a pointer to the #ClutterBindingPool, or %NULL + + + + + the name of the binding pool to find + + + + + + Installs a new action inside a #ClutterBindingPool. The action +is bound to @key_val and @modifiers. +The same action name can be used for multiple @key_val, @modifiers +pairs. +When an action has been activated using clutter_binding_pool_activate() +the passed @callback will be invoked (with @data). +Actions can be blocked with clutter_binding_pool_block_action() +and then unblocked using clutter_binding_pool_unblock_action(). + + + + + + the name of the action + + + + key symbol + + + + bitmask of modifiers + + + + function to be called when the action is activated + + + + data to be passed to @callback + + + + function to be called when the action is removed from the pool + + + + + + A #GClosure variant of clutter_binding_pool_install_action(). +Installs a new action inside a #ClutterBindingPool. The action +is bound to @key_val and @modifiers. +The same action name can be used for multiple @key_val, @modifiers +pairs. +When an action has been activated using clutter_binding_pool_activate() +the passed @closure will be invoked. +Actions can be blocked with clutter_binding_pool_block_action() +and then unblocked using clutter_binding_pool_unblock_action(). + + + + + + the name of the action + + + + key symbol + + + + bitmask of modifiers + + + + a #GClosure + + + + + + Allows overriding the action for @key_val and @modifiers inside a +#ClutterBindingPool. See clutter_binding_pool_install_action(). +When an action has been activated using clutter_binding_pool_activate() +the passed @callback will be invoked (with @data). +Actions can be blocked with clutter_binding_pool_block_action() +and then unblocked using clutter_binding_pool_unblock_action(). + + + + + + key symbol + + + + bitmask of modifiers + + + + function to be called when the action is activated + + + + data to be passed to @callback + + + + function to be called when the action is removed from the pool + + + + + + A #GClosure variant of clutter_binding_pool_override_action(). +Allows overriding the action for @key_val and @modifiers inside a +#ClutterBindingPool. See clutter_binding_pool_install_closure(). +When an action has been activated using clutter_binding_pool_activate() +the passed @callback will be invoked (with @data). +Actions can be blocked with clutter_binding_pool_block_action() +and then unblocked using clutter_binding_pool_unblock_action(). + + + + + + key symbol + + + + bitmask of modifiers + + + + a #GClosure + + + + + + Retrieves the name of the action matching the given key symbol +and modifiers bitmask. +returned string is owned by the binding pool and should never +be modified or freed + + the name of the action, if found, or %NULL. The + + + + + a key symbol + + + + a bitmask for the modifiers + + + + + + Removes the action matching the given @key_val, @modifiers pair, +if any exists. + + + + + + a key symbol + + + + a bitmask for the modifiers + + + + + + Activates the callback associated to the action that is +bound to the @key_val and @modifiers pair. +The callback has the following signature: +|[ +void (* callback) (GObject *gobject, +const gchar *action_name, +guint key_val, +ClutterModifierType modifiers, +gpointer user_data); +]| +Where the #GObject instance is @gobject and the user data +is the one passed when installing the action with +clutter_binding_pool_install_action(). +If the action bound to the @key_val, @modifiers pair has been +blocked using clutter_binding_pool_block_action(), the callback +will not be invoked, and this function will return %FALSE. + + %TRUE if an action was found and was activated + + + + + the key symbol + + + + bitmask for the modifiers + + + + a #GObject + + + + + + Blocks all the actions with name @action_name inside @pool. + + + + + + an action name + + + + + + Unblockes all the actions with name @action_name inside @pool. +Unblocking an action does not cause the callback bound to it to +be invoked in case clutter_binding_pool_activate() was called on +an action previously blocked with clutter_binding_pool_block_action(). + + + + + + an action name + + + + + + The unique name of the #ClutterBindingPool. + + + + + <structname>ClutterBlurEffect</structname> is an opaque structure +whose members cannot be accessed directly + + Creates a new #ClutterBlurEffect to be used with +clutter_actor_add_effect() + + the newly created #ClutterBlurEffect or %NULL + + + + + + + + + The #ClutterBox structure contains only private data and should +be accessed using the provided API + + + + + + Creates a new #ClutterBox. The children of the box will be layed +out by the passed @manager + + the newly created #ClutterBox actor + + + + + a #ClutterLayoutManager + + + + + + Sets the #ClutterLayoutManager for @box +A #ClutterLayoutManager is a delegate object that controls the +layout of the children of @box + + + + + + a #ClutterLayoutManager + + + + + + Retrieves the #ClutterLayoutManager instance used by @box + + a #ClutterLayoutManager + + + + + Sets (or unsets) the background color for @box + + + + + + the background color, or %NULL to unset + + + + + + Retrieves the background color of @box +If the #ClutterBox:color-set property is set to %FALSE the +returned #ClutterColor is undefined + + + + + + return location for a #ClutterColor + + + + + + Adds @actor to @box and sets layout properties at the same time, +if the #ClutterLayoutManager used by @box has them +This function is a wrapper around clutter_container_add_actor() +and clutter_layout_manager_child_set() +Language bindings should use the vector-based clutter_box_addv() +variant instead + + + + + + a #ClutterActor + + + + the name of the first property to set, or %NULL + + + + + + + + + + Vector-based variant of clutter_box_pack(), intended for language +bindings to use + + + + + + a #ClutterActor + + + + the number of properties to set + + + + a vector containing the property names to set + + + + + + a vector containing the property values to set + + + + + + + + Adds @actor to @box, placing it after @sibling, and sets layout +properties at the same time, if the #ClutterLayoutManager used by +If @sibling is %NULL then @actor is placed at the end of the +list of children, to be allocated and painted after every other child +This function is a wrapper around clutter_container_add_actor(), +clutter_container_raise_child() and clutter_layout_manager_child_set() + + + + + + a #ClutterActor + + + + a #ClutterActor or %NULL + + + + the name of the first property to set, or %NULL + + + + + + + + + + Adds @actor to @box, placing it before @sibling, and sets layout +properties at the same time, if the #ClutterLayoutManager used by +If @sibling is %NULL then @actor is placed at the beginning of the +list of children, to be allocated and painted below every other child +This function is a wrapper around clutter_container_add_actor(), +clutter_container_lower_child() and clutter_layout_manager_child_set() + + + + + + a #ClutterActor + + + + a #ClutterActor or %NULL + + + + the name of the first property to set, or %NULL + + + + + + + + + + Adds @actor to @box, placing it at @position, and sets layout +properties at the same time, if the #ClutterLayoutManager used by +If @position is a negative number, or is larger than the number of +children of @box, the new child is added at the end of the list of +children + + + + + + a #ClutterActor + + + + the position to insert the @actor at + + + + the name of the first property to set, or %NULL + + + + + + + + + + The color to be used to paint the background of the +#ClutterBox. Setting this property will set the +#ClutterBox:color-set property as a side effect + + + + Whether the #ClutterBox:color property has been set + + + + The #ClutterLayoutManager used by the #ClutterBox + + + + + + + + + + + The alignment policies available on each axis of the #ClutterBoxLayout + + + + + + The #ClutterBoxClass structure contains only private data + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The #ClutterBoxLayout structure contains only private data +and should be accessed using the provided API + + Creates a new #ClutterBoxLayout layout manager + + the newly created #ClutterBoxLayout + + + + + Sets the spacing between children of @layout + + + + + + the spacing between children of the layout, in pixels + + + + + + Retrieves the spacing set using clutter_box_layout_set_spacing() + + the spacing between children of the #ClutterBoxLayout + + + + + Sets whether @layout should arrange its children vertically alongside +the Y axis, instead of horizontally alongside the X axis + + + + + + %TRUE if the layout should be vertical + + + + + + Retrieves the orientation of the @layout as set using the +clutter_box_layout_set_vertical() function +vertically, and %FALSE otherwise + + %TRUE if the #ClutterBoxLayout is arranging its children + + + + + Sets whether the size of @layout children should be +homogeneous + + + + + + %TRUE if the layout should be homogeneous + + + + + + Retrieves if the children sizes are allocated homogeneously. +homogeneously, and %FALSE otherwise + + %TRUE if the #ClutterBoxLayout is arranging its children + + + + + Sets whether children of @layout should be layed out by appending +them or by prepending them + + + + + + %TRUE if the @layout should pack children at the beginning of the layout + + + + + + Retrieves the value set using clutter_box_layout_set_pack_start() +at the beginning of the layout, and %FALSE otherwise + + %TRUE if the #ClutterBoxLayout should pack children + + + + + Packs @actor inside the #ClutterContainer associated to @layout +and sets the layout properties + + + + + + a #ClutterActor + + + + whether the @actor should expand + + + + whether the @actor should fill horizontally + + + + whether the @actor should fill vertically + + + + the horizontal alignment policy for @actor + + + + the vertical alignment policy for @actor + + + + + + Sets the horizontal and vertical alignment policies for @actor +inside @layout + + + + + + a #ClutterActor child of @layout + + + + Horizontal alignment policy for @actor + + + + Vertical alignment policy for @actor + + + + + + Retrieves the horizontal and vertical alignment policies for @actor +as set using clutter_box_layout_pack() or clutter_box_layout_set_alignment() + + + + + + a #ClutterActor child of @layout + + + + return location for the horizontal alignment policy + + + + return location for the vertical alignment policy + + + + + + Sets the horizontal and vertical fill policies for @actor +inside @layout + + + + + + a #ClutterActor child of @layout + + + + whether @actor should fill horizontally the allocated space + + + + whether @actor should fill vertically the allocated space + + + + + + Retrieves the horizontal and vertical fill policies for @actor +as set using clutter_box_layout_pack() or clutter_box_layout_set_fill() + + + + + + a #ClutterActor child of @layout + + + + return location for the horizontal fill policy + + + + return location for the vertical fill policy + + + + + + Sets whether @actor should expand inside @layout + + + + + + a #ClutterActor child of @layout + + + + whether @actor should expand + + + + + + Retrieves whether @actor should expand inside @layout + + %TRUE if the #ClutterActor should expand, %FALSE otherwise + + + + + a #ClutterActor child of @layout + + + + + + Sets whether @layout should animate changes in the layout properties +The duration of the animations is controlled by +clutter_box_layout_set_easing_duration(); the easing mode to be used +by the animations is controlled by clutter_box_layout_set_easing_mode() + + + + + + %TRUE if the @layout should use animations + + + + + + Retrieves whether @layout should animate changes in the layout properties +Since clutter_box_layout_set_use_animations() + + %TRUE if the animations should be used, %FALSE otherwise + + + + + Sets the easing mode to be used by @layout when animating changes in layout +properties +Use clutter_box_layout_set_use_animations() to enable and disable the +animations + + + + + + an easing mode, either from #ClutterAnimationMode or a logical id from clutter_alpha_register_func() + + + + + + Retrieves the easing mode set using clutter_box_layout_set_easing_mode() + + an easing mode + + + + + Sets the duration of the animations used by @layout when animating changes +in the layout properties +Use clutter_box_layout_set_use_animations() to enable and disable the +animations + + + + + + the duration of the animations, in milliseconds + + + + + + Retrieves the duration set using clutter_box_layout_set_easing_duration() + + the duration of the animations, in milliseconds + + + + + The duration of the animations, in case #ClutterBoxLayout:use-animations +is set to %TRUE +The duration is expressed in milliseconds + + + + The easing mode for the animations, in case +#ClutterBoxLayout:use-animations is set to %TRUE +either be a value from the #ClutterAnimationMode enumeration, like +%CLUTTER_EASE_OUT_CUBIC, or a logical id as returned by +clutter_alpha_register_func() +The default value is %CLUTTER_EASE_OUT_CUBIC + + + + Whether the #ClutterBoxLayout should arrange its children +homogeneously, i.e. all childs get the same size + + + + Whether the #ClutterBoxLayout should pack items at the start +or append them at the end + + + + The spacing between children of the #ClutterBoxLayout, in pixels + + + + Whether the #ClutterBoxLayout should animate changes in the +layout properties + + + + Whether the #ClutterBoxLayout should arrange its children +alongside the Y axis, instead of alongside the X axis + + + + + + + + + + + The #ClutterBoxLayoutClass structure contains only private +data and should be accessed using the provided API + + + + + + + + + + + + + Button event. +The event coordinates are relative to the stage that received the +event, and can be transformed into actor-relative coordinates by +using clutter_actor_transform_stage_point(). + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The #ClutterCairoTexture struct contains only private data. + + + + + Creates a new #ClutterCairoTexture actor, with a surface of @width by + + the newly created #ClutterCairoTexture actor + + + + + the width of the surface + + + + the height of the surface + + + + + + Creates a new Cairo context that will updat the region defined +by @x_offset, @y_offset, @width and @height. +<warning><para>Do not call this function within the paint virtual +function or from a callback to the #ClutterActor::paint +signal.</para></warning> +to upload the contents of the context when done drawing + + a newly created Cairo context. Use cairo_destroy() + + + + + offset of the region on the X axis + + + + offset of the region on the Y axis + + + + width of the region, or -1 for the full surface width + + + + height of the region, or -1 for the full surface height + + + + + + Creates a new Cairo context for the @cairo texture. It is +similar to using clutter_cairo_texture_create_region() with @x_offset +and @y_offset of 0, @width equal to the @cairo texture surface width +and @height equal to the @cairo texture surface height. +<warning><para>Do not call this function within the paint virtual +function or from a callback to the #ClutterActor::paint +signal.</para></warning> +to upload the contents of the context when done drawing + + a newly created Cairo context. Use cairo_destroy() + + + + + Resizes the Cairo surface used by @self to @width and @height. + + + + + + the new width of the surface + + + + the new height of the surface + + + + + + Retrieves the surface width and height for @self. + + + + + + return location for the surface width, or %NULL + + + + return location for the surface height, or %NULL + + + + + + Clears @self's internal drawing surface, so that the next upload +will replace the previous contents of the #ClutterCairoTexture +rather than adding to it. + + + + + + The height of the Cairo surface used by the #ClutterCairoTexture +actor, in pixels. + + + + The width of the Cairo surface used by the #ClutterCairoTexture +actor, in pixels. + + + + + + + + + + + The #ClutterCairoTextureClass struct contains only private data. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Generic callback + + + + + + a #ClutterActor + + + + user data + + + + + + + + + + + + + + + + + + + + + Base interface for container specific state for child actors. A child +data is meant to be used when you need to keep track of information +about each individual child added to a container. +In order to use it you should create your own subclass of +#ClutterChildMeta and set the #ClutterContainerIface::child_meta_type +interface member to your subclass type, like: +|[ +static void +my_container_iface_init (ClutterContainerIface *iface) +{ +/&ast; set the rest of the #ClutterContainer vtable &ast;/ +container_iface->child_meta_type = MY_TYPE_CHILD_META; +} +]| +This will automatically create a #ClutterChildMeta of type +MY_TYPE_CHILD_META for every actor that is added to the container. +The child data for an actor can be retrieved using the +clutter_container_get_child_meta() function. +The properties of the data and your subclass can be manipulated with +clutter_container_child_set() and clutter_container_child_get() which +act like g_object_set() and g_object_get(). +You can provide hooks for your own storage as well as control the +instantiation by overriding #ClutterContainerIface::create_child_meta, +#ClutterContainerIface::destroy_child_meta and +#ClutterContainerIface::get_child_meta. + + Retrieves the container using @data + + a #ClutterContainer + + + + + Retrieves the actor wrapped by @data + + a #ClutterActor + + + + + The #ClutterActor being wrapped by this #ClutterChildMeta + + + + The #ClutterContainer that created this #ClutterChildMeta. + + + + + + + + + + + + + + The #ClutterChildMetaClass contains only private data + + + + + + + + + The <structname>ClutterClickAction</structname> structure contains +only private data and should be accessed using the provided API + + Creates a new #ClutterClickAction instance + + the newly created #ClutterClickAction + + + + + Retrieves the button that was pressed. + + the button value + + + + + Emulates a release of the pointer button, which ungrabs the pointer +and unsets the #ClutterClickAction:pressed state. +This function is useful to break a grab, for instance after a certain +amount of time has passed. + + + + + + Whether the clickable actor has the pointer grabbed + + + + Whether the clickable actor should be in "pressed" state + + + + + + + + + + The ::clicked signal is emitted when the #ClutterActor to which +a #ClutterClickAction has been applied should respond to a +pointer button press and release events + + + + + + the #ClutterActor attached to the @action + + + + + + + The <structname>ClutterClickActionClass</structname> structure +contains only private data + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The #ClutterClone structure contains only private data +and should be accessed using the provided API + + + + + Creates a new #ClutterActor which clones @source/ + + the newly created #ClutterClone + + + + + a #ClutterActor, or %NULL + + + + + + Sets @source as the source actor to be cloned by @clone. + + + + + + a #ClutterActor, or %NULL + + + + + + Retrieves the source #ClutterActor being cloned by @clone + + the actor source for the clone + + + + + This property specifies the source actor being cloned. + + + + + + + + + + + The #ClutterCloneClass structure contains only private data + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Color representation. + + + + + + + + + + + + + + Creates a new #ClutterColor with the given values. +when done + + the newly allocated color. Use clutter_color_free() + + + + + red component of the color, between 0 and 255 + + + + green component of the color, between 0 and 255 + + + + blue component of the color, between 0 and 255 + + + + alpha component of the color, between 0 and 255 + + + + + + Makes a copy of the color structure. The result must be +freed using clutter_color_free(). + + an allocated copy of @color. + + + + + Frees a color structure created with clutter_color_copy(). + + + + + + Adds @a to @b and saves the resulting color inside @result. +The alpha channel of @result is set as as the maximum value +between the alpha channels of @a and @b. + + + + + + a #ClutterColor + + + + return location for the result + + + + + + Subtracts @b from @a and saves the resulting color inside @result. +This function assumes that the components of @a are greater than the +components of @b; the result is, otherwise, undefined. +The alpha channel of @result is set as the minimum value +between the alpha channels of @a and @b. + + + + + + a #ClutterColor + + + + return location for the result + + + + + + Lightens @color by a fixed amount, and saves the changed color +in @result. + + + + + + return location for the lighter color + + + + + + Darkens @color by a fixed amount, and saves the changed color +in @result. + + + + + + return location for the darker color + + + + + + Shades @color by @factor and saves the modified color into @result. + + + + + + the shade factor to apply + + + + return location for the shaded color + + + + + + Returns a textual specification of @color in the hexadecimal form +<literal>&num;rrggbbaa</literal>, where <literal>r</literal>, +<literal>g</literal>, <literal>b</literal> and <literal>a</literal> are +hex digits representing the red, green, blue and alpha components +respectively. + + a newly-allocated text string + + + + + Parses a string definition of a color, filling the +<structfield>red</structfield>, <structfield>green</structfield>, +<structfield>blue</structfield> and <structfield>alpha</structfield> +channels of @color. If alpha is not specified it will be set full opaque. +The @color is not allocated. +The color may be defined by any of the formats understood by +pango_color_from_string(); these include literal color names, like +<literal>Red</literal> or <literal>DarkSlateGray</literal>, or +hexadecimal specifications like <literal>&num;3050b2</literal> or +<literal>&num;333</literal>. + + %TRUE if parsing succeeded. + + + + + a string specifiying a color (named color or #RRGGBBAA) + + + + + + Converts @color to the HLS format. +The @hue value is in the 0 .. 360 range. The @luminance and + + + + + + return location for the hue value or %NULL + + + + return location for the luminance value or %NULL + + + + return location for the saturation value or %NULL + + + + + + Converts a color expressed in HLS (hue, luminance and saturation) +values into a #ClutterColor. + + + + + + hue value, in the 0 .. 360 range + + + + luminance value, in the 0 .. 1 range + + + + saturation value, in the 0 .. 1 range + + + + + + Converts @color into a packed 32 bit integer, containing +all the four 8 bit channels used by #ClutterColor. + + a packed color + + + + + Converts @pixel from the packed representation of a four 8 bit channel +color to a #ClutterColor. + + + + + + a 32 bit packed integer containing a color + + + + + + + <structname>ClutterColorizeEffect</structname> is an opaque structure +whose members cannot be directly accessed +SinceL 1.4 + + Creates a new #ClutterColorizeEffect to be used with +clutter_actor_add_effect() + + the newly created #ClutterColorizeEffect or %NULL + + + + + the color to be used + + + + + + Sets the tint to be used when colorizing + + + + + + the color to be used + + + + + + Retrieves the tint used by @effect + + + + + + return location for the color used + + + + + + The tint to apply to the actor + + + + + The <structname>ClutterConstraint</structname> structure contains only +private data and should be accessed using the provided API + + + + + + The <structname>ClutterConstraintClass</structname> structure contains +only private data + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + #ClutterContainer is an opaque structure whose members cannot be directly +accessed + + + + + + + + + + + + + + + + + + + + + + Calls @callback for each child of @container that was added +by the application (with clutter_container_add_actor()). Does +not iterate over "internal" children that are part of the +container's own implementation, if any. + + + + + + a function to be called for each child + + + + data to be passed to the function, or %NULL + + + + + + Calls @callback for each child of @container, including "internal" +children built in to the container itself that were never added +by the application. + + + + + + a function to be called for each child + + + + data to be passed to the function, or %NULL + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Sorts a container's children using their depth. This function should not +be normally used by applications. + + + + + + Creates the #ClutterChildMeta wrapping @actor inside the +class member is not set to %G_TYPE_INVALID. +This function is only useful when adding a #ClutterActor to +a #ClutterContainer implementation outside of the +#ClutterContainer::add() virtual function implementation. +Applications should not call this function. + + + + + + a #ClutterActor + + + + + + Destroys the #ClutterChildMeta wrapping @actor inside the +This function is only useful when removing a #ClutterActor to +a #ClutterContainer implementation outside of the +#ClutterContainer::add() virtual function implementation. +Applications should not call this function. + + + + + + a #ClutterActor + + + + + + Retrieves the #ClutterChildMeta which contains the data about the +of @container or %NULL if the specifiec actor does not exist or the +container is not configured to provide #ClutterChildMeta<!-- -->s + + the #ClutterChildMeta for the @actor child + + + + + a #ClutterActor that is a child of @container. + + + + + + Adds a list of #ClutterActor<!-- -->s to @container. Each time and +actor is added, the "actor-added" signal is emitted. Each actor should +be parented to @container, which takes a reference on the actor. You +cannot add a #ClutterActor to more than one #ClutterContainer. + + + + + + the first #ClutterActor to add + + + + + + + + + + Adds a #ClutterActor to @container. This function will emit the +"actor-added" signal. The actor should be parented to +#ClutterContainer. + + + + + + the first #ClutterActor to add + + + + + + Removes a %NULL terminated list of #ClutterActor<!-- -->s from +around you must hold a reference to it yourself, using g_object_ref(). +Each time an actor is removed, the "actor-removed" signal is +emitted by @container. + + + + + + first #ClutterActor to remove + + + + + + + + + + Removes @actor from @container. The actor should be unparented, so +if you want to keep it around you must hold a reference to it +yourself, using g_object_ref(). When the actor has been removed, +the "actor-removed" signal is emitted by @container. + + + + + + a #ClutterActor + + + + + + Retrieves all the children of @container. +of #ClutterActor<!-- -->s. Use g_list_free() on the returned +list when done. + + a list + + + + + + + Calls @callback for each child of @container that was added +by the application (with clutter_container_add_actor()). Does +not iterate over "internal" children that are part of the +container's own implementation, if any. + + + + + + a function to be called for each child + + + + data to be passed to the function, or %NULL + + + + + + Calls @callback for each child of @container, including "internal" +children built in to the container itself that were never added +by the application. + + + + + + a function to be called for each child + + + + data to be passed to the function, or %NULL + + + + + + Finds a child actor of a container by its name. Search recurses +into any child container. +or %NULL if no actor with that name was found. + + The child actor with the requested name, + + + + + the name of the requested child. + + + + + + Raises @actor to @sibling level, in the depth ordering. + + + + + + the actor to raise + + + + the sibling to raise to, or %NULL to raise to the top + + + + + + Lowers @actor to @sibling level, in the depth ordering. + + + + + + the actor to raise + + + + the sibling to lower to, or %NULL to lower to the bottom + + + + + + Sorts a container's children using their depth. This function should not +be normally used by applications. + + + + + + Creates the #ClutterChildMeta wrapping @actor inside the +class member is not set to %G_TYPE_INVALID. +This function is only useful when adding a #ClutterActor to +a #ClutterContainer implementation outside of the +#ClutterContainer::add() virtual function implementation. +Applications should not call this function. + + + + + + a #ClutterActor + + + + + + Destroys the #ClutterChildMeta wrapping @actor inside the +This function is only useful when removing a #ClutterActor to +a #ClutterContainer implementation outside of the +#ClutterContainer::add() virtual function implementation. +Applications should not call this function. + + + + + + a #ClutterActor + + + + + + Retrieves the #ClutterChildMeta which contains the data about the +of @container or %NULL if the specifiec actor does not exist or the +container is not configured to provide #ClutterChildMeta<!-- -->s + + the #ClutterChildMeta for the @actor child + + + + + a #ClutterActor that is a child of @container. + + + + + + Sets a container-specific property on a child of @container. + + + + + + a #ClutterActor that is a child of @container. + + + + the name of the property to set. + + + + the value. + + + + + + Gets a container specific property of a child of @container, In general, +a copy is made of the property contents and the caller is responsible for +freeing the memory by calling g_value_unset(). +Note that clutter_container_child_set_property() is really intended for +language bindings, clutter_container_child_set() is much more convenient +for C programming. + + + + + + a #ClutterActor that is a child of @container. + + + + the name of the property to set. + + + + the value. + + + + + + Sets container specific properties on the child of a container. + + + + + + a #ClutterActor that is a child of @container. + + + + name of the first property to be set. + + + + + + + + + + Gets @container specific properties of an actor. +In general, a copy is made of the property contents and the caller is +responsible for freeing the memory in the appropriate manner for the type, for +instance by calling g_free() or g_object_unref(). + + + + + + a #ClutterActor that is a child of @container. + + + + name of the first property to be set. + + + + + + + + + + The ::actor-added signal is emitted each time an actor +has been added to @container. + + + + + + the new child that has been added to @container + + + + + + The ::actor-removed signal is emitted each time an actor +is removed from @container. + + + + + + the child that has been removed from @container + + + + + + The ::child-notify signal is emitted each time a property is +being set through the clutter_container_child_set() and +clutter_container_child_set_property() calls. + + + + + + the child that has had a property set. + + + + + + + + + + Base interface for container actors. The @add, @remove and @foreach +virtual functions must be provided by any implementation; the other +virtual functions are optional. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + a function to be called for each child + + + + data to be passed to the function, or %NULL + + + + + + + + + + + + + + + + a function to be called for each child + + + + data to be passed to the function, or %NULL + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + a #ClutterActor + + + + + + + + + + + + + + + + a #ClutterActor + + + + + + + + + the #ClutterChildMeta for the @actor child + + + + + + + + a #ClutterActor that is a child of @container. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Event for the movement of the pointer across different actors + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The <structname>ClutterDeformEffect</structname> structure contains +only private data and should be accessed using the provided API + + + + + + + + + + + + + + + + + + Sets the material that should be used when drawing the back face +of the actor during a deformation +The #ClutterDeformEffect will take a reference on the material's +handle + + + + + + a handle to a Cogl material + + + + + + Retrieves the handle to the back face material used by @effect +The returned material is owned by the #ClutterDeformEffect and it +should not be freed directly + + a handle for the material, or %NULL. + + + + + Sets the number of horizontal and vertical tiles to be used +when applying the effect +More tiles allow a finer grained deformation at the expenses +of computation + + + + + + number of horizontal tiles + + + + number of vertical tiles + + + + + + Retrieves the number of horizontal and vertical tiles used to sub-divide +the actor's geometry during the effect + + + + + + return location for the number of horizontal tiles, or %NULL + + + + return location for the number of vertical tiles, or %NULL + + + + + + Invalidates the @effect<!-- -->'s vertices and, if it is associated +to an actor, it will queue a redraw + + + + + + A material to be used when painting the back of the actor +to which this effect has been applied +By default, no material will be used + + + + The number of horizontal tiles. The bigger the number, the +smaller the tiles + + + + The number of vertical tiles. The bigger the number, the +smaller the tiles + + + + + + + + + + + The <structname>ClutterDeformEffectClass</structname> structure contains +only private data + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <structname>ClutterDesaturateEffect</structname> is an opaque structure +whose members cannot be directly accessed + + Creates a new #ClutterDesaturateEffect to be used with +clutter_actor_add_effect() + + the newly created #ClutterDesaturateEffect or %NULL + + + + + the desaturation factor, between 0.0 and 1.0 + + + + + + Sets the desaturation factor for @effect, with 0.0 being "do not desaturate" +and 1.0 being "fully desaturate" + + + + + + the desaturation factor, between 0.0 and 1.0 + + + + + + Retrieves the desaturation factor of @effect + + the desaturation factor + + + + + The desaturation factor, between 0.0 (no desaturation) and 1.0 (full +desaturation). + + + + + The #ClutterDeviceManager structure contains only private data + + Retrieves the device manager singleton +The returned instance is owned by Clutter and it should not be +modified or freed + + the #ClutterDeviceManager singleton. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Lists all currently registered input devices +a newly allocated list of #ClutterInputDevice objects. Use +g_slist_free() to deallocate it when done + + + + + + + + Lists all currently registered input devices +a pointer to the internal list of #ClutterInputDevice objects. The +returned list is owned by the #ClutterDeviceManager and should never +be modified or freed + + + + + + + + Retrieves the #ClutterInputDevice with the given @device_id +returned device is owned by the #ClutterDeviceManager and should +never be modified or freed + + a #ClutterInputDevice or %NULL. The + + + + + the integer id of a device + + + + + + Retrieves the core #ClutterInputDevice of type @device_type +Core devices are devices created automatically by the default +Clutter backend +returned device is owned by the #ClutterDeviceManager and should +not be modified or freed + + a #ClutterInputDevice or %NULL. The + + + + + the type of the core device + + + + + + + + + + + + + + + The ::device-added signal is emitted each time a device has been +added to the #ClutterDeviceManager + + + + + + the newly added #ClutterInputDevice + + + + + + The ::device-removed signal is emitted each time a device has been +removed from the #ClutterDeviceManager + + + + + + the removed #ClutterInputDevice + + + + + + + The #ClutterDeviceManagerClass structure contains only private data + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The <structname>ClutterDragAction</structname> structure contains only +private data and should be accessed using the provided API + + Creates a new #ClutterDragAction instance + + the newly created #ClutterDragAction + + + + + Sets the drag threshold that must be cleared by the pointer +before @action can begin the dragging + + + + + + a distance, in pixels + + + + + + Retrieves the value set by clutter_drag_action_set_drag_threshold() + + the drag threshold value, in pixels + + + + + Sets the actor to be used as the drag handle + + + + + + a #ClutterActor + + + + + + Retrieves the drag handle set by clutter_drag_action_set_drag_handle() +handle, or %NULL if none was set + + a #ClutterActor, used as the drag + + + + + Restricts the dragging action to a specific axis + + + + + + the axis to constraint the dragging to + + + + + + Retrieves the axis constraint set by clutter_drag_action_set_drag_axis() + + the axis constraint + + + + + Retrieves the coordinates, in stage space, of the press event +that started the dragging + + + + + + return location for the press event's X coordinate + + + + return location for the press event's Y coordinate + + + + + + Retrieves the coordinates, in stage space, of the latest motion +event during the dragging + + + + + + return location for the latest motion event's X coordinate + + + + return location for the latest motion event's Y coordinate + + + + + + Constraints the dragging action to the specified axis + + + + The #ClutterActor that is effectively being dragged +A #ClutterDragAction will, be default, use the #ClutterActor that +has been attached to the action; it is possible to create a +separate #ClutterActor and use it instead. +Setting this property has no effect on the #ClutterActor argument +passed to the #ClutterDragAction signals + + + + The threshold, in pixels, that begins a drag action +When set to a non-zero value, #ClutterDragAction will only emit +#ClutterDragAction::drag-begin if the pointer has moved at least +of the given amount of pixels since the button press event + + + + + + + + + + The ::drag-begin signal is emitted when the #ClutterDragAction +starts the dragging +The emission of this signal can be delayed by using the +#ClutterDragAction:drag-threshold property + + + + + + the #ClutterActor attached to the action + + + + the X coordinate (in stage space) of the press event + + + + the Y coordinate (in stage space) of the press event + + + + the modifiers of the press event + + + + + + The ::drag-end signal is emitted at the end of the dragging, +when the pointer button's is released +This signal is emitted if and only if the #ClutterDragAction::drag-begin +signal has been emitted first + + + + + + the #ClutterActor attached to the action + + + + the X coordinate (in stage space) of the release event + + + + the Y coordinate (in stage space) of the release event + + + + the modifiers of the release event + + + + + + + + + + + + + + + + + + + + + + + The <structname>ClutterDragActionClass</structname> structure contains +only private data + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The axis of the constraint that should be applied on the +dragging action + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The #ClutterEffect structure contains only private data and should +be accessed using the provided API + + + + + + + + + + + + + + + + The #ClutterEffectClass structure contains only private data + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Creates a new #ClutterEvent of the specified type. + + A newly allocated #ClutterEvent. + + + + + The type of event. + + + + + + Puts a copy of the event on the back of the event queue. The event will +have the %CLUTTER_EVENT_FLAG_SYNTHETIC flag set. If the source is set +event signals will be emitted for this source and capture/bubbling for +its ancestors. If the source is not set it will be generated by picking +or use the actor that currently has keyboard focus + + + + + + Copies @event. + + A newly allocated #ClutterEvent + + + + + Frees all resources used by @event. + + + + + + Retrieves the type of the event. + + a #ClutterEventType + + + + + Retrieves the #ClutterEventFlags of @event + + the event flags + + + + + Retrieves the time of the event. + + the time of the event, or %CLUTTER_CURRENT_TIME + + + + + Retrieves the modifier state of the event. + + the modifier state parameter, or 0 + + + + + Retrieves the events device id if set. +no specific device set. + + A unique identifier for the device or -1 if the event has + + + + + Retrieves the type of the device for @event +any is set + + the #ClutterInputDeviceType for the device, if + + + + + Retrieves the #ClutterInputDevice for the event. +The #ClutterInputDevice structure is completely opaque and should +be cast to the platform-specific implementation. + + the #ClutterInputDevice or %NULL + + + + + Retrieves the source #ClutterActor the event originated from, or +NULL if the event has no source. + + a #ClutterActor + + + + + Retrieves the source #ClutterStage the event originated for, or +%NULL if the event has no stage. + + a #ClutterStage + + + + + Retrieves the coordinates of @event and puts them into @x and @y. + + + + + + return location for the X coordinate + + + + return location for the Y coordinate + + + + + + Retrieves the key symbol of @event + + the key symbol representing the key + + + + + Retrieves the keycode of the key that caused @event + + The keycode representing the key + + + + + Retrieves the unicode value for the key that caused @keyev. + + The unicode value representing the key + + + + + Retrieves the button number of @event + + the button number + + + + + Retrieves the number of clicks of @event + + the click count + + + + + Retrieves the related actor of a crossing event. + + the related #ClutterActor, or %NULL + + + + + Retrieves the direction of the scrolling of @event + + the scrolling direction + + + + + + Flags for the #ClutterEvent + + + + + Types of events. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Runtime flags indicating specific features available via Clutter window +sysytem and graphics backend. + + + + + + + + + + + + + + + + + + + + The #ClutterFixedLayout structure contains only private data and +it should be accessed using the provided API + + Creates a new #ClutterFixedLayout + + the newly created #ClutterFixedLayout + + + + + + + + + The #ClutterFixedLayoutClass structure contains only private data +and it should be accessed using the provided API + + + + + + The #ClutterFlowLayout structure contains only private data +and should be accessed using the provided API + + Creates a new #ClutterFlowLayout with the given @orientation + + the newly created #ClutterFlowLayout + + + + + the orientation of the flow layout + + + + + + Sets the orientation of the flow layout +The orientation controls the direction used to allocate +orientation also controls the direction of the overflowing + + + + + + the orientation of the layout + + + + + + Retrieves the orientation of the @layout + + the orientation of the #ClutterFlowLayout + + + + + Sets whether the @layout should allocate the same space for +each child + + + + + + whether the layout should be homogeneous or not + + + + + + Retrieves whether the @layout is homogeneous + + %TRUE if the #ClutterFlowLayout is homogeneous + + + + + Sets the space between columns, in pixels + + + + + + the space between columns + + + + + + Retrieves the spacing between columns +in pixels + + the spacing between columns of the #ClutterFlowLayout, + + + + + Sets the spacing between rows, in pixels + + + + + + the space between rows + + + + + + Retrieves the spacing between rows +in pixels + + the spacing between rows of the #ClutterFlowLayout, + + + + + Sets the minimum and maximum widths that a column can have + + + + + + minimum width of a column + + + + maximum width of a column + + + + + + Retrieves the minimum and maximum column widths + + + + + + return location for the minimum column width, or %NULL + + + + return location for the maximum column width, or %NULL + + + + + + Sets the minimum and maximum heights that a row can have + + + + + + the minimum height of a row + + + + the maximum height of a row + + + + + + Retrieves the minimum and maximum row heights + + + + + + return location for the minimum row height, or %NULL + + + + return location for the maximum row height, or %NULL + + + + + + The spacing between columns, in pixels; the value of this +property is honoured by horizontal non-overflowing layouts +and by vertical overflowing layouts + + + + Whether each child inside the #ClutterFlowLayout should receive +the same allocation + + + + Maximum width for each column in the layout, in pixels. If +set to -1 the width will be the maximum child width + + + + Maximum height for each row in the layout, in pixels. If +set to -1 the width will be the maximum child height + + + + Minimum width for each column in the layout, in pixels + + + + Minimum height for each row in the layout, in pixels + + + + The orientation of the #ClutterFlowLayout. The children +of the layout will be layed out following the orientation. +This property also controls the overflowing directions + + + + The spacing between rows, in pixels; the value of this +property is honoured by vertical non-overflowing layouts and +by horizontal overflowing layouts + + + + + + + + + + + The #ClutterFlowLayoutClass structure contains only private data +and should be accessed using the provided API + + + + + + + + The direction of the arrangement of the children inside +a #ClutterFlowLayout + + + + + Fog settings used to create the depth cueing effect. + + + + + + + + + Runtime flags to change the font quality. To be used with +clutter_set_font_flags(). + + + + + + + + + + + + + + + + + + + + + + + The rectangle containing an actor's bounding box, measured in pixels. + + + + + + + + + + + + + + Find the union of two rectangles represented as #ClutterGeometry. + + + + + + another #ClutterGeometry + + + + location to store the result + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Gravity of the scaling operations. When a gravity different than +%CLUTTER_GRAVITY_NONE is used, an actor is scaled keeping the position +of the specified portion at the same coordinates. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The #ClutterGroup structure contains only private data +and should be accessed using the provided API + + + + + + Create a new #ClutterGroup. + + the newly created #ClutterGroup actor + + + + + Gets a groups child held at @index_ in stack. + + A Clutter actor, or %NULL if + + + + + the position of the requested actor. + + + + + + Gets the number of actors held in the group. + + The number of child actors held in the group. + + + + + Removes all children actors from the #ClutterGroup. + + + + + + + + + + + + + The #ClutterGroupClass structure contains only private data + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Error conditions returned by clutter_init() and clutter_init_with_args(). + + + + + + + + Generic representation of an input device. The actual contents of this +structure depend on the backend used. + + Retrieves the type of @device + + the type of the device + + + + + Retrieves the unique identifier of @device + + the identifier of the device + + + + + Retrieves the latest coordinates of the pointer of @device + + + + + + return location for the X coordinate + + + + return location for the Y coordinate + + + + + + Retrieves the #ClutterActor underneath the pointer of @device + + a pointer to the #ClutterActor or %NULL + + + + + Retrieves the #ClutterStage underneath the pointer of @device + + a pointer to the #ClutterStage or %NULL + + + + + Retrieves the name of the @device +is owned by the #ClutterInputDevice and should never be modified +or freed + + the name of the device, or %NULL. The returned string + + + + + Forcibly updates the state of the @device using a #ClutterEvent +for integration with embedding toolkits, like clutter-gtk +Embedding toolkits that disable the event collection inside Clutter +need to use this function to update the state of input devices depending +on a #ClutterEvent that they are going to submit to the event handling code +in Clutter though clutter_do_event(). Since the input devices hold the state +that is going to be used to fill in fields like the #ClutterButtonEvent +click count, or to emit synthesized events like %CLUTTER_ENTER and +%CLUTTER_LEAVE, it is necessary for embedding toolkits to also be +responsible of updating the input device state. +For instance, this might be the code to translate an embedding toolkit +native motion notification into a Clutter #ClutterMotionEvent and ask +Clutter to process it: +|[ +ClutterEvent c_event; +translate_native_event_to_clutter (native_event, &amp;c_event); +clutter_do_event (&amp;c_event); +]| +Before letting clutter_do_event() process the event, it is necessary to call +clutter_input_device_update_from_event(): +|[ +ClutterEvent c_event; +ClutterDeviceManager *manager; +ClutterInputDevice *device; +translate_native_event_to_clutter (native_event, &amp;c_event); +/&ast; get the device manager &ast;/ +manager = clutter_device_manager_get_default (); +/&ast; use the default Core Pointer that Clutter +&ast; backends register by default +&ast;/ +device = clutter_device_manager_get_core_device (manager, %CLUTTER_POINTER_DEVICE); +/&ast; update the state of the input device &ast;/ +clutter_input_device_update_from_event (device, &amp;c_event, FALSE); +clutter_do_event (&amp;c_event); +]| +The @update_stage boolean argument should be used when the input device +enters and leaves a #ClutterStage; it will use the #ClutterStage field +of the passed @event to update the stage associated to the input device. + + + + + + a #ClutterEvent + + + + whether to update the #ClutterStage of the @device using the stage of the event + + + + + + The type of the device + + + + The unique identifier of the device + + + + The name of the device + + + + + The #ClutterInputDeviceClass structure contains only private +data and should not be accessed directly + + + + + + The types of input devices available. +The #ClutterInputDeviceType enumeration can be extended at later +date; not every platform supports every input device type. + + + + + + + + + + The mode of interpolation between key frames + + + + + The #ClutterInterval structure contains only private data and should +be accessed using the provided functions. + + Creates a new #ClutterInterval holding values of type @gtype. +This function avoids using a #GValue for the initial and final values +of the interval: +|[ +interval = clutter_interval_new (G_TYPE_FLOAT, 0.0, 1.0); +interval = clutter_interval_new (G_TYPE_BOOLEAN, FALSE, TRUE); +interval = clutter_interval_new (G_TYPE_INT, 0, 360); +]| + + the newly created #ClutterInterval + + + + + the type of the values in the interval + + + + + + + + + + Creates a new #ClutterInterval of type @gtype, between @initial +and @final. +This function is useful for language bindings. + + the newly created #ClutterInterval + + + + + the type of the values in the interval + + + + a #GValue holding the initial value of the interval + + + + a #GValue holding the final value of the interval + + + + + + Sets the progress function for a given @value_type, like: +|[ +clutter_interval_register_progress_func (MY_TYPE_FOO, +my_foo_progress); +]| +Whenever a #ClutterInterval instance using the default +#ClutterInterval::compute_value implementation is set as an +interval between two #GValue of type @value_type, it will call +for instance: +|[ +static gboolean +my_int_progress (const GValue *a, +const GValue *b, +gdouble progress, +GValue *retval) +{ +gint ia = g_value_get_int (a); +gint ib = g_value_get_int (b); +gint res = factor * (ib - ia) + ia; +g_value_set_int (retval, res); +return TRUE; +} +clutter_interval_register_progress_func (G_TYPE_INT, my_int_progress); +]| +To unset a previously set progress function of a #GType, pass %NULL +for @func. + + + + + + a #GType + + + + a #ClutterProgressFunc, or %NULL to unset a previously set progress function + + + + + + Validates the initial and final values of @interval against +a #GParamSpec. + + %TRUE if the #ClutterInterval is valid, %FALSE otherwise + + + + + a #GParamSpec + + + + + + Computes the value between the @interval boundaries given the +progress @factor and copies it into @value. + + %TRUE if the operation was successful + + + + + the progress factor, between 0 and 1 + + + + return location for an initialized #GValue + + + + + + Creates a copy of @interval. + + the newly created #ClutterInterval + + + + + Retrieves the #GType of the values inside @interval. + + the type of the value, or G_TYPE_INVALID + + + + + Sets the initial value of @interval to @value. The value is copied +inside the #ClutterInterval. + + + + + + a #GValue + + + + + + Retrieves the initial value of @interval and copies +it into @value. +The passed #GValue must be initialized to the value held by +the #ClutterInterval. + + + + + + a #GValue + + + + + + Gets the pointer to the initial value of @interval +The value is owned by the #ClutterInterval and it should not be +modified or freed + + the initial value of the interval. + + + + + Sets the final value of @interval to @value. The value is +copied inside the #ClutterInterval. + + + + + + a #GValue + + + + + + Retrieves the final value of @interval and copies +it into @value. +The passed #GValue must be initialized to the value held by +the #ClutterInterval. + + + + + + a #GValue + + + + + + Gets the pointer to the final value of @interval +The value is owned by the #ClutterInterval and it should not be +modified or freed + + the final value of the interval. + + + + + Variable arguments wrapper for clutter_interval_set_initial_value() +and clutter_interval_set_final_value() that avoids using the +#GValue arguments: +|[ +clutter_interval_set_interval (interval, 0, 50); +clutter_interval_set_interval (interval, 1.0, 0.0); +clutter_interval_set_interval (interval, FALSE, TRUE); +]| +This function is meant for the convenience of the C API; bindings +should reimplement this function using the #GValue-based API. + + + + + + + + + + + + Variable arguments wrapper for clutter_interval_get_initial_value() +and clutter_interval_get_final_value() that avoids using the +#GValue arguments: +|[ +gint a = 0, b = 0; +clutter_interval_get_interval (interval, &a, &b); +]| +This function is meant for the convenience of the C API; bindings +should reimplement this function using the #GValue-based API. + + + + + + + + + + + + Validates the initial and final values of @interval against +a #GParamSpec. + + %TRUE if the #ClutterInterval is valid, %FALSE otherwise + + + + + a #GParamSpec + + + + + + Computes the value between the @interval boundaries given the +progress @factor and copies it into @value. + + %TRUE if the operation was successful + + + + + the progress factor, between 0 and 1 + + + + return location for an initialized #GValue + + + + + + Computes the value between the @interval boundaries given the +progress @factor +Unlike clutter_interval_compute_value(), this function will +return a const pointer to the computed value +You should use this function if you immediately pass the computed +value to another function that makes a copy of it, like +g_object_set_property() +or %NULL if the computation was not successfull + + a pointer to the computed value, + + + + + the progress factor, between 0 and 1 + + + + + + The type of the values in the interval. + + + + + + + + + + + The #ClutterIntervalClass contains only private data. + + + + + + + %TRUE if the #ClutterInterval is valid, %FALSE otherwise + + + + + + + + a #GParamSpec + + + + + + + + + %TRUE if the operation was successful + + + + + + + + the progress factor, between 0 and 1 + + + + return location for an initialized #GValue + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Key event + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Point in a path behaviour. + + + + + + + + Makes an allocated copy of a knot. + + the copied knot. + + + + + Frees the memory of an allocated knot. + + + + + + Compares to knot and checks if the point to the same location. + + %TRUE if the knots point to the same location. + + + + + Second knot + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The #ClutterLayoutManager structure contains only private data +and should be accessed using the provided API + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Allocates the children of @container given an area +See also clutter_actor_allocate() + + + + + + the #ClutterContainer using @manager + + + + the #ClutterActorBox containing the allocated area of @container + + + + the allocation flags + + + + + + If the #ClutterLayoutManager sub-class allows it, allow +adding a weak reference of the @container using @manager +from within the layout manager +The layout manager should not increase the reference +count of the @container + + + + + + a #ClutterContainer using @manager + + + + + + + + + + + + + + + + + + + + + + + + Begins an animation of @duration milliseconds, using the provided +easing @mode +The easing mode can be specified either as a #ClutterAnimationMode +or as a logical id returned by clutter_alpha_register_func() +The result of this function depends on the @manager implementation +layout manager; the returned instance is owned by the layout +manager and should not be unreferenced + + The #ClutterAlpha created by the + + + + + the duration of the animation, in milliseconds + + + + the easing mode of the animation + + + + + + Retrieves the progress of the animation, if one has been started by +clutter_layout_manager_begin_animation() +The returned value has the same semantics of the #ClutterAlpha:alpha +value + + the progress of the animation + + + + + Ends an animation started by clutter_layout_manager_begin_animation() +The result of this call depends on the @manager implementation + + + + + + Computes the minimum and natural widths of the @container according +to @manager. +See also clutter_actor_get_preferred_width() + + + + + + the #ClutterContainer using @manager + + + + the height for which the width should be computed, or -1 + + + + return location for the minimum width of the layout, or %NULL + + + + return location for the natural width of the layout, or %NULL + + + + + + Computes the minimum and natural heights of the @container according +to @manager. +See also clutter_actor_get_preferred_height() + + + + + + the #ClutterContainer using @manager + + + + the width for which the height should be computed, or -1 + + + + return location for the minimum height of the layout, or %NULL + + + + return location for the natural height of the layout, or %NULL + + + + + + Allocates the children of @container given an area +See also clutter_actor_allocate() + + + + + + the #ClutterContainer using @manager + + + + the #ClutterActorBox containing the allocated area of @container + + + + the allocation flags + + + + + + If the #ClutterLayoutManager sub-class allows it, allow +adding a weak reference of the @container using @manager +from within the layout manager +The layout manager should not increase the reference +count of the @container + + + + + + a #ClutterContainer using @manager + + + + + + Emits the #ClutterLayoutManager::layout-changed signal on @manager +This function should only be called by implementations of the +#ClutterLayoutManager class + + + + + + Retrieves the #GParamSpec for the layout property @name inside +the #ClutterLayoutMeta sub-class used by @manager +or %NULL if no property with that name exists. The returned +#GParamSpec is owned by the layout manager and should not be +modified or freed + + a #GParamSpec describing the property, + + + + + the name of the property + + + + + + Retrieves all the #GParamSpec<!-- -->s for the layout properties +stored inside the #ClutterLayoutMeta sub-class used by @manager +array of #GParamSpec<!-- -->s. Use g_free() to free the resources +allocated for the array + + the newly-allocated, %NULL-terminated + + + + + return location for the number of returned #GParamSpec<!-- -->s + + + + + + Retrieves the #ClutterLayoutMeta that the layout @manager associated +to the @actor child of @container, eventually by creating one if the +#ClutterLayoutManager supports layout properties +does not have layout properties + + a #ClutterLayoutMeta, or %NULL if the #ClutterLayoutManager + + + + + a #ClutterContainer using @manager + + + + a #ClutterActor child of @container + + + + + + Sets a list of properties and their values on the #ClutterLayoutMeta +associated by @manager to a child of @container +Languages bindings should use clutter_layout_manager_child_set_property() +instead + + + + + + a #ClutterContainer using @manager + + + + a #ClutterActor child of @container + + + + the first property name + + + + + + + + + + Retrieves the values for a list of properties out of the +#ClutterLayoutMeta created by @manager and attached to the +child of a @container + + + + + + a #ClutterContainer using @manager + + + + a #ClutterActor child of @container + + + + the name of the first property + + + + + + + + + + Sets a property on the #ClutterLayoutMeta created by @manager and +attached to a child of @container + + + + + + a #ClutterContainer using @manager + + + + a #ClutterActor child of @container + + + + the name of the property to set + + + + a #GValue with the value of the property to set + + + + + + Gets a property on the #ClutterLayoutMeta created by @manager and +attached to a child of @container +The #GValue must already be initialized to the type of the property +and has to be unset with g_value_unset() after extracting the real +value out of it + + + + + + a #ClutterContainer using @manager + + + + a #ClutterActor child of @container + + + + the name of the property to get + + + + a #GValue with the value of the property to get + + + + + + Begins an animation of @duration milliseconds, using the provided +easing @mode +The easing mode can be specified either as a #ClutterAnimationMode +or as a logical id returned by clutter_alpha_register_func() +The result of this function depends on the @manager implementation +layout manager; the returned instance is owned by the layout +manager and should not be unreferenced + + The #ClutterAlpha created by the + + + + + the duration of the animation, in milliseconds + + + + the easing mode of the animation + + + + + + Ends an animation started by clutter_layout_manager_begin_animation() +The result of this call depends on the @manager implementation + + + + + + Retrieves the progress of the animation, if one has been started by +clutter_layout_manager_begin_animation() +The returned value has the same semantics of the #ClutterAlpha:alpha +value + + the progress of the animation + + + + + + + + + + + The ::layout-changed signal is emitted each time a layout manager +has been changed. Every #ClutterActor using the @manager instance +as a layout manager should connect a handler to the ::layout-changed +signal and queue a relayout on themselves: +|[ +static void layout_changed (ClutterLayoutManager *manager, +ClutterActor *self) +{ +clutter_actor_queue_relayout (self); +} +... +self->manager = g_object_ref_sink (manager); +g_signal_connect (self->manager, "layout-changed", +G_CALLBACK (layout_changed), +self); +]| +Sub-classes of #ClutterLayoutManager that implement a layout that +can be controlled or changed using parameters should emit the +::layout-changed signal whenever one of the parameters changes, +by using clutter_layout_manager_layout_changed(). + + + + + + + The #ClutterLayoutManagerClass structure contains only private +data and should be accessed using the provided API + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + the #ClutterContainer using @manager + + + + the #ClutterActorBox containing the allocated area of @container + + + + the allocation flags + + + + + + + + + + + + + + + + a #ClutterContainer using @manager + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The #ClutterAlpha created by the + + + + + + + + the duration of the animation, in milliseconds + + + + the easing mode of the animation + + + + + + + + + the progress of the animation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Retrieves the actor wrapped by @data + + a #ClutterLayoutManager + + + + + The #ClutterLayoutManager that created this #ClutterLayoutMeta. + + + + + + + + + + + + + + + + + The #ClutterLayoutMetaClass contains only private data and +should never be accessed directly + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The #ClutterListModel struct contains only private data. + + + Creates a new default model with @n_columns columns with the types +and names passed in. +For example: +<informalexample><programlisting> +model = clutter_list_model_new (3, +G_TYPE_INT, "Score", +G_TYPE_STRING, "Team", +GDK_TYPE_PIXBUF, "Logo"); +</programlisting></informalexample> +will create a new #ClutterModel with three columns of type int, +string and #GdkPixbuf respectively. +Note that the name of the column can be set to %NULL, in which case +the canonical name of the type held by the column will be used as +the title. + + a new #ClutterListModel + + + + + number of columns in the model + + + + + + + + + + Non-vararg version of clutter_list_model_new(). This function is +useful for language bindings. + + a new default #ClutterModel + + + + + number of columns in the model + + + + an array of #GType types for the columns, from first to last + + + + an array of names for the columns, from first to last + + + + + + + + + + + + + The #ClutterListModelClass struct contains only private data. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + #ClutterMedia is an opaque structure whose members cannot be directly +accessed + + Sets the URI of @media to @uri. + + + + + + the URI of the media stream + + + + + + Retrieves the URI from @media. +to free the returned string + + the URI of the media stream. Use g_free() + + + + + Sets the source of @media using a file path. + + + + + + A filename + + + + + + Starts or stops playing of @media. + + + + + + %TRUE to start playing + + + + + + Retrieves the playing status of @media. + + %TRUE if playing, %FALSE if stopped. + + + + + Sets the playback progress of @media. The @progress is +a normalized value between 0.0 (begin) and 1.0 (end). + + + + + + the progress of the playback, between 0.0 and 1.0 + + + + + + Retrieves the playback progress of @media. + + the playback progress, between 0.0 and 1.0 + + + + + Sets the location of a subtitle file to display while playing @media. + + + + + + the URI of a subtitle file + + + + + + Retrieves the URI of the subtitle file in use. +to free the returned string + + the URI of the subtitle file. Use g_free() + + + + + Sets the font used by the subtitle renderer. The @font_name string must be +either %NULL, which means that the default font name of the underlying +implementation will be used; or must follow the grammar recognized by +pango_font_description_from_string() like: +|[ +clutter_media_set_subtitle_font_name (media, "Sans 24pt"); +]| + + + + + + a font name, or %NULL to set the default font name + + + + + + Retrieves the font name currently used. +to free the returned string + + a string containing the font name. Use g_free() + + + + + Sets the playback volume of @media to @volume. + + + + + + the volume as a double between 0.0 and 1.0 + + + + + + Retrieves the playback volume of @media. + + The playback volume between 0.0 and 1.0 + + + + + Retrieves whether @media is seekable or not. + + %TRUE if @media can seek, %FALSE otherwise. + + + + + Retrieves the amount of the stream that is buffered. + + the fill level, between 0.0 and 1.0 + + + + + Retrieves the duration of the media stream that @media represents. + + the duration of the media stream, in seconds + + + + + The volume of the audio, as a normalized value between +0.0 and 1.0. + + + + The fill level of the buffer for the current stream, +as a value between 0.0 and 1.0. + + + + Whether the current stream is seekable. + + + + The duration of the current stream, in seconds + + + + Whether the #ClutterMedia actor is playing. + + + + The current progress of the playback, as a normalized +value between 0.0 and 1.0. + + + + The font used to display subtitles. The font description has to +follow the same grammar as the one recognized by +pango_font_description_from_string(). + + + + The location of a subtitle file, expressed as a valid URI. + + + + The location of a media file, expressed as a valid URI. + + + + The ::eos signal is emitted each time the media stream ends. + + + + + + The ::error signal is emitted each time an error occurred. + + + + + + the #GError + + + + + + + Interface vtable for #ClutterMedia implementations + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Base class for list models. The #ClutterModel structure contains +only private data and should be manipulated using the provided +API. + + + Retrieves the number of rows inside @model, eventually taking +into account any filtering function set using clutter_model_set_filter(). +the length of the filtered @model is returned. + + The length of the @model. If there is a filter set, then + + + + + Retrieves the number of columns inside @model. + + the number of columns + + + + + Retrieves the name of the @column +string, and it should not be modified or freed + + the name of the column. The model holds the returned + + + + + the column number + + + + + + Retrieves the type of the @column. + + the type of the column. + + + + + the column number + + + + + + + + + + + + + + + + + + + + + + + + + + Retrieves a #ClutterModelIter representing the row at the given index. +If a filter function has been set using clutter_model_set_filter() +then the @model implementation will return the first non filtered +row. +out of bounds. When done using the iterator object, call g_object_unref() +to deallocate its resources + + A new #ClutterModelIter, or %NULL if @row was + + + + + position of the row to retrieve + + + + + + + + + + + + + + + + + + + Sets the types of the columns inside a #ClutterModel. +This function is meant primarily for #GObjects that inherit from +#ClutterModel, and should only be used when contructing a #ClutterModel. +It will not work after the initial creation of the #ClutterModel. + + + + + + number of columns for the model + + + + an array of #GType types + + + + + + + + Assigns a name to the columns of a #ClutterModel. +This function is meant primarily for #GObjects that inherit from +#ClutterModel, and should only be used when contructing a #ClutterModel. +It will not work after the initial creation of the #ClutterModel. + + + + + + the number of column names + + + + an array of strings + + + + + + + + Creates and appends a new row to the #ClutterModel, setting the +row values upon creation. For example, to append a new row where +column 0 is type %G_TYPE_INT and column 1 is of type %G_TYPE_STRING: +<informalexample><programlisting> +ClutterModel *model; +model = clutter_model_default_new (2, +G_TYPE_INT, "Score", +G_TYPE_STRING, "Team"); +clutter_model_append (model, 0, 42, 1, "Team #1", -1); +</programlisting></informalexample> + + + + + + + + + + + + Creates and appends a new row to the #ClutterModel, setting the row +values for the given @columns upon creation. + + + + + + the number of columns and values + + + + a vector with the columns to set + + + + + + a vector with the values + + + + + + + + Creates and prepends a new row to the #ClutterModel, setting the row +values upon creation. For example, to prepend a new row where column 0 +is type %G_TYPE_INT and column 1 is of type %G_TYPE_STRING: +<informalexample><programlisting> +ClutterModel *model; +model = clutter_model_default_new (2, +G_TYPE_INT, "Score", +G_TYPE_STRING, "Team"); +clutter_model_prepend (model, 0, 42, 1, "Team #1", -1); +</programlisting></informalexample> + + + + + + + + + + + + Creates and prepends a new row to the #ClutterModel, setting the row +values for the given @columns upon creation. + + + + + + the number of columns and values to set + + + + a vector containing the columns to set + + + + + + a vector containing the values for the cells + + + + + + + + Inserts a new row to the #ClutterModel at @row, setting the row +values upon creation. For example, to insert a new row at index 100, +where column 0 is type %G_TYPE_INT and column 1 is of type +%G_TYPE_STRING: +<informalexample><programlisting> +ClutterModel *model; +model = clutter_model_default_new (2, +G_TYPE_INT, "Score", +G_TYPE_STRING, "Team"); +clutter_model_insert (model, 3, 0, 42, 1, "Team #1", -1); +</programlisting></informalexample> + + + + + + the position to insert the new row + + + + + + + + + + Inserts data at @row into the #ClutterModel, setting the row +values for the given @columns upon creation. + + + + + + row index + + + + the number of columns and values to set + + + + a vector containing the columns to set + + + + + + a vector containing the values for the cells + + + + + + + + Sets the data in the cell specified by @iter and @column. The type of +not exist then it is created. + + + + + + position of the row to modify + + + + column to modify + + + + new value for the cell + + + + + + Removes the row at the given position from the model. + + + + + + position of row to remove + + + + + + Retrieves the number of rows inside @model, eventually taking +into account any filtering function set using clutter_model_set_filter(). +the length of the filtered @model is returned. + + The length of the @model. If there is a filter set, then + + + + + Retrieves the number of columns inside @model. + + the number of columns + + + + + Retrieves the name of the @column +string, and it should not be modified or freed + + the name of the column. The model holds the returned + + + + + the column number + + + + + + Retrieves the type of the @column. + + the type of the column. + + + + + the column number + + + + + + Retrieves a #ClutterModelIter representing the first non-filtered +row in @model. +Call g_object_unref() when done using it + + A new #ClutterModelIter. + + + + + Retrieves a #ClutterModelIter representing the last non-filtered +row in @model. +Call g_object_unref() when done using it + + A new #ClutterModelIter. + + + + + Retrieves a #ClutterModelIter representing the row at the given index. +If a filter function has been set using clutter_model_set_filter() +then the @model implementation will return the first non filtered +row. +out of bounds. When done using the iterator object, call g_object_unref() +to deallocate its resources + + A new #ClutterModelIter, or %NULL if @row was + + + + + position of the row to retrieve + + + + + + Sets the model to sort by @column. If @column is a negative value +the sorting column will be unset. + + + + + + the column of the @model to sort, or -1 + + + + + + Retrieves the number of column used for sorting the @model. + + a column number, or -1 if the model is not sorted + + + + + Calls @func for each row in the model. + + + + + + a #ClutterModelForeachFunc + + + + user data to pass to @func + + + + + + Sorts @model using the given sorting function. + + + + + + the column to sort on + + + + a #ClutterModelSortFunc, or #NULL + + + + user data to pass to @func, or #NULL + + + + destroy notifier of @user_data, or #NULL + + + + + + Filters the @model using the given filtering function. + + + + + + a #ClutterModelFilterFunc, or #NULL + + + + user data to pass to @func, or #NULL + + + + destroy notifier of @user_data, or #NULL + + + + + + Returns whether the @model has a filter in place, set +using clutter_model_set_filter() + + %TRUE if a filter is set + + + + + Force a resort on the @model. This function should only be +used by subclasses of #ClutterModel. + + + + + + Checks whether @row should be filtered or not using the +filtering function set on @model. +This function should be used only by subclasses of #ClutterModel. +%FALSE otherwise + + %TRUE if the row should be displayed, + + + + + the row to filter + + + + + + Checks whether the row pointer by @iter should be filtered or not using +the filtering function set on @model. +This function should be used only by subclasses of #ClutterModel. +%FALSE otherwise + + %TRUE if the row should be displayed, + + + + + the row to filter + + + + + + Whether the #ClutterModel has a filter set +This property is set to %TRUE if a filter function has been +set using clutter_model_set_filter() + + + + + + + + + + The ::filter-changed signal is emitted when a new filter has been applied + + + + + + The ::row-added signal is emitted when a new row has been added. +The data on the row has already been set when the ::row-added signal +has been emitted. + + + + + + a #ClutterModelIter pointing to the new row + + + + + + The ::row-removed signal is emitted when a row has been changed. +The data on the row has already been updated when the ::row-changed +signal has been emitted. + + + + + + a #ClutterModelIter pointing to the changed row + + + + + + The ::row-removed signal is emitted when a row has been removed. +The data on the row pointed by the passed iterator is still valid +when the ::row-removed signal has been emitted. + + + + + + a #ClutterModelIter pointing to the removed row + + + + + + The ::sort-changed signal is emitted after the model has been sorted + + + + + + + Class for #ClutterModel instances. + + + + + + + The length of the @model. If there is a filter set, then + + + + + + + + + + + + + the number of columns + + + + + + + + + + + + + the name of the column. The model holds the returned + + + + + + + + the column number + + + + + + + + + the type of the column. + + + + + + + + the column number + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A new #ClutterModelIter, or %NULL if @row was + + + + + + + + position of the row to retrieve + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Filters the content of a row in the model. + + If the row should be displayed, return %TRUE + + + + + a #ClutterModel + + + + the iterator for the row + + + + data passed to clutter_model_set_filter() + + + + + + Iterates on the content of a row in the model + + %TRUE if the iteration should continue, %FALSE otherwise + + + + + a #ClutterModel + + + + the iterator for the row + + + + data passed to clutter_model_foreach() + + + + + + Base class for list models iters. The #ClutterModelIter structure +contains only private data and should be manipulated using the +provided API. + + Sets an initializes @value to that at @column. When done with @value, +g_value_unset() needs to be called to free any allocated memory. + + + + + + column number to retrieve the value from + + + + an empty #GValue to set + + + + + + Sets the data in the cell specified by @iter and @column. The type of + + + + + + column number to retrieve the value from + + + + new value for the cell + + + + + + Gets whether the current iterator is at the beginning of the model +to which it belongs. + + #TRUE if @iter is the first iter in the filtered model + + + + + Gets whether the iterator is at the end of the model to which it +belongs. + + #TRUE if @iter is the last iter in the filtered model. + + + + + Updates the @iter to point at the next position in the model. +The model implementation should take into account the presence of +a filter function. +row in the model. + + The passed iterator, updated to point at the next + + + + + Sets the @iter to point at the previous position in the model. +The model implementation should take into account the presence of +a filter function. +row in the model. + + The passed iterator, updated to point at the previous + + + + + Retrieves a pointer to the #ClutterModel that this iter is part of. + + a pointer to a #ClutterModel. + + + + + Retrieves the position of the row that the @iter points to. + + the position of the @iter in the model + + + + + Copies the passed iterator. + + a copy of the iterator, or %NULL + + + + + Gets the value of one or more cells in the row referenced by @iter. The +variable argument list should contain integer column numbers, each column +column number followed by a place to store the value being retrieved. The +list is terminated by a -1. +For example, to get a value from column 0 with type %G_TYPE_STRING use: +<informalexample><programlisting> +clutter_model_iter_get (iter, 0, &place_string_here, -1); +</programlisting></informalexample> +where place_string_here is a gchar* to be filled with the string. If +appropriate, the returned values have to be freed or unreferenced. + + + + + + + + + + + + Sets an initializes @value to that at @column. When done with @value, +g_value_unset() needs to be called to free any allocated memory. + + + + + + column number to retrieve the value from + + + + an empty #GValue to set + + + + + + Sets the value of one or more cells in the row referenced by @iter. The +variable argument list should contain integer column numbers, each column +column number followed by the value to be set. The list is terminated by a +-1. +For example, to set column 0 with type %G_TYPE_STRING, use: +<informalexample><programlisting> +clutter_model_iter_set (iter, 0, "foo", -1); +</programlisting></informalexample> + + + + + + + + + + + + Sets the data in the cell specified by @iter and @column. The type of + + + + + + column number to retrieve the value from + + + + new value for the cell + + + + + + Gets whether the current iterator is at the beginning of the model +to which it belongs. + + #TRUE if @iter is the first iter in the filtered model + + + + + Gets whether the iterator is at the end of the model to which it +belongs. + + #TRUE if @iter is the last iter in the filtered model. + + + + + Updates the @iter to point at the next position in the model. +The model implementation should take into account the presence of +a filter function. +row in the model. + + The passed iterator, updated to point at the next + + + + + Sets the @iter to point at the previous position in the model. +The model implementation should take into account the presence of +a filter function. +row in the model. + + The passed iterator, updated to point at the previous + + + + + Retrieves a pointer to the #ClutterModel that this iter is part of. + + a pointer to a #ClutterModel. + + + + + Retrieves the position of the row that the @iter points to. + + the position of the @iter in the model + + + + + Copies the passed iterator. + + a copy of the iterator, or %NULL + + + + + A reference to the #ClutterModel that this iter belongs to. + + + + The row number to which this iter points to. + + + + + + + + + + + Class for #ClutterModelIter instances. + + + + + + + + + + + + + + column number to retrieve the value from + + + + an empty #GValue to set + + + + + + + + + + + + + + + + column number to retrieve the value from + + + + new value for the cell + + + + + + + + + #TRUE if @iter is the first iter in the filtered model + + + + + + + + + + + + + #TRUE if @iter is the last iter in the filtered model. + + + + + + + + + + + + + The passed iterator, updated to point at the next + + + + + + + + + + + + + The passed iterator, updated to point at the previous + + + + + + + + + + + + + a pointer to a #ClutterModel. + + + + + + + + + + + + + the position of the @iter in the model + + + + + + + + + + + + + a copy of the iterator, or %NULL + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Compares the content of two rows in the model. + + a positive integer if @a is after @b, a negative integer if + + + + + a #ClutterModel + + + + a #GValue representing the contents of the row + + + + a #GValue representing the contents of the second row + + + + data passed to clutter_model_set_sort() + + + + + + Masks applied to a #ClutterEvent by modifiers. + + + + + + + + + + + + + + + + + + + + + Event for the pointer motion + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The #ClutterOffscreenEffect structure contains only private data +and should be accessed using the provided API + + + + + + + + + + + + + + + Calls the paint_target() virtual function of the @effect + + + + + + Retrieves the material used as a render target for the offscreen +buffer created by @effect +%COGL_INVALID_HANDLE. The returned handle is owned by Clutter +and it should not be modified or freed + + a handle for a #CoglMaterial, or + + + + + Calls the paint_target() virtual function of the @effect + + + + + + Calls the create_target() virtual function of the @effect + + a handle to the target texture + + + + + the minimum width of the target texture + + + + the minimum height of the target texture + + + + + + + + + + + + + The #ClutterOffscreenEffectClass structure contains only private data + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <structname>ClutterPageTurnEffect</structname> is an opaque structure +whose members can only be accessed using the provided API + + Creates a new #ClutterPageTurnEffect instance with the given parameters + + the newly created #ClutterPageTurnEffect + + + + + the period of the page curl, between 0.0 and 1.0 + + + + the angle of the page curl, between 0.0 and 360.0 + + + + the radius of the page curl, in pixels + + + + + + Sets the period of the page curling, between 0.0 (no curling) +and 1.0 (fully curled) + + + + + + the period of the page curl, between 0.0 and 1.0 + + + + + + Retrieves the value set using clutter_page_turn_effect_get_period() + + the period of the page curling + + + + + Sets the angle of the page curling, in degrees + + + + + + the angle of the page curl, in degrees + + + + + + Retrieves the value set using clutter_page_turn_effect_get_angle() + + the angle of the page curling + + + + + Sets the radius of the page curling + + + + + + the radius of the page curling, in pixels + + + + + + Retrieves the value set using clutter_page_turn_effect_set_radius() + + the radius of the page curling + + + + + The angle of the page rotation, in degrees, between 0.0 and 360.0 + + + + The period of the page turn, between 0.0 (no curling) and +1.0 (fully curled) + + + + The radius of the page curl, in pixels + + + + + + + + + + + A #GParamSpec subclass for defining properties holding +a #ClutterColor. + + + + + + + + + + + + + + + + + + + + + + + + + #GParamSpec subclass for unit based properties. + + + + + + + + + + + + + + + + + + The #ClutterPath struct contains only private data and should +be accessed with the functions below. + + Creates a new #ClutterPath instance with no nodes. +The object has a floating reference so if you add it to a +#ClutterBehaviourPath then you do not need to unref it. + + the newly created #ClutterPath + + + + + Creates a new #ClutterPath instance with the nodes described in +the string. +The object has a floating reference so if you add it to a +#ClutterBehaviourPath then you do not need to unref it. + + the newly created #ClutterPath + + + + + a string describing the path + + + + + + Adds a %CLUTTER_PATH_MOVE_TO type node to the path. This is usually +used as the first node in a path. It can also be used in the middle +of the path to cause the actor to jump to the new coordinate. + + + + + + the x coordinate + + + + the y coordinate + + + + + + Same as clutter_path_add_move_to() except the coordinates are +relative to the previous node. + + + + + + the x coordinate + + + + the y coordinate + + + + + + Adds a %CLUTTER_PATH_LINE_TO type node to the path. This causes the +actor to move to the new coordinates in a straight line. + + + + + + the x coordinate + + + + the y coordinate + + + + + + Same as clutter_path_add_line_to() except the coordinates are +relative to the previous node. + + + + + + the x coordinate + + + + the y coordinate + + + + + + Adds a %CLUTTER_PATH_CURVE_TO type node to the path. This causes +the actor to follow a bezier from the last node to (@x_3, @y_3) using +(@x_1, @y_1) and (@x_2,@y_2) as control points. + + + + + + the x coordinate of the first control point + + + + the y coordinate of the first control point + + + + the x coordinate of the second control point + + + + the y coordinate of the second control point + + + + the x coordinate of the third control point + + + + the y coordinate of the third control point + + + + + + Same as clutter_path_add_curve_to() except the coordinates are +relative to the previous node. + + + + + + the x coordinate of the first control point + + + + the y coordinate of the first control point + + + + the x coordinate of the second control point + + + + the y coordinate of the second control point + + + + the x coordinate of the third control point + + + + the y coordinate of the third control point + + + + + + Adds a %CLUTTER_PATH_CLOSE type node to the path. This creates a +straight line from the last node to the last %CLUTTER_PATH_MOVE_TO +type node. + + + + + + Adds new nodes to the end of the path as described in @str. The +format is a subset of the SVG path format. Each node is represented +by a letter and is followed by zero, one or three pairs of +coordinates. The coordinates can be separated by spaces or a +comma. The types are: +<variablelist> +<varlistentry><term>M</term> +<listitem><para> +Adds a %CLUTTER_PATH_MOVE_TO node. Takes one pair of coordinates. +</para></listitem></varlistentry> +<varlistentry><term>L</term> +<listitem><para> +Adds a %CLUTTER_PATH_LINE_TO node. Takes one pair of coordinates. +</para></listitem></varlistentry> +<varlistentry><term>C</term> +<listitem><para> +Adds a %CLUTTER_PATH_CURVE_TO node. Takes three pairs of coordinates. +</para></listitem></varlistentry> +<varlistentry><term>z</term> +<listitem><para> +Adds a %CLUTTER_PATH_CLOSE node. No coordinates are needed. +</para></listitem></varlistentry> +</variablelist> +The M, L and C commands can also be specified in lower case which +means the coordinates are relative to the previous node. +For example, to move an actor in a 100 by 100 pixel square centered +on the point 300,300 you could use the following path: +<informalexample> +<programlisting> +M 250,350 l 0 -100 L 350,250 l 0 100 z +</programlisting> +</informalexample> +If the path description isn't valid %FALSE will be returned and no +nodes will be added. +otherwise. + + %TRUE is the path description was valid or %FALSE + + + + + a string describing the new nodes + + + + + + Adds @node to the end of the path. + + + + + + a #ClutterPathNode + + + + + + Add the nodes of the Cairo path to the end of @path. + + + + + + a Cairo path + + + + + + Retrieves the number of nodes in the path. + + the number of nodes. + + + + + Retrieves the node of the path indexed by @index. + + + + + + the node number to retrieve + + + + a location to store a copy of the node + + + + + + Returns a #GSList of #ClutterPathNode<!-- -->s. The list should be +freed with g_slist_free(). The nodes are owned by the path and +should not be freed. Altering the path may cause the nodes in the +list to become invalid so you should copy them if you want to keep +the list. + + a list of nodes in the path. + + + + + + + Calls a function for each node of the path. + + + + + + the function to call with each node + + + + user data to pass to the function + + + + + + Inserts @node into the path before the node at the given offset. If + + + + + + offset of where to insert the node + + + + the node to insert + + + + + + Removes the node at the given offset from the path. + + + + + + index of the node to remove + + + + + + Replaces the node at offset @index_ with @node. + + + + + + index to the existing node + + + + the replacement node + + + + + + Returns a newly allocated string describing the path in the same +format as used by clutter_path_add_string(). + + a string description of the path. Free with g_free(). + + + + + Replaces all of the nodes in the path with nodes described by +If the string is invalid then %FALSE is returned and the path is +unaltered. + + %TRUE is the path was valid, %FALSE otherwise. + + + + + a string describing the path + + + + + + Removes all nodes from the path. + + + + + + Add the nodes of the ClutterPath to the path in the Cairo context. + + + + + + a Cairo context + + + + + + The value in @progress represents a position along the path where +0.0 is the beginning and 1.0 is the end of the path. An +interpolated position is then stored in @position. + + index of the node used to calculate the position. + + + + + a position along the path as a fraction of its length + + + + location to store the position + + + + + + Retrieves an approximation of the total length of the path. + + the length of the path. + + + + + + + + + + + + + + + + + + This function is passed to clutter_path_foreach() and will be +called for each node contained in the path. + + + + + + the node + + + + optional data passed to the function + + + + + + The #ClutterPathClass struct contains only private data. + + + + + + Represents a single node of a #ClutterPath. +Some of the coordinates in @points may be unused for some node +types. %CLUTTER_PATH_MOVE_TO and %CLUTTER_PATH_LINE_TO use only one +pair of coordinates, %CLUTTER_PATH_CURVE_TO uses all three and +%CLUTTER_PATH_CLOSE uses none. + + + + + + + + + + Makes an allocated copy of a node. + + the copied node. + + + + + Frees the memory of an allocated node. + + + + + + Compares two nodes and checks if they are the same type with the +same coordinates. + + %TRUE if the nodes are the same. + + + + + Second node + + + + + + + Types of nodes in a #ClutterPath. + + + + + + + + + + + + + + + Stage perspective definition. #ClutterPerspective is only used by +the fixed point version of clutter_stage_set_perspective(). + + + + + + + + + + + + + + + + + + Controls the paint cycle of the scene graph when in pick mode + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Prototype of the progress function used to compute the value +between the two ends @a and @b of an interval depending on +the value of @progress. +The #GValue in @retval is already initialized with the same +type as @a and @b. +This function will be called by #ClutterInterval if the +type of the values of the interval was registered using +clutter_interval_register_progress_func(). +the value and stored it inside @retval + + %TRUE if the function successfully computed + + + + + the initial value of an interval + + + + the final value of an interval + + + + the progress factor, between 0 and 1 + + + + the value used to store the progress + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The #ClutterRectangle structure contains only private data +and should be accessed using the provided API + + + + + Creates a new #ClutterActor with a rectangular shape. + + a new #ClutterActor + + + + + Creates a new #ClutterActor with a rectangular shape +and of the given @color. + + a new #ClutterActor + + + + + a #ClutterColor + + + + + + Retrieves the color of @rectangle. + + + + + + return location for a #ClutterColor + + + + + + Sets the color of @rectangle. + + + + + + a #ClutterColor + + + + + + Gets the width (in pixels) of the border used by @rectangle + + the border's width + + + + + Sets the width (in pixel) of the border used by @rectangle. +A @width of 0 will unset the border. + + + + + + the width of the border + + + + + + Gets the color of the border used by @rectangle and places +it into @color. + + + + + + return location for a #ClutterColor + + + + + + Sets the color of the border used by @rectangle using @color + + + + + + the color of the border + + + + + + The color of the border of the rectangle. + + + + The width of the border of the rectangle, in pixels. + + + + The color of the rectangle. + + + + Whether the #ClutterRectangle should be displayed with a border. + + + + + + + + + + + The #ClutterRectangleClass structure contains only private data + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Flags passed to the clutter_actor_queue_redraw_with_clip () +function + + + + + + + + Specifies the type of requests for a #ClutterActor. + + + + + + + + + + + + + + Axis of a rotation. + + + + + + Direction of a rotation. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The #ClutterScore structure contains only private data +and should be accessed using the provided API + + Creates a new #ClutterScore. A #ClutterScore is an object that can +hold multiple #ClutterTimeline<!-- -->s in a sequential order. +when done. + + the newly created #ClutterScore. Use g_object_unref() + + + + + Sets whether @score should loop. A looping #ClutterScore will start +from its initial state after the ::complete signal has been fired. + + + + + + %TRUE for enable looping + + + + + + Gets whether @score is looping + + %TRUE if the score is looping + + + + + Appends a timeline to another one existing in the score; the newly +appended timeline will be started when @parent is complete. +If @parent is %NULL, the new #ClutterTimeline will be started when +clutter_score_start() is called. +#ClutterScore will take a reference on @timeline. +0 on failure. The returned id can be used with clutter_score_remove() +or clutter_score_get_timeline(). + + the id of the #ClutterTimeline inside the score, or + + + + + a #ClutterTimeline in the score, or %NULL + + + + a #ClutterTimeline + + + + + + Appends @timeline at the given @marker_name on the @parent +#ClutterTimeline. +If you want to append @timeline at the end of @parent, use +clutter_score_append(). +The #ClutterScore will take a reference on @timeline. +0 on failure. The returned id can be used with clutter_score_remove() +or clutter_score_get_timeline(). + + the id of the #ClutterTimeline inside the score, or + + + + + the parent #ClutterTimeline + + + + the name of the marker to use + + + + the #ClutterTimeline to append + + + + + + Removes the #ClutterTimeline with the given id inside @score. If +the timeline has other timelines attached to it, those are removed +as well. + + + + + + the id of the timeline to remove + + + + + + Removes all the timelines inside @score. + + + + + + Retrieves the #ClutterTimeline for @id inside @score. +function does not increase the reference count on the returned +#ClutterTimeline + + the requested timeline, or %NULL. This + + + + + the id of the timeline + + + + + + Retrieves a list of all the #ClutterTimelines managed by @score. +containing all the timelines in the score. This function does not increase +the reference count of the returned timelines. Use g_slist_free() on the +returned list to deallocate its resources. + + a #GSList + + + + + + + Starts the score. + + + + + + Stops and rewinds a playing #ClutterScore instance. + + + + + + Pauses a playing score @score. + + + + + + Rewinds a #ClutterScore to its initial state. + + + + + + Query state of a #ClutterScore instance. + + %TRUE if score is currently playing + + + + + Whether the #ClutterScore should restart once finished. + + + + + + + + + + The ::completed signal is emitted each time a #ClutterScore terminates. + + + + + + The ::paused signal is emitted each time a #ClutterScore +is paused. + + + + + + The ::started signal is emitted each time a #ClutterScore starts playing. + + + + + + The ::timeline-completed signal is emitted each time a timeline +inside a #ClutterScore terminates. + + + + + + the completed timeline + + + + + + The ::timeline-started signal is emitted each time a new timeline +inside a #ClutterScore starts playing. + + + + + + the current timeline + + + + + + + The #ClutterScoreClass structure contains only private data + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The #ClutterScript structure contains only private data +and should be accessed using the provided API + + Creates a new #ClutterScript instance. #ClutterScript can be used +to load objects definitions for scenegraph elements, like actors, +or behavioural elements, like behaviours and timelines. The +definitions must be encoded using the JavaScript Object Notation (JSON) +language. +g_object_unref() when done. + + the newly created #ClutterScript instance. Use + + + + + Looks up a type by name, using the virtual function that +#ClutterScript has for that purpose. This function should +rarely be used. +%G_TYPE_INVALID if not corresponding type was found. + + the type for the requested type name, or + + + + + name of the type to look up + + + + + + Loads the definitions from @filename into @script and merges with +the currently loaded ones, if any. +accordingly. On success, the merge id for the UI definitions is +returned. You can use the merge id with clutter_script_unmerge_objects(). + + on error, zero is returned and @error is set + + + + + the full path to the definition file + + + + + + Loads the definitions from @data into @script and merges with +the currently loaded ones, if any. +accordingly. On success, the merge id for the UI definitions is +returned. You can use the merge id with clutter_script_unmerge(). + + on error, zero is returned and @error is set + + + + + a buffer containing the definitions + + + + the length of the buffer, or -1 if @data is a NUL-terminated buffer + + + + + + Retrieves the object bound to @name. This function does not increment +the reference count of the returned object. +with the given name was available + + the named object, or %NULL if no object + + + + + the name of the object to retrieve + + + + + + Retrieves a list of objects for the given names. After @script, object +names/return location pairs should be listed, with a %NULL pointer +ending the list, like: +<informalexample><programlisting> +GObject *my_label, *a_button, *main_timeline; +clutter_script_get_objects (script, +"my-label", &amp;my_label, +"a-button", &amp;a_button, +"main-timeline", &amp;main_timeline, +NULL); +</programlisting></informalexample> +returned objects. + + the number of objects returned. + + + + + the name of the first object to retrieve + + + + + + + + + + Retrieves all the objects created by @script. +objects it returns. +or %NULL. The objects are owned by the #ClutterScript instance. Use g_list_free() on the +returned value when done. + + a list of #GObject<!-- -->s, + + + + + + + Unmerges the objects identified by @merge_id. + + + + + + merge id returned when loading a UI definition + + + + + + Ensure that every object defined inside @script is correctly +constructed. You should rarely need to use this function. + + + + + + Looks up a type by name, using the virtual function that +#ClutterScript has for that purpose. This function should +rarely be used. +%G_TYPE_INVALID if not corresponding type was found. + + the type for the requested type name, or + + + + + name of the type to look up + + + + + + Connects all the signals defined into a UI definition file to their +handlers. +This method invokes clutter_script_connect_signals_full() internally +and uses #GModule's introspective features (by opening the current +module's scope) to look at the application's symbol table. +Note that this function will not work if #GModule is not supported by +the platform Clutter is running on. + + + + + + data to be passed to the signal handlers, or %NULL + + + + + + Connects all the signals defined into a UI definition file to their +handlers. +This function allows to control how the signal handlers are +going to be connected to their respective signals. It is meant +primarily for language bindings to allow resolving the function +names using the native API. +Applications should use clutter_script_connect_signals(). + + + + + + signal connection function + + + + data to be passed to the signal handlers, or %NULL + + + + + + Adds @paths to the list of search paths held by @script. +The search paths are used by clutter_script_lookup_filename(), which +can be used to define search paths for the textures source file name +or other custom, file-based properties. + + + + + + an array of strings containing different search paths + + + + the length of the passed array + + + + + + Looks up @filename inside the search paths of @script. If @filename +is found, its full path will be returned . +found. + + the full path of @filename or %NULL if no path was + + + + + the name of the file to lookup + + + + + + The path of the currently parsed file. If #ClutterScript:filename-set +is %FALSE then the value of this property is undefined. + + + + Whether the #ClutterScript:filename property is set. If this property +is %TRUE then the currently parsed data comes from a file, and the +file name is stored inside the #ClutterScript:filename property. + + + + + + + + + + + The #ClutterScriptClass structure contains only private data + + + + + + + the type for the requested type name, or + + + + + + + + name of the type to look up + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + This is the signature of a function used to connect signals. It is used +by the clutter_script_connect_signals_full() function. It is mainly +intended for interpreted language bindings, but could be useful where the +programmer wants more control over the signal connection process. + + + + + + a #ClutterScript + + + + the object to connect + + + + the name of the signal + + + + the name of the signal handler + + + + the object to connect the signal to, or %NULL + + + + signal connection flags + + + + user data to pass to the signal handler + + + + + + #ClutterScript error enumeration. + + + + + + + + #ClutterScriptable is an opaque structure whose members cannot be directly +accessed + + + + + + + + + + + + Retrieves the id of @scriptable set using clutter_scriptable_set_id(). +the scriptable object and should never be modified of freed + + the id of the object. The returned string is owned by + + + + + Parses the passed JSON node. The implementation must set the type +of the passed #GValue pointer using g_value_init(). + + %TRUE if the node was successfully parsed, %FALSE otherwise. + + + + + the #ClutterScript creating the scriptable instance + + + + the generic value to be set + + + + the name of the node + + + + the JSON node to be parsed + + + + + + Overrides the common properties setting. The underlying virtual +function should be used when implementing custom properties. + + + + + + the #ClutterScript creating the scriptable instance + + + + the name of the property + + + + the value of the property + + + + + + Sets @id as the unique Clutter script it for this instance of +#ClutterScriptableIface. +This name can be used by user interface designer applications to +define a unique name for an object constructable using the UI +definition language parsed by #ClutterScript. + + + + + + the #ClutterScript id of the object + + + + + + Retrieves the id of @scriptable set using clutter_scriptable_set_id(). +the scriptable object and should never be modified of freed + + the id of the object. The returned string is owned by + + + + + Parses the passed JSON node. The implementation must set the type +of the passed #GValue pointer using g_value_init(). + + %TRUE if the node was successfully parsed, %FALSE otherwise. + + + + + the #ClutterScript creating the scriptable instance + + + + the generic value to be set + + + + the name of the node + + + + the JSON node to be parsed + + + + + + Overrides the common properties setting. The underlying virtual +function should be used when implementing custom properties. + + + + + + the #ClutterScript creating the scriptable instance + + + + the name of the property + + + + the value of the property + + + + + + + Interface for implementing "scriptable" objects. An object implementing +this interface can override the parsing and properties setting sequence +when loading a UI definition data with #ClutterScript + + + + + + + + + + + + + + + + + + + + + + the id of the object. The returned string is owned by + + + + + + + + + + + + + %TRUE if the node was successfully parsed, %FALSE otherwise. + + + + + + + + the #ClutterScript creating the scriptable instance + + + + the generic value to be set + + + + the name of the node + + + + the JSON node to be parsed + + + + + + + + + + + + + + + + the #ClutterScript creating the scriptable instance + + + + the name of the property + + + + the value of the property + + + + + + + + Direction of a pointer scroll event. + + + + + + + Scroll wheel (or similar device) event + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <structname>ClutterSettings</structname> is an opaque structure whose +members cannot be directly accessed. + + Retrieves the singleton instance of #ClutterSettings +returned object is owned by Clutter and it should not be unreferenced +directly + + the instance of #ClutterSettings. The + + + + + A back pointer to the #ClutterBackend + + + + The maximum distance, in pixels, between button-press events that +determines whether or not to increase the click count by 1. + + + + The time, in milliseconds, that should elapse between button-press +events in order to increase the click count by 1. + + + + Whether or not to use antialiasing when rendering text; a value +of 1 enables it unconditionally; a value of 0 disables it +unconditionally; and -1 will use the system's default. + + + + The DPI used when rendering text, as a value of 1024 * dots/inch. +If set to -1, the system's default will be used instead + + + + The style of the hinting used when rendering text. Valid values +are: +<itemizedlist> +<listitem><simpara>hintnone</simpara></listitem> +<listitem><simpara>hintslight</simpara></listitem> +<listitem><simpara>hintmedium</simpara></listitem> +<listitem><simpara>hintfull</simpara></listitem> +</itemizedlist> + + + + Whether or not to use hinting when rendering text; a value of 1 +unconditionally enables it; a value of 0 unconditionally disables +it; and a value of -1 will use the system's default. + + + + The default font name that should be used by text actors, as +a string that can be passed to pango_font_description_from_string(). + + + + The type of sub-pixel antialiasing used when rendering text. Valid +values are: +<itemizedlist> +<listitem><simpara>none</simpara></listitem> +<listitem><simpara>rgb</simpara></listitem> +<listitem><simpara>bgr</simpara></listitem> +<listitem><simpara>vrgb</simpara></listitem> +<listitem><simpara>vbgr</simpara></listitem> +</itemizedlist> + + + + + The #ClutterShader structure contains only private data +and should be accessed using the provided API + + Create a new #ClutterShader instance. + + a new #ClutterShader. + + + + + Enables a shader. This function will attempt to compile and link +the shader, if it isn't already. +When @enabled is %FALSE the default state of the GL pipeline will be +used instead. + + + + + + The new state of the shader. + + + + + + Checks whether @shader is enabled. + + %TRUE if the shader is enabled. + + + + + Compiles and links GLSL sources set for vertex and fragment shaders for +a #ClutterShader. If the compilation fails and a #GError return location is +provided the error will contain the errors from the compiler, if any. + + returns TRUE if the shader was succesfully compiled. + + + + + Frees up any GL context resources held by the shader. + + + + + + Checks whether @shader is is currently compiled, linked and bound +to the GL context. + + %TRUE if the shader is compiled, linked and ready for use. + + + + + Sets the GLSL source code to be used by a #ClutterShader for the vertex +program. + + + + + + GLSL source code. + + + + length of source buffer (currently ignored) + + + + + + Sets the GLSL source code to be used by a #ClutterShader for the fragment +program. + + + + + + GLSL source code. + + + + length of source buffer (currently ignored) + + + + + + Query the current GLSL vertex source set on @shader. +ClutterShader object or %NULL. The returned string is owned by the +shader object and should never be modified or freed + + the source of the vertex shader for this + + + + + Query the current GLSL fragment source set on @shader. +ClutterShader object or %NULL. The returned string is owned by the +shader object and should never be modified or freed + + the source of the fragment shader for this + + + + + Sets a user configurable variable in the GLSL shader programs attached to +a #ClutterShader. + + + + + + name of uniform in GLSL shader program to set. + + + + a #ClutterShaderFloat, #ClutterShaderInt or #ClutterShaderMatrix #GValue. + + + + + + Retrieves the underlying #CoglHandle for the shader program. + + A #CoglHandle for the shader program, or %NULL + + + + + Retrieves the underlying #CoglHandle for the fragment shader. + + A #CoglHandle for the fragment shader, or %NULL + + + + + Retrieves the underlying #CoglHandle for the vertex shader. + + A #CoglHandle for the vertex shader, or %NULL + + + + + Whether the shader is compiled and linked, ready for use +in the GL context. + + + + Whether the shader is currently used in the GL rendering pipeline. + + + + GLSL source code for the fragment shader part of the shader program. + + + + GLSL source code for the vertex shader part of the shader +program, if any + + + + + + + + + + + The #ClutterShaderClass structure contains only private data + + + + + + The <structname>ClutterShaderEffect</structname> structure contains +only private data and should be accessed using the provided API + + Sets the source of the GLSL shader used by @effect +This function should only be called by implementations of +the #ClutterShaderEffect class, and not by application code. +This function can only be called once; subsequent calls will +yield no result. + + %TRUE if the source was set + + + + + the source of a GLSL shader + + + + + + Sets a list of values as the payload for the uniform @name inside +the shader effect +%G_TYPE_FLOAT, for 1 or more floating point values; +%CLUTTER_TYPE_SHADER_INT, for a pointer to an array of integer values; +%CLUTTER_TYPE_SHADER_FLOAT, for a pointer to an array of floating point +values; and %CLUTTER_TYPE_SHADER_MATRIX, for a pointer to an array of +floating point values mapping a matrix +The number of values interepreted is defined by the @n_value +argument, and by the @gtype argument. For instance, a uniform named +"sampler0" and containing a single integer value is set using: +|[ +clutter_shader_effect_set_uniform (effect, "sampler0", +G_TYPE_INT, 1, +0); +]| +While a uniform named "components" and containing a 3-elements vector +of floating point values (a "vec3") can be set using: +|[ +gfloat component_r, component_g, component_b; +clutter_shader_effect_set_uniform (effect, "components", +G_TYPE_FLOAT, 3, +component_r, +component_g, +component_b); +]| +or can be set using: +|[ +gfloat component_vec[3]; +clutter_shader_effect_set_uniform (effect, "components", +CLUTTER_TYPE_SHADER_FLOAT, 3, +component_vec); +]| +Finally, a uniform named "map" and containing a matrix can be set using: +|[ +clutter_shader_effect_set_uniform (effect, "map", +CLUTTER_TYPE_SHADER_MATRIX, 1, +cogl_matrix_get_array (&matrix)); +]| + + + + + + the name of the uniform to set + + + + the type of the uniform to set + + + + the number of values + + + + + + + + + + Sets @value as the payload for the uniform @name inside the shader +effect +integer value; %G_TYPE_FLOAT, for a single floating point value; +%CLUTTER_TYPE_SHADER_INT, for an array of integer values; +%CLUTTER_TYPE_SHADER_FLOAT, for an array of floating point values; +and %CLUTTER_TYPE_SHADER_MATRIX, for a matrix of floating point +values + + + + + + the name of the uniform to set + + + + a #GValue with the value of the uniform to set + + + + + + Retrieves a pointer to the shader's handle +or %COGL_INVALID_HANDLE + + a pointer to the shader's handle, + + + + + Retrieves a pointer to the program's handle +or %COGL_INVALID_HANDLE + + a pointer to the program's handle, + + + + + The type of shader that is used by the effect. This property +should be set by the constructor of #ClutterShaderEffect +sub-classes. + + + + + + + + + + + The <structname>ClutterShaderEffectClass</structname> structure contains +only private data + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + #ClutterShader error enumeration + + + + + + + + + + + + + + The type of GLSL shader program + + + + + + + + + + + + + + + + + + + + The #ClutterStage structure contains only private data +and should be accessed using the provided API + + + + + + Creates a new, non-default stage. A non-default stage is a new +top-level actor which can be used as another container. It works +exactly like the default stage, but while clutter_stage_get_default() +will always return the same instance, you will have to keep a pointer +to any #ClutterStage returned by clutter_stage_create(). +The ability to support multiple stages depends on the current +backend. Use clutter_feature_available() and +%CLUTTER_FEATURE_STAGE_MULTIPLE to check at runtime whether a +backend supports multiple stages. +not support multiple stages. Use clutter_actor_destroy() to +programmatically close the returned stage. + + a new stage, or %NULL if the default backend does + + + + + Returns the main stage. The default #ClutterStage is a singleton, +so the stage will be created the first time this function is +called (typically, inside clutter_init()); all the subsequent +calls to clutter_stage_get_default() will return the same instance. +Clutter guarantess the existence of the default stage. +destroy or unref the returned actor. + + the main #ClutterStage. You should never + + + + + Sets the stage color. + + + + + + A #ClutterColor + + + + + + Retrieves the stage color. + + + + + + return location for a #ClutterColor + + + + + + Sets the stage perspective. + + + + + + A #ClutterPerspective + + + + + + Retrieves the stage perspective. + + + + + + return location for a #ClutterPerspective + + + + + + Asks to place the stage window in the fullscreen or unfullscreen +states. +afterward, because other entities (e.g. the user or window manager) +could unfullscreen it again, and not all window managers honor +requests to fullscreen windows. +If you want to receive notification of the fullscreen state you +should either use the #ClutterStage::fullscreen and +#ClutterStage::unfullscreen signals, or use the notify signal +for the #ClutterStage:fullscreen-set property + + + + + + %TRUE to to set the stage fullscreen + + + + + + Retrieves whether the stage is full screen or not + + %TRUE if the stage is full screen + + + + + Shows the cursor on the stage window + + + + + + Makes the cursor invisible on the stage window + + + + + + Checks the scene at the coordinates @x and @y and returns a pointer +to the #ClutterActor at those coordinates. +By using @pick_mode it is possible to control which actors will be +painted and thus available. +if any + + the actor at the specified coordinates, + + + + + how the scene graph should be painted + + + + X coordinate to check + + + + Y coordinate to check + + + + + + Makes a screenshot of the stage in RGBA 8bit data, returns a +linear buffer with @width * 4 as rowstride. +The alpha data contained in the returned buffer is driver-dependent, +and not guaranteed to hold any sensible value. +or %NULL if the read failed. Use g_free() on the returned data +to release the resources it has allocated. + + a pointer to newly allocated memory with the buffer + + + + + + + x coordinate of the first pixel that is read from stage + + + + y coordinate of the first pixel that is read from stage + + + + Width dimention of pixels to be read, or -1 for the entire stage width + + + + Height dimention of pixels to be read, or -1 for the entire stage height + + + + + + This function is used to emit an event on the main stage. +You should rarely need to use this function, except for +synthetised events. + + the return value from the signal emission + + + + + a #ClutterEvent + + + + + + + + + + + + + + + + + + + + + Sets if the stage is resizable by user interaction (e.g. via +window manager controls) + + + + + + whether the stage should be user resizable. + + + + + + Retrieves the value set with clutter_stage_set_user_resizable(). + + %TRUE if the stage is resizable by the user. + + + + + Sets whether the depth cueing effect on the stage should be enabled +or not. +Depth cueing is a 3D effect that makes actors farther away from the +viewing point less opaque, by fading them with the stage color. +The parameters of the GL fog used can be changed using the +clutter_stage_set_fog() function. + + + + + + %TRUE for enabling the depth cueing effect + + + + + + Gets whether the depth cueing effect is enabled on @stage. + + %TRUE if the the depth cueing effect is enabled + + + + + Sets the fog (also known as "depth cueing") settings for the @stage. +A #ClutterStage will only use a linear fog progression, which +depends solely on the distance from the viewer. The cogl_set_fog() +function in COGL exposes more of the underlying implementation, +and allows changing the for progression function. It can be directly +used by disabling the #ClutterStage:use-fog property and connecting +a signal handler to the #ClutterActor::paint signal on the @stage, +like: +|[ +clutter_stage_set_use_fog (stage, FALSE); +g_signal_connect (stage, "paint", G_CALLBACK (on_stage_paint), NULL); +]| +The paint signal handler will call cogl_set_fog() with the +desired settings: +|[ +static void +on_stage_paint (ClutterActor *actor) +{ +ClutterColor stage_color = { 0, }; +CoglColor fog_color = { 0, }; +/&ast; set the fog color to the stage background color &ast;/ +clutter_stage_get_color (CLUTTER_STAGE (actor), &amp;stage_color); +cogl_color_set_from_4ub (&amp;fog_color, +stage_color.red, +stage_color.green, +stage_color.blue, +stage_color.alpha); +/&ast; enable fog &ast;/ +cogl_set_fog (&amp;fog_color, +COGL_FOG_MODE_EXPONENTIAL, /&ast; mode &ast;/ +0.5, /&ast; density &ast;/ +5.0, 30.0); /&ast; z_near and z_far &ast;/ +} +]| +unmultiplied alpha colors. By default Cogl will premultiply textures +and cogl_set_source_color will premultiply colors, so unless you +explicitly load your textures requesting an unmultiplied +internal_format and use cogl_material_set_color you can only use +fogging with fully opaque actors. +We can look to improve this in the future when we can depend on +fragment shaders. + + + + + + a #ClutterFog structure + + + + + + Retrieves the current depth cueing settings from the stage. + + + + + + return location for a #ClutterFog structure + + + + + + Sets the key focus on @actor. An actor with key focus will receive +all the key events. If @actor is %NULL, the stage will receive +focus. + + + + + + the actor to set key focus to, or %NULL + + + + + + Retrieves the actor that is currently under key focus. + + the actor with key focus, or the stage + + + + + This function essentially makes sure the right GL context is +current for the passed stage. It is not intended to +be used by applications. + + + + + + Queues a redraw for the passed stage. +<note>Applications should call clutter_actor_queue_redraw() and not +this function.</note> +<note>This function is just a wrapper for clutter_actor_queue_redraw() +and should probably go away.</note> + + + + + + Checks if @stage is the default stage, or an instance created using +clutter_stage_new() but internally using the same implementation. + + %TRUE if the passed stage is the default one + + + + + Ensures that the GL viewport is updated with the current +stage window size. +This function will queue a redraw of @stage. +This function should not be called by applications; it is used +when embedding a #ClutterStage into a toolkit with another +windowing system, like GTK+. + + + + + + Ensures that @stage is redrawn +used when embedding a #ClutterStage into a toolkit with +another windowing system, like GTK+. + + + + + + Sets whether motion events received between redraws should +be throttled or not. If motion events are throttled, those +events received by the windowing system between redraws will +be compressed so that only the last event will be propagated +to the @stage and its actors. +This function should only be used if you want to have all +the motion events delivered to your application code. + + + + + + %TRUE to throttle motion events + + + + + + Retrieves the value set with clutter_stage_set_throttle_motion_events() +and %FALSE otherwise + + %TRUE if the motion events are being throttled, + + + + + Sets whether the @stage should honour the #ClutterActor:opacity and +the alpha channel of the #ClutterStage:color + + + + + + whether the stage should honour the opacity or the alpha channel of the stage color + + + + + + Retrieves the value set using clutter_stage_set_use_alpha() +alpha channel of the stage color + + %TRUE if the stage should honour the opacity and the + + + + + Sets the minimum size for a stage window, if the default backend +uses #ClutterStage inside a window +This is a convenience function, and it is equivalent to setting the +#ClutterActor:min-width and #ClutterActor:min-height on @stage +If the current size of @stage is smaller than the minimum size, the +This function has no effect if @stage is fullscreen + + + + + + width, in pixels + + + + height, in pixels + + + + + + Retrieves the minimum size for a stage window as set using +clutter_stage_set_minimum_size(). +The returned size may not correspond to the actual minimum size and +it is specific to the #ClutterStage implementation inside the +Clutter backend + + + + + + return location for the minimum width, in pixels, or %NULL + + + + return location for the minimum height, in pixels, or %NULL + + + + + + Sets whether the @stage should clear itself at the beginning +of each paint cycle or not. +Clearing the #ClutterStage can be a costly operation, especially +if the stage is always covered - for instance, in a full-screen +video player or in a game with a background texture. +<note><para>This setting is a hint; Clutter might discard this +hint depending on its internal state.</para></note> +<warning><para>If parts of the stage are visible and you disable +clearing you might end up with visual artifacts while painting the +contents of the stage.</para></warning> + + + + + + %TRUE if the @stage should not clear itself on every repaint cycle + + + + + + Retrieves the hint set with clutter_stage_set_no_clear_hint() +cycle, and %FALSE otherwise + + %TRUE if the stage should not clear itself on every paint + + + + + The color of the main stage. + + + + Whether the mouse pointer should be visible + + + + The settings for the GL "fog", used only if #ClutterStage:use-fog +is set to %TRUE + + + + + + + The #ClutterActor that will receive key events from the underlying +windowing system. +If %NULL, the #ClutterStage will receive the events. + + + + Whether or not the #ClutterStage should clear its contents +before each paint cycle. +See clutter_stage_set_no_clear_hint() for further information. + + + + Whether the stage should be rendered in an offscreen buffer. +<warning><para>Not every backend supports redirecting the +stage to an offscreen buffer. This property might not work +and it might be deprecated at any later date.</para></warning> + + + + The parameters used for the perspective projection from 3D +coordinates to 2D + + + + The stage's title - usually displayed in stage windows title decorations. + + + + Whether the #ClutterStage should honour the alpha component of the +#ClutterStage:color property when painting. If Clutter is run under +a compositing manager this will result in the stage being blended +with the underlying window(s) + + + + Whether the stage should use a linear GL "fog" in creating the +depth-cueing effect, to enhance the perception of depth by fading +actors farther from the viewpoint. + + + + Whether the stage is resizable via user interaction. + + + + + + + + + + + + + + + + + + + + The ::delete-event signal is emitted when the user closes a +#ClutterStage window using the window controls. +Clutter by default will call clutter_main_quit() if @stage is +the default stage, and clutter_actor_destroy() for any other +stage. +It is possible to override the default behaviour by connecting +a new handler and returning %TRUE there. +<note>This signal is emitted only on Clutter backends that +embed #ClutterStage in native windows. It is not emitted for +backends that use a static frame buffer.</note> + + + + + + a #ClutterEvent of type %CLUTTER_DELETE + + + + + + + + + + + + + + + + + The #ClutterStageClass structure contains only private data + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The #ClutterStageManager structure is private. + + Returns the default #ClutterStageManager. +object is owned by Clutter and you should not reference or unreference it. + + the default stage manager instance. The returned + + + + + Returns the default #ClutterStage. +is owned by Clutter and you should never reference or unreference it + + the default stage. The returned object + + + + + Lists all currently used stages. +allocated list of #ClutterStage objects. Use g_slist_free() to +deallocate it when done. + + a newly + + + + + + + Lists all currently used stages. +to the internal list of #ClutterStage objects. The returned list +is owned by the #ClutterStageManager and should never be modified +or freed + + a pointer + + + + + + + Sets @stage as the default stage. + + + + + + a #ClutterStage + + + + + + The default stage used by Clutter. + + + + The ::stage-added signal is emitted each time a new #ClutterStage +has been added to the stage manager. + + + + + + the added stage + + + + + + The ::stage-removed signal is emitted each time a #ClutterStage +has been removed from the stage manager. + + + + + + the removed stage + + + + + + + The #ClutterStageManagerClass structure contains only private data +and should be accessed using the provided API + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Stage state masks + + + + + + Event signalling a change in the #ClutterStage state. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The <structname>ClutterState</structname> structure contains only +private data and should be accessed using the provided API + + + Creates a new #ClutterState + + the newly create #ClutterState instance + + + + + Change the current state of #ClutterState to @target_state_name +The state will animate during its transition, see +#clutter_state_warp_to_state for animation-free state switching. + + the #ClutterTimeline that drives the state transition + + + + + the state to transition to + + + + + + Change the current state of #ClutterState to @target_state_name +Change to the specified target state immediately with no animation. + + the #ClutterTimeline that drives the state transition + + + + + the state to transition to + + + + + + Sets one specific end key for a state_name, object, property_name +combination. +multiple calls + + the #ClutterState instance, allowing chaining of + + + + + the source transition to specify transition for or NULL to specify the default fallback when a more specific source_state doesn't exist. + + + + the name of the transition to set a key value for. + + + + the #GObject to set a key for + + + + the property to set a key for + + + + the id of the alpha function to use + + + + the value for property_name of object in state_name + + + + relative time of the transition to be idle in the beginning of the transition + + + + relative time of the transition to be idle in the end of the transition + + + + + + Sets the duration of a transition. +If both state names are %NULL the default duration for @state is set. +If only @target_state_name is specified, the passed @duration becomes +the default duration for transitions to the target state. +If both states names are specified, the passed @duration only applies +to the specified transition. + + + + + + the name of the source state, or %NULL + + + + the name of the target state, or %NULL + + + + the duration of the transition, in milliseconds + + + + + + Queries the duration used for transitions between a source and +target state pair +The semantics for the query are the same as the semantics used for +setting the duration with clutter_state_set_duration() + + the duration, in milliseconds + + + + + the name of the source state to get the duration of, or %NULL + + + + the name of the source state to get the duration of, or %NULL + + + + + + Adds multiple keys to a named state of a #ClutterState instance, specifying +the easing mode and value a given property of an object should have at a +given progress of the animation. +The mode specified is the easing mode used when going to from the previous +key to the specified key. +For instance, the code below: +|[ +clutter_state_set (state, NULL, "hover", +button, "opacity", 255, CLUTTER_LINEAR, +button, "scale-x", 1.2, CLUTTER_EASE_OUT_CUBIC, +button, "scale-y", 1.2, CLUTTER_EASE_OUT_CUBIC, +NULL); +]| +will create a transition from any state (a @source_state_name of NULL is +treated as a wildcard) and a state named "hover"; the +<emphasis>button</emphasis> object will have the #ClutterActor:opacity +property animated to a value of 255 using %CLUTTER_LINEAR as the animation +mode, and the #ClutterActor:scale-x and #ClutterActor:scale-y properties +animated to a value of 1.2 using %CLUTTER_EASE_OUT_CUBIC as the animation +mode. To change the state (and start the transition) you can use the +clutter_state_change() function: +|[ +clutter_state_change (state, "hover", TRUE); +]| +If a given object, state_name, property tuple already exist in the +#ClutterState instance, then the mode and value will be replaced with +the new specified values. +If a property name is prefixed with "delayed::" two additional +to pause before transitioning and a similar value to pause after +transitioning, e.g.: +|[ +clutter_state_set (state, "hover", "toggled", +button, "delayed::scale-x", 1.0, 0.2, 0.2, +button, "delayed::scale-y", 1.0, 0.2, 0.2, +NULL); +]| +will pause for 20% of the duration of the transition before animating, +and 20% of the duration after animating. + + + + + + the name of the source state keys are being added for + + + + the name of the target state keys are being added for + + + + a #GObject + + + + a property of @first_object to specify a key for + + + + the id of the alpha function to use + + + + + + + + + + Gets a list of all the state names managed by this #ClutterState. +#GList of state names. The contents of the returned #GList are owned +by the #ClutterState and should not be modified or freed. Use +g_list_free() to free the resources allocated by the returned list when +done using it + + a newly allocated + + + + + + + Returns a list of pointers to opaque structures with accessor functions +that describe the keys added to an animator. +newly allocated #GList of #ClutterStateKey<!-- -->s. The contents of +the returned list are owned by the #ClutterState and should not be +modified or freed. Use g_list_free() to free the resources allocated +by the returned list when done using it + + a + + + + + + + the source transition name to query, or %NULL for all source states + + + + the target transition name to query, or %NULL for all target states + + + + the specific object instance to list keys for, or %NULL for all managed objects + + + + the property name to search for, or %NULL for all properties. + + + + + + Removes all keys matching the search criteria passed in arguments. + + + + + + the source state name to query, or %NULL for all source states + + + + the target state name to query, or %NULL for all target states + + + + the specific object instance to list keys for, or %NULL for all managed objects + + + + the property name to search for, or %NULL for all properties. + + + + + + Gets the timeline driving the #ClutterState +the state change animations. The returned timeline is owned +by the #ClutterState and it should not be unreferenced directly + + the #ClutterTimeline that drives + + + + + Specifies a #ClutterAnimator to be used when transitioning between +the two named states. +The @animator allows specifying a transition between the state that is +more elaborate than the basic transitions other allowed by the simple +tweening of properties defined in the #ClutterState keys. +If @animator is %NULL it will unset an existing animator. +#ClutterState will take a reference on the passed @animator, if any + + + + + + the name of a source state + + + + the name of a target state + + + + a #ClutterAnimator instance, or %NULL to unset an existing #ClutterAnimator + + + + + + Retrieves the #ClutterAnimator that is being used for transitioning +between the two states, if any has been set + + a #ClutterAnimator instance, or %NULL + + + + + the name of a source state + + + + the name of a target state + + + + + + Queries the currently set target state. +During a transition this function will return the target of the transition. +This function is useful when called from handlers of the +#ClutterState::completed signal. +is owned by the #ClutterState and should not be modified or freed + + a string containing the target state. The returned string + + + + + Default duration used if an duration has not been specified for a specific +source/target state pair. The values is in milliseconds. + + + + The currently set target state, setting it causes the +state machine to transition to the new state, use +clutter_state_change() with a final FALSE argument to +change state without a transition. + + + + + + + + + + The ::completed signal is emitted when a #ClutterState reaches +the target state specified by clutter_state_change() + + + + + + + The <structname>ClutterStateClass</structname> structure contains +only private data + + + + + + + + + + + + + + + + + + + + + + + <structname>ClutterStateKey</structname> is an opaque structure whose +members cannot be accessed directly + + Retrieves the pause before transitioning starts as a fraction of +the total transition time. + + the pre delay used before starting the transition. + + + + + Retrieves the duration of the pause after transitioning is complete +as a fraction of the total transition time. + + the post delay, used after doing the transition. + + + + + Retrieves the easing mode used for @state_key. + + the mode of a #ClutterStateKey + + + + + Retrieves a copy of the value for a #ClutterStateKey. +The #GValue needs to be already initialized for the value type +of the property or to a type that allow transformation from the value +type of the key. +Use g_value_unset() when done. +and %FALSE otherwise + + %TRUE if the value was successfully retrieved, + + + + + a #GValue initialized with the correct type for the @state_key + + + + + + Retrieves the #GType of the property a key applies to +You can use this type to initialize the #GValue to pass to +clutter_state_key_get_value() + + the #GType of the property + + + + + Retrieves the object instance this #ClutterStateKey applies to. + + the object this state key applies to. + + + + + Retrieves the name of the property this #ClutterStateKey applies to +by the #ClutterStateKey and should never be modified or freed + + the name of the property. The returned string is owned + + + + + Retrieves the name of the source state of the @state_key +if this is the generic state key for the given property when +transitioning to the target state. The returned string is owned +by the #ClutterStateKey and should never be modified or freed + + the name of the source state for this key, or %NULL + + + + + Get the name of the source state this #ClutterStateKey contains, +or NULL if this is the generic state key for the given property +when transitioning to the target state. +the key is generic + + the name of the source state for this key, or NULL if + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The alignment policies available on each axis of the #ClutterTableLayout + + + + + + The #ClutterTableLayout structure contains only private data +and should be accessed using the provided API + + Creates a new #ClutterTableLayout layout manager + + the newly created #ClutterTableLayout + + + + + Packs @actor inside the #ClutterContainer associated to @layout +at the given row and column. + + + + + + a #ClutterActor + + + + the row the @actor should be put, or -1 to append + + + + the column the @actor should be put, or -1 to append + + + + + + Sets the spacing between columns of @layout + + + + + + the spacing between columns of the layout, in pixels + + + + + + Sets the spacing between rows of @layout + + + + + + the spacing between rows of the layout, in pixels + + + + + + Retrieves the spacing set using clutter_table_layout_set_column_spacing() + + the spacing between columns of the #ClutterTableLayout + + + + + Retrieves the spacing set using clutter_table_layout_set_row_spacing() + + the spacing between rows of the #ClutterTableLayout + + + + + Sets the row and column span for @actor +inside @layout + + + + + + a #ClutterActor child of @layout + + + + Column span for @actor + + + + Row span for @actor + + + + + + Retrieves the row and column span for @actor as set using +clutter_table_layout_pack() or clutter_table_layout_set_span() + + + + + + a #ClutterActor child of @layout + + + + return location for the col span + + + + return location for the row span + + + + + + Sets the horizontal and vertical alignment policies for @actor +inside @layout + + + + + + a #ClutterActor child of @layout + + + + Horizontal alignment policy for @actor + + + + Vertical alignment policy for @actor + + + + + + Retrieves the horizontal and vertical alignment policies for @actor +as set using clutter_table_layout_pack() or +clutter_table_layout_set_alignment(). + + + + + + a #ClutterActor child of @layout + + + + return location for the horizontal alignment policy + + + + return location for the vertical alignment policy + + + + + + Sets the horizontal and vertical fill policies for @actor +inside @layout + + + + + + a #ClutterActor child of @layout + + + + whether @actor should fill horizontally the allocated space + + + + whether @actor should fill vertically the allocated space + + + + + + Retrieves the horizontal and vertical fill policies for @actor +as set using clutter_table_layout_pack() or clutter_table_layout_set_fill() + + + + + + a #ClutterActor child of @layout + + + + return location for the horizontal fill policy + + + + return location for the vertical fill policy + + + + + + Sets the horizontal and vertical expand policies for @actor +inside @layout + + + + + + a #ClutterActor child of @layout + + + + whether @actor should allocate extra space horizontally + + + + whether @actor should allocate extra space vertically + + + + + + Retrieves the horizontal and vertical expand policies for @actor +as set using clutter_table_layout_pack() or clutter_table_layout_set_expand() + + + + + + a #ClutterActor child of @layout + + + + return location for the horizontal expand policy + + + + return location for the vertical expand policy + + + + + + Retrieve the current number rows in the @layout + + the number of rows + + + + + Retrieve the current number of columns in @layout + + the number of columns + + + + + Sets whether @layout should animate changes in the layout properties +The duration of the animations is controlled by +clutter_table_layout_set_easing_duration(); the easing mode to be used +by the animations is controlled by clutter_table_layout_set_easing_mode() + + + + + + %TRUE if the @layout should use animations + + + + + + Retrieves whether @layout should animate changes in the layout properties +Since clutter_table_layout_set_use_animations() + + %TRUE if the animations should be used, %FALSE otherwise + + + + + Sets the easing mode to be used by @layout when animating changes in layout +properties +Use clutter_table_layout_set_use_animations() to enable and disable the +animations + + + + + + an easing mode, either from #ClutterAnimationMode or a logical id from clutter_alpha_register_func() + + + + + + Retrieves the easing mode set using clutter_table_layout_set_easing_mode() + + an easing mode + + + + + Sets the duration of the animations used by @layout when animating changes +in the layout properties +Use clutter_table_layout_set_use_animations() to enable and disable the +animations + + + + + + the duration of the animations, in milliseconds + + + + + + Retrieves the duration set using clutter_table_layout_set_easing_duration() + + the duration of the animations, in milliseconds + + + + + The spacing between columns of the #ClutterTableLayout, in pixels + + + + The duration of the animations, in case #ClutterTableLayout:use-animations +is set to %TRUE +The duration is expressed in milliseconds + + + + The easing mode for the animations, in case +#ClutterTableLayout:use-animations is set to %TRUE +either be a value from the #ClutterAnimationMode enumeration, like +%CLUTTER_EASE_OUT_CUBIC, or a logical id as returned by +clutter_alpha_register_func() +The default value is %CLUTTER_EASE_OUT_CUBIC + + + + The spacing between rows of the #ClutterTableLayout, in pixels + + + + Whether the #ClutterTableLayout should animate changes in the +layout properties + + + + + + + + + + + The #ClutterTableLayoutClass structure contains only private +data and should be accessed using the provided API + + + + + + + + + + + + + + + + + + + + The #ClutterText struct contains only private data. + + + + + Creates a new #ClutterText actor. This actor can be used to +display and edit text. + + the newly created #ClutterText actor + + + + + Creates a new #ClutterText actor, using @font_name as the font +description; @text will be used to set the contents of the actor; +and @color will be used as the color to render @text. +This function is equivalent to calling clutter_text_new(), +clutter_text_set_font_name(), clutter_text_set_text() and +clutter_text_set_color(). + + the newly created #ClutterText actor + + + + + a string with a font description + + + + the contents of the actor + + + + the color to be used to render @text + + + + + + Creates a new #ClutterText actor, using @font_name as the font +description; @text will be used to set the contents of the actor. +This function is equivalent to calling clutter_text_new(), +clutter_text_set_font_name(), and clutter_text_set_text(). + + the newly created #ClutterText actor + + + + + a string with a font description + + + + the contents of the actor + + + + + + Retrieves a pointer to the current contents of a #ClutterText +actor. +If you need a copy of the contents for manipulating, either +use g_strdup() on the returned string, or use: +|[ +copy = clutter_text_get_chars (text, 0, -1); +]| +Which will return a newly allocated string. +is owned by the #ClutterText actor and should never be +modified or freed + + the contents of the actor. The returned string + + + + + Sets the contents of a #ClutterText actor. +If the #ClutterText:use-markup property was set to %TRUE it +will be reset to %FALSE as a side effect. If you want to +maintain the #ClutterText:use-markup you should use the +clutter_text_set_markup() function instead + + + + + + the text to set. Passing %NULL is the same as passing "" (the empty string) + + + + + + Sets @markup as the contents of a #ClutterText. +This is a convenience function for setting a string containing +Pango markup, and it is logically equivalent to: +|[ +clutter_text_set_text (CLUTTER_TEXT (actor), markup); +clutter_text_set_use_markup (CLUTTER_TEXT (actor), TRUE); +]| + + + + + + a string containing Pango markup. Passing %NULL is the same as passing "" (the empty string) + + + + + + Sets the color of the contents of a #ClutterText actor. +The overall opacity of the #ClutterText actor will be the +result of the alpha value of @color and the composited +opacity of the actor itself on the scenegraph, as returned +by clutter_actor_get_paint_opacity(). + + + + + + a #ClutterColor + + + + + + Retrieves the text color as set by clutter_text_set_color(). + + + + + + return location for a #ClutterColor + + + + + + Sets the font used by a #ClutterText. The @font_name string +must either be %NULL, which means that the font name from the +default #ClutterBackend will be used; or be something that can +be parsed by the pango_font_description_from_string() function, +like: +|[ +clutter_text_set_font_name (text, "Sans 10pt"); +clutter_text_set_font_name (text, "Serif 16px"); +clutter_text_set_font_name (text, "Helvetica 10"); +]| + + + + + + a font name, or %NULL to set the default font name + + + + + + Retrieves the font name as set by clutter_text_set_font_name(). +string is owned by the #ClutterText actor and should not be +modified or freed + + a string containing the font name. The returned + + + + + Sets @font_desc as the font description for a #ClutterText +The #PangoFontDescription is copied by the #ClutterText actor +so you can safely call pango_font_description_free() on it after +calling this function. + + + + + + a #PangoFontDescription + + + + + + Retrieves the #PangoFontDescription used by @self +by the #ClutterText actor and it should not be modified or freed + + a #PangoFontDescription. The returned value is owned + + + + + text if there is not enough space to render the entire contents +of a #ClutterText actor + + + + + + a #PangoEllipsizeMode + + + + + + Returns the ellipsizing position of a #ClutterText actor, as +set by clutter_text_set_ellipsize(). + + #PangoEllipsizeMode + + + + + Sets whether the contents of a #ClutterText actor should wrap, +if they don't fit the size assigned to the actor. + + + + + + whether the contents should wrap + + + + + + Retrieves the value set using clutter_text_set_line_wrap(). +its contents + + %TRUE if the #ClutterText actor should wrap + + + + + If line wrapping is enabled (see clutter_text_set_line_wrap()) this +function controls how the line wrapping is performed. The default is +%PANGO_WRAP_WORD which means wrap on word boundaries. + + + + + + the line wrapping mode + + + + + + Retrieves the line wrap mode used by the #ClutterText actor. +See clutter_text_set_line_wrap_mode (). + + the wrap mode used by the #ClutterText + + + + + Retrieves the current #PangoLayout used by a #ClutterText actor. +the #ClutterText actor and should not be modified or freed + + a #PangoLayout. The returned object is owned by + + + + + Sets the attributes list that are going to be applied to the +#ClutterText contents. +The #ClutterText actor will take a reference on the #PangoAttrList +passed to this function. + + + + + + a #PangoAttrList or %NULL to unset the attributes + + + + + + Gets the attribute list that was set on the #ClutterText actor +clutter_text_set_attributes(), if any. +returned value is owned by the #ClutterText and should not be unreferenced. + + the attribute list, or %NULL if none was set. The + + + + + Sets whether the contents of the #ClutterText actor contains markup +in <link linkend="PangoMarkupFormat">Pango's text markup language</link>. +Setting #ClutterText:use-markup on an editable #ClutterText will +not have any effect except hiding the markup. +See also #ClutterText:use-markup. + + + + + + %TRUE if the text should be parsed for markup. + + + + + + Retrieves whether the contents of the #ClutterText actor should be +parsed for the Pango text markup. + + %TRUE if the contents will be parsed for markup + + + + + Sets the way that the lines of a wrapped label are aligned with +respect to each other. This does not affect the overall alignment +of the label within its allocated or specified width. +To align a #ClutterText actor you should add it to a container +that supports alignment, or use the anchor point. + + + + + + A #PangoAlignment + + + + + + Retrieves the alignment of a #ClutterText, as set by +clutter_text_set_line_alignment(). + + a #PangoAlignment + + + + + Sets whether the text of the #ClutterText actor should be justified +on both margins. This setting is ignored if Clutter is compiled +against Pango &lt; 1.18. + + + + + + whether the text should be justified + + + + + + Retrieves whether the #ClutterText actor should justify its contents +on both margins. + + %TRUE if the text should be justified + + + + + Inserts @wc at the current cursor position of a +#ClutterText actor. + + + + + + a Unicode character + + + + + + Deletes @n_chars inside a #ClutterText actor, starting from the +current cursor position. + + + + + + the number of characters to delete + + + + + + Inserts @text into a #ClutterActor at the given position. +If @position is a negative number, the text will be appended +at the end of the current contents of the #ClutterText. +The position is expressed in characters, not in bytes. + + + + + + the text to be inserted + + + + the position of the insertion, or -1 + + + + + + Deletes the text inside a #ClutterText actor between @start_pos +and @end_pos. +The starting and ending positions are expressed in characters, +not in bytes. + + + + + + starting position + + + + ending position + + + + + + Retrieves the contents of the #ClutterText actor between +The positions are specified in characters, not in bytes. +the text actor between the specified positions. Use g_free() +to free the resources when done + + a newly allocated string with the contents of + + + + + start of text, in characters + + + + end of text, in characters + + + + + + Sets whether the #ClutterText actor should be editable. +An editable #ClutterText with key focus set using +clutter_actor_grab_key_focus() or clutter_stage_take_key_focus() +will receive key events and will update its contents accordingly. + + + + + + whether the #ClutterText should be editable + + + + + + Retrieves whether a #ClutterText is editable or not. + + %TRUE if the actor is editable + + + + + Sets whether a #ClutterText actor should be activatable. +An activatable #ClutterText actor will emit the #ClutterText::activate +signal whenever the 'Enter' (or 'Return') key is pressed; if it is not +activatable, a new line will be appended to the current content. +An activatable #ClutterText must also be set as editable using +clutter_text_set_editable(). + + + + + + whether the #ClutterText actor should be activatable + + + + + + Retrieves whether a #ClutterText is activatable or not. + + %TRUE if the actor is activatable + + + + + Retrieves the cursor position. + + the cursor position, in characters + + + + + Sets the cursor of a #ClutterText actor at @position. +The position is expressed in characters, not in bytes. + + + + + + the new cursor position, in characters + + + + + + Sets whether the cursor of a #ClutterText actor should be +visible or not. +The color of the cursor will be the same as the text color +unless clutter_text_set_cursor_color() has been called. +The size of the cursor can be set using clutter_text_set_cursor_size(). +The position of the cursor can be changed programmatically using +clutter_text_set_cursor_position(). + + + + + + whether the cursor should be visible + + + + + + Retrieves whether the cursor of a #ClutterText actor is visible. + + %TRUE if the cursor is visible + + + + + Sets the color of the cursor of a #ClutterText actor. +If @color is %NULL, the cursor color will be the same as the +text color. + + + + + + the color of the cursor, or %NULL to unset it + + + + + + Retrieves the color of the cursor of a #ClutterText actor. + + + + + + return location for a #ClutterColor + + + + + + Sets the size of the cursor of a #ClutterText. The cursor +will only be visible if the #ClutterText:cursor-visible property +is set to %TRUE. + + + + + + the size of the cursor, in pixels, or -1 to use the default value + + + + + + Retrieves the size of the cursor of a #ClutterText actor. + + the size of the cursor, in pixels + + + + + Sets whether a #ClutterText actor should be selectable. +A selectable #ClutterText will allow selecting its contents using +the pointer or the keyboard. + + + + + + whether the #ClutterText actor should be selectable + + + + + + Retrieves whether a #ClutterText is selectable or not. + + %TRUE if the actor is selectable + + + + + Sets the other end of the selection, starting from the current +cursor position. +If @selection_bound is -1, the selection unset. + + + + + + the position of the end of the selection, in characters + + + + + + Retrieves the other end of the selection of a #ClutterText actor, +in characters from the current cursor position. + + the position of the other end of the selection + + + + + Selects the region of text between @start_pos and @end_pos. +This function changes the position of the cursor to match + + + + + + start of the selection, in characters + + + + end of the selection, in characters + + + + + + Retrieves the currently selected text. +selected text, or %NULL. Use g_free() to free the returned +string. + + a newly allocated string containing the currently + + + + + Sets the color of the selection of a #ClutterText actor. +If @color is %NULL, the selection color will be the same as the +cursor color, or if no cursor color is set either then it will be +the same as the text color. + + + + + + the color of the selection, or %NULL to unset it + + + + + + Retrieves the color of the selection of a #ClutterText actor. + + + + + + return location for a #ClutterColor + + + + + + Deletes the currently selected text +This function is only useful in subclasses of #ClutterText +is empty, and %FALSE otherwise + + %TRUE if text was deleted or if the text actor + + + + + Sets the character to use in place of the actual text in a +password text actor. +If @wc is 0 the text will be displayed as it is entered in the +#ClutterText actor. + + + + + + a Unicode character, or 0 to unset the password character + + + + + + Retrieves the character to use in place of the actual text +as set by clutter_text_set_password_char(). +character is not set + + a Unicode character or 0 if the password + + + + + Sets the maximum allowed length of the contents of the actor. If the +current contents are longer than the given length, then they will be +truncated to fit. + + + + + + the maximum number of characters allowed in the text actor; 0 to disable or -1 to set the length of the current string + + + + + + Gets the maximum length of text that can be set into a text actor. +See clutter_text_set_max_length(). + + the maximum number of characters. + + + + + Sets whether a #ClutterText actor should be in single line mode +or not. Only editable #ClutterText<!-- -->s can be in single line +mode. +A text actor in single line mode will not wrap text and will clip +the the visible area to the predefined size. The contents of the +text actor will scroll to display the end of the text if its length +is bigger than the allocated width. +When setting the single line mode the #ClutterText:activatable +property is also set as a side effect. Instead of entering a new +line character, the text actor will emit the #ClutterText::activate +signal. + + + + + + whether to enable single line mode + + + + + + Retrieves whether the #ClutterText actor is in single line mode. + + %TRUE if the #ClutterText actor is in single line mode + + + + + Emits the #ClutterText::activate signal, if @self has been set +as activatable using clutter_text_set_activatable(). +This function can be used to emit the ::activate signal inside +a #ClutterActor::captured-event or #ClutterActor::key-press-event +signal handlers before the default signal handler for the +#ClutterText is invoked. +and %FALSE otherwise + + %TRUE if the ::activate signal has been emitted, + + + + + Retrieves the coordinates of the given @position. + + %TRUE if the conversion was successful + + + + + position in characters + + + + return location for the X coordinate, or %NULL + + + + return location for the Y coordinate, or %NULL + + + + return location for the line height, or %NULL + + + + + + Sets, or unsets, the pre-edit string. This function is useful +for input methods to display a string (with eventual specific +Pango attributes) before it is entered inside the #ClutterText +buffer. +The preedit string and attributes are ignored if the #ClutterText +actor is not editable. +This function should not be used by applications + + + + + + the pre-edit string, or %NULL to unset it + + + + the pre-edit string attributes + + + + the cursor position for the pre-edit string + + + + + + Toggles whether return invokes the activate signal or not. + + + + A list of #PangoStyleAttribute<!-- -->s to be applied to the +contents of the #ClutterText actor. + + + + The color used to render the text. + + + + The color of the cursor. + + + + Will be set to %TRUE if #ClutterText:cursor-color has been set. + + + + The size of the cursor, in pixels. If set to -1 the size used will +be the default cursor size of 2 pixels. + + + + Whether the input cursor is visible or not, it will only be visible +if both #ClutterText:cursor-visible and #ClutterText:editable are +set to %TRUE. + + + + Whether key events delivered to the actor causes editing. + + + + The preferred place to ellipsize the contents of the #ClutterText actor + + + + The #PangoFontDescription that should be used by the #ClutterText +If you have a string describing the font then you should look at +#ClutterText:font-name instead + + + + The font to be used by the #ClutterText, as a string +that can be parsed by pango_font_description_from_string(). +If set to %NULL, the default system font will be used instead. + + + + Whether the contents of the #ClutterText should be justified +on both margins. + + + + The preferred alignment for the text. This property controls +the alignment of multi-line paragraphs. + + + + Whether to wrap the lines of #ClutterText:text if the contents +exceed the available allocation. The wrapping strategy is +controlled by the #ClutterText:line-wrap-mode property. + + + + If #ClutterText:line-wrap is set to %TRUE, this property will +control how the text is wrapped. + + + + The maximum length of the contents of the #ClutterText actor. + + + + If non-zero, the character that should be used in place of +the actual text in a password text actor. + + + + The current input cursor position. -1 is taken to be the end of the text + + + + Whether it is possible to select text, either using the pointer +or the keyboard. + + + + The current input cursor position. -1 is taken to be the end of the text + + + + The color of the selection. + + + + Will be set to %TRUE if #ClutterText:selection-color has been set. + + + + Whether the #ClutterText actor should be in single line mode +or not. A single line #ClutterText actor will only contain a +single line of text, scrolling it in case its length is bigger +than the allocated size. +Setting this property will also set the #ClutterText:activatable +property as a side-effect. +The #ClutterText:single-line-mode property is used only if the +#ClutterText:editable property is set to %TRUE. + + + + The text to render inside the actor. + + + + Whether the text includes Pango markup. +For more informations about the Pango markup format, see +pango_layout_set_markup() in the Pango documentation. +<note>It is not possible to round-trip this property between +%TRUE and %FALSE. Once a string with markup has been set on +a #ClutterText actor with :use-markup set to %TRUE, the markup +is stripped from the string.</note> + + + + + + + + + + + + + + + The ::cursor-event signal is emitted whenever the cursor position +changes inside a #ClutterText actor. Inside @geometry it is stored +the current position and size of the cursor, relative to the actor +itself. + + + + + + the coordinates of the cursor + + + + + + This signal is emitted when text is deleted from the actor by +the user. It is emitted before @self text changes. + + + + + + the starting position + + + + the end position + + + + + + This signal is emitted when text is inserted into the actor by +the user. It is emitted before @self text changes. + + + + + + the new text to insert + + + + the length of the new text, in bytes, or -1 if new_text is nul-terminated + + + + the position, in characters, at which to insert the new text. this is an in-out parameter. After the signal emission is finished, it should point after the newly inserted text. + + + + + + The ::text-changed signal is emitted after @actor's text changes + + + + + + + The #ClutterTextClass struct contains only private data. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The text direction to be used by #ClutterActor<!-- -->s + + + + + + + + The #ClutterTexture structure contains only private data +and should be accessed using the provided API + + + + + Creates a new empty #ClutterTexture object. + + A newly created #ClutterTexture object. + + + + + Creates a new ClutterTexture actor to display the image contained a +file. If the image failed to load then NULL is returned and @error +is set. +error. + + A newly created #ClutterTexture object or NULL on + + + + + The name of an image file to load. + + + + + + Creates a new #ClutterTexture object with its source a prexisting +actor (and associated children). The textures content will contain +'live' redirected output of the actors scene. +Note this function is intented as a utility call for uniformly applying +shaders to groups and other potential visual effects. It requires that +the %CLUTTER_FEATURE_OFFSCREEN feature is supported by the current backend +and the target system. +Some tips on usage: +<itemizedlist> +<listitem> +<para>The source actor must be made visible (i.e by calling +#clutter_actor_show).</para> +</listitem> +<listitem> +<para>The source actor must have a parent in order for it to be +allocated a size from the layouting mechanism. If the source +actor does not have a parent when this function is called then +the ClutterTexture will adopt it and allocate it at its +preferred size. Using this you can clone an actor that is +otherwise not displayed. Because of this feature if you do +intend to display the source actor then you must make sure that +the actor is parented before calling +clutter_texture_new_from_actor() or that you unparent it before +adding it to a container.</para> +</listitem> +<listitem> +<para>When getting the image for the clone texture, Clutter +will attempt to render the source actor exactly as it would +appear if it was rendered on screen. The source actor's parent +transformations are taken into account. Therefore if your +source actor is rotated along the X or Y axes so that it has +some depth, the texture will appear differently depending on +the on-screen location of the source actor. While painting the +source actor, Clutter will set up a temporary asymmetric +perspective matrix as the projection matrix so that the source +actor will be projected as if a small section of the screen was +being viewed. Before version 0.8.2, an orthogonal identity +projection was used which meant that the source actor would be +clipped if any part of it was not on the zero Z-plane.</para> +</listitem> +<listitem> +<para>Avoid reparenting the source with the created texture.</para> +</listitem> +<listitem> +<para>A group can be padded with a transparent rectangle as to +provide a border to contents for shader output (blurring text +for example).</para> +</listitem> +<listitem> +<para>The texture will automatically resize to contain a further +transformed source. However, this involves overhead and can be +avoided by placing the source actor in a bounding group +sized large enough to contain any child tranformations.</para> +</listitem> +<listitem> +<para>Uploading pixel data to the texture (e.g by using +clutter_actor_set_from_file()) will destroy the offscreen texture data +and end redirection.</para> +</listitem> +<listitem> +<para>cogl_texture_get_data() with the handle returned by +clutter_texture_get_cogl_texture() can be used to read the +offscreen texture pixels into a pixbuf.</para> +</listitem> +</itemizedlist> + + A newly created #ClutterTexture object, or %NULL on failure. + + + + + A source #ClutterActor + + + + + + Sets the #ClutterTexture image data from an image file. In case of +failure, %FALSE is returned and @error is set. +If #ClutterTexture:load-async is set to %TRUE, this function +will return as soon as possible, and the actual image loading +from disk will be performed asynchronously. #ClutterTexture::size-change +will be emitten when the size of the texture is available and +#ClutterTexture::load-finished will be emitted when the image has been +loaded or if an error occurred. + + %TRUE if the image was successfully loaded and set + + + + + The filename of the image in GLib file name encoding + + + + + + Sets #ClutterTexture image data. + + %TRUE on success, %FALSE on failure. + + + + + Image data in RGBA type colorspace. + + + + + + Set to TRUE if image data has an alpha channel. + + + + Width in pixels of image data. + + + + Height in pixels of image data + + + + Distance in bytes between row starts. + + + + bytes per pixel (Currently only 3 and 4 supported, depending on @has_alpha) + + + + #ClutterTextureFlags + + + + + + Sets a #ClutterTexture from YUV image data. If an error occurred, +%FALSE is returned and @error is set. + + %TRUE if the texture was successfully updated + + + + + Image data in YUV type colorspace. + + + + + + Width in pixels of image data. + + + + Height in pixels of image data + + + + #ClutterTextureFlags + + + + + + Updates a sub-region of the pixel data in a #ClutterTexture. + + %TRUE on success, %FALSE on failure. + + + + + Image data in RGB type colorspace. + + + + + + Set to TRUE if image data has an alpha channel. + + + + X coordinate of upper left corner of region to update. + + + + Y coordinate of upper left corner of region to update. + + + + Width in pixels of region to update. + + + + Height in pixels of region to update. + + + + Distance in bytes between row starts on source buffer. + + + + bytes per pixel (Currently only 3 and 4 supported, depending on @has_alpha) + + + + #ClutterTextureFlags + + + + + + Gets the size in pixels of the untransformed underlying image + + + + + + return location for the width, or %NULL + + + + return location for the height, or %NULL + + + + + + Sets the filter quality when scaling a texture. The quality is an +enumeration currently the following values are supported: +%CLUTTER_TEXTURE_QUALITY_LOW which is fast but only uses nearest neighbour +interpolation. %CLUTTER_TEXTURE_QUALITY_MEDIUM which is computationally a +bit more expensive (bilinear interpolation), and +%CLUTTER_TEXTURE_QUALITY_HIGH which uses extra texture memory resources to +improve scaled down rendering as well (by using mipmaps). The default value +is %CLUTTER_TEXTURE_QUALITY_MEDIUM. + + + + + + new filter quality value + + + + + + + + + + + + + + + + + + + + + + + + + + Returns a handle to the underlying COGL material used for drawing +the actor. No extra reference is taken so if you need to keep the +handle then you should call cogl_handle_ref() on it. + + COGL material handle + + + + + Replaces the underlying Cogl material drawn by this actor with +handle is no longer needed it should be deref'd with +cogl_handle_unref. Texture data is attached to the material so +calling this function also replaces the Cogl +texture. #ClutterTexture requires that the material have a texture +layer so you should set one on the material before calling this +function. + + + + + + A CoglHandle for a material + + + + + + Sets whether @texture should have the same preferred size as the +underlying image data. + + + + + + %TRUE if the texture should have the same size of the underlying image data + + + + + + Retrieves the value set with clutter_texture_set_sync_size() +preferred size of the underlying image data + + %TRUE if the #ClutterTexture should have the same + + + + + Sets whether the @texture should repeat horizontally or +vertically when the actor size is bigger than the image size + + + + + + %TRUE if the texture should repeat horizontally + + + + %TRUE if the texture should repeat vertically + + + + + + Retrieves the horizontal and vertical repeat values set +using clutter_texture_set_repeat() + + + + + + return location for the horizontal repeat + + + + return location for the vertical repeat + + + + + + Retrieves the pixel format used by @texture. This is +equivalent to: +|[ +handle = clutter_texture_get_pixel_format (texture); +if (handle != COGL_INVALID_HANDLE) +format = cogl_texture_get_format (handle); +]| + + a #CoglPixelFormat value + + + + + + + + + + Sets whether @texture should have a preferred size maintaining +the aspect ratio of the underlying image + + + + + + %TRUE to maintain aspect ratio + + + + + + Retrieves the value set using clutter_texture_set_keep_aspect_ratio() +aspect ratio of the underlying image + + %TRUE if the #ClutterTexture should maintain the + + + + + Sets whether @texture should use a worker thread to load the data +from disk asynchronously. Setting @load_async to %TRUE will make +clutter_texture_set_from_file() return immediately. +See the #ClutterTexture:load-async property documentation, and +clutter_texture_set_load_data_async(). + + + + + + %TRUE if the texture should asynchronously load data from a filename + + + + + + Retrieves the value set using clutter_texture_set_load_async() +disk asynchronously + + %TRUE if the #ClutterTexture should load the data from + + + + + Sets whether @texture should use a worker thread to load the data +from disk asynchronously. Setting @load_async to %TRUE will make +clutter_texture_set_from_file() block until the #ClutterTexture has +determined the width and height of the image data. +See the #ClutterTexture:load-async property documentation, and +clutter_texture_set_load_async(). + + + + + + %TRUE if the texture should asynchronously load data from a filename + + + + + + Retrieves the value set by clutter_texture_set_load_data_async() +data from a file asynchronously + + %TRUE if the #ClutterTexture should load the image + + + + + Sets whether @texture should have it's shape defined by the alpha +channel when picking. +Be aware that this is a bit more costly than the default picking +due to the texture lookup, extra test against the alpha value and +the fact that it will also interrupt the batching of geometry done +internally. +Also there is currently no control over the threshold used to +determine what value of alpha is considered pickable, and so only +fully opaque parts of the texture will react to picking. + + + + + + %TRUE if the alpha channel should affect the picking shape + + + + + + Retrieves the value set by clutter_texture_set_load_data_async() +using the alpha channel when picking. + + %TRUE if the #ClutterTexture should define its shape + + + + + + + + + + + + + + The path of the file containing the image data to be displayed by +the texture. +This property is unset when using the clutter_texture_set_from_*_data() +family of functions. + + + + + + + + + + Tries to load a texture from a filename by using a local thread to perform +the read operations. The initially created texture has dimensions 0x0 when +the true size becomes available the #ClutterTexture::size-change signal is +emitted and when the image has completed loading the +#ClutterTexture::load-finished signal is emitted. +Threading is only enabled if g_thread_init() has been called prior to +clutter_init(), otherwise #ClutterTexture will use the main loop to load +the image. +The upload of the texture data on the GL pipeline is not asynchronous, as +it must be performed from within the same thread that called +clutter_main(). + + + + Like #ClutterTexture:load-async but loads the width and height +synchronously causing some blocking. + + + + + + + + + + + + + + + + + + + + + + + + + + + + The ::load-finished signal is emitted when a texture load has +completed. If there was an error during loading, @error will +be set, otherwise it will be %NULL + + + + + + A set error, or %NULL + + + + + + The ::pixbuf-change signal is emitted each time the pixbuf +used by @texture changes. + + + + + + The ::size-change signal is emitted each time the size of the +pixbuf used by @texture changes. The new size is given as +argument to the callback. + + + + + + the width of the new texture + + + + the height of the new texture + + + + + + + The #ClutterTextureClass structure contains only private data + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Error enumeration for #ClutterTexture + + + + + + Flags for clutter_texture_set_from_rgb_data() and +clutter_texture_set_from_yuv_data(). + + + + + + + + + Enumaration controlling the texture quality. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The #ClutterTimeline structure contains only private data +and should be accessed using the provided API + + Creates a new #ClutterTimeline with a duration of @msecs. +g_object_unref() when done using it + + the newly created #ClutterTimeline instance. Use + + + + + Duration of the timeline in milliseconds + + + + + + Create a new #ClutterTimeline instance which has property values +matching that of supplied timeline. The cloned timeline will not +be started and will not be positioned to the current position of + + a new #ClutterTimeline, cloned from @timeline + + + + + Retrieves the duration of a #ClutterTimeline in milliseconds. +See clutter_timeline_set_duration(). + + the duration of the timeline, in milliseconds. + + + + + Sets the duration of the timeline, in milliseconds. The speed +of the timeline depends on the ClutterTimeline:fps setting. + + + + + + duration of the timeline in milliseconds + + + + + + Retrieves the direction of the timeline set with +clutter_timeline_set_direction(). + + the direction of the timeline + + + + + Sets the direction of @timeline, either %CLUTTER_TIMELINE_FORWARD or +%CLUTTER_TIMELINE_BACKWARD. + + + + + + the direction of the timeline + + + + + + Starts the #ClutterTimeline playing. + + + + + + Pauses the #ClutterTimeline on current frame + + + + + + Stops the #ClutterTimeline and moves to frame 0 + + + + + + Sets whether @timeline should loop. + + + + + + %TRUE for enable looping + + + + + + Gets whether @timeline is looping + + %TRUE if the timeline is looping + + + + + Rewinds #ClutterTimeline to the first frame if its direction is +%CLUTTER_TIMELINE_FORWARD and the last frame if it is +%CLUTTER_TIMELINE_BACKWARD. + + + + + + Advance timeline by the requested time in milliseconds + + + + + + Amount of time to skip + + + + + + Advance timeline to the requested point. The point is given as a +time in milliseconds since the timeline started. +<note><para>The @timeline will not emit the #ClutterTimeline::new-frame +signal for the given time. The first ::new-frame signal after the call to +clutter_timeline_advance() will be emit the skipped markers. +</para></note> + + + + + + Time to advance to + + + + + + Request the current time position of the timeline. + + current elapsed time in milliseconds. + + + + + The position of the timeline in a [0, 1] interval. + + the position of the timeline. + + + + + Queries state of a #ClutterTimeline. + + %TRUE if timeline is currently playing + + + + + Sets the delay, in milliseconds, before @timeline should start. + + + + + + delay in milliseconds + + + + + + Retrieves the delay set using clutter_timeline_set_delay(). + + the delay in milliseconds. + + + + + Retrieves the amount of time elapsed since the last +ClutterTimeline::new-frame signal. +This function is only useful inside handlers for the ::new-frame +signal, and its behaviour is undefined if the timeline is not +playing. +last frame + + the amount of time in milliseconds elapsed since the + + + + + Adds a named marker that will be hit when the timeline has been +running for @msecs milliseconds. Markers are unique string +identifiers for a given time. Once @timeline reaches +attached to that time. +A marker can be removed with clutter_timeline_remove_marker(). The +timeline can be advanced to a marker using +clutter_timeline_advance_to_marker(). + + + + + + the unique name for this marker + + + + position of the marker in milliseconds + + + + + + Removes @marker_name, if found, from @timeline. + + + + + + the name of the marker to remove + + + + + + Retrieves the list of markers at time @msecs. If @frame_num is a +negative integer, all the markers attached to @timeline will be +returned. +allocated, %NULL terminated string array containing the names of +the markers. Use g_strfreev() when done. + + a newly + + + + + + + the time to check, or -1 + + + + the number of markers returned + + + + + + Checks whether @timeline has a marker set with the given name. + + %TRUE if the marker was found + + + + + the name of the marker + + + + + + Advances @timeline to the time of the given @marker_name. +<note><para>Like clutter_timeline_advance(), this function will not +emit the #ClutterTimeline::new-frame for the time where @marker_name +is set, nor it will emit #ClutterTimeline::marker-reached for + + + + + + the name of the marker + + + + + + + + + + + + + + + + A delay, in milliseconds, that should be observed by the +timeline before actually starting. + + + + The direction of the timeline, either %CLUTTER_TIMELINE_FORWARD or +%CLUTTER_TIMELINE_BACKWARD. + + + + Duration of the timeline in milliseconds, depending on the +ClutterTimeline:fps value. + + + + Whether the timeline should automatically rewind and restart. + + + + + + + + + + The ::completed signal is emitted when the timeline reaches the +number of frames specified by the ClutterTimeline:num-frames property. + + + + + + The ::marker-reached signal is emitted each time a timeline +reaches a marker set with +clutter_timeline_add_marker_at_time(). This signal is detailed +with the name of the marker as well, so it is possible to connect +a callback to the ::marker-reached signal for a specific marker +with: +<informalexample><programlisting> +clutter_timeline_add_marker_at_time (timeline, "foo", 500); +clutter_timeline_add_marker_at_time (timeline, "bar", 750); +g_signal_connect (timeline, "marker-reached", +G_CALLBACK (each_marker_reached), NULL); +g_signal_connect (timeline, "marker-reached::foo", +G_CALLBACK (foo_marker_reached), NULL); +g_signal_connect (timeline, "marker-reached::bar", +G_CALLBACK (bar_marker_reached), NULL); +</programlisting></informalexample> +In the example, the first callback will be invoked for both +the "foo" and "bar" marker, while the second and third callbacks +will be invoked for the "foo" or "bar" markers, respectively. + + + + + + the name of the marker reached + + + + the elapsed time + + + + + + The ::new-frame signal is emitted for each timeline running +timeline before a new frame is drawn to give animations a chance +to update the scene. + + + + + + the elapsed time between 0 and duration + + + + + + The ::paused signal is emitted when clutter_timeline_pause() is invoked. + + + + + + The ::started signal is emitted when the timeline starts its run. +This might be as soon as clutter_timeline_start() is invoked or +after the delay set in the ClutterTimeline:delay property has +expired. + + + + + + + The #ClutterTimelineClass structure contains only private data + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The direction of a #ClutterTimeline + + + + + + + + Creates a new timeout pool source. A timeout pool should be used when +multiple timeout functions, running at the same priority, are needed and +the g_timeout_add() API might lead to starvation of the time slice of +the main loop. A timeout pool allocates a single time slice of the main +loop and runs every timeout function inside it. The timeout pool is +always sorted, so that the extraction of the next timeout function is +a constant time operation. +is owned by the GLib default context and will be automatically +destroyed when the context is destroyed. It is possible to force +the destruction of the timeout pool using g_source_destroy() + + the newly created #ClutterTimeoutPool. The created pool + + + + + the priority of the timeout pool. Typically this will be #G_PRIORITY_DEFAULT + + + + + + Sets a function to be called at regular intervals, and puts it inside +the @pool. The function is repeatedly called until it returns %FALSE, +at which point the timeout is automatically destroyed and the function +won't be called again. If @notify is not %NULL, the @notify function +will be called. The first call to @func will be at the end of @interval. +Since Clutter 0.8 this will try to compensate for delays. For +example, if @func takes half the interval time to execute then the +function will be called again half the interval time after it +finished. Before version 0.8 it would not fire until a full +interval after the function completes so the delay between calls +would be @interval * 1.5. This function does not however try to +invoke the function multiple times to catch up missing frames if +Use clutter_timeout_pool_remove() to stop the timeout. + + the ID (greater than 0) of the timeout inside the pool. + + + + + the time between calls to the function, in frames per second + + + + function to call + + + + data to pass to the function, or %NULL + + + + function to call when the timeout is removed, or %NULL + + + + + + Removes a timeout function with @id from the timeout pool. The id +is the same returned when adding a function to the timeout pool with +clutter_timeout_pool_add(). + + + + + + the id of the timeout to remove + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The type of unit in which a value is expressed +This enumeration might be expanded at later date + + + + + + + + An opaque structure, to be used to store sizing and positioning +values along with their unit. + + + + + + + + + + + + + + + + + + + + + + + Retrieves the unit type of the value stored inside @units + + a unit type + + + + + Retrieves the value stored inside @units + + the value stored inside a #ClutterUnits + + + + + Copies @units +Use clutter_units_free() to free the allocated resources + + the newly created copy of a #ClutterUnits structure. + + + + + Frees the resources allocated by @units +You should only call this function on a #ClutterUnits +created using clutter_units_copy() + + + + + + Stores a value in pixels inside @units + + + + + + pixels + + + + + + Stores a value in em inside @units, using the default font +name as returned by clutter_backend_get_font_name() + + + + + + em + + + + + + Stores a value in em inside @units using @font_name + + + + + + the font name and size + + + + em + + + + + + Stores a value in millimiters inside @units + + + + + + millimeters + + + + + + Stores a value in centimeters inside @units + + + + + + centimeters + + + + + + Stores a value in typographic points inside @units + + + + + + typographic points + + + + + + Converts a value in #ClutterUnits to pixels + + the value in pixels + + + + + Parses a value and updates @units with it +A #ClutterUnits expressed in string should match: +|[ +| digit* sep digit+ +]| +For instance, these are valid strings: +|[ +10 px +5.1 em +24 pt +12.6 mm +.3 cm +]| +While these are not: +|[ +42 cats +omg!1!ponies +]| +<note><para>If no unit is specified, pixels are assumed.</para></note> +and %FALSE otherwise + + %TRUE if the string was successfully parsed, + + + + + the string to convert + + + + + + Converts @units into a string +See clutter_units_from_string() for the units syntax and for +examples of output +<note>Fractional values are truncated to the second decimal +position for em, mm and cm, and to the first decimal position for +typographic points. Pixels are integers.</note> +#ClutterUnits value. Use g_free() to free the string + + a newly allocated string containing the encoded + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Vertex of an actor in 3D space, expressed in pixels + + + + + + + + + + + Creates a new #ClutterVertex for the point in 3D space +identified by the 3 coordinates @x, @y, @z +clutter_vertex_free() to free the resources + + the newly allocate #ClutterVertex. Use + + + + + X coordinate + + + + Y coordinate + + + + Z coordinate + + + + + + Copies @vertex +clutter_vertex_free() to free the allocated resources + + a newly allocated copy of #ClutterVertex. Use + + + + + Frees a #ClutterVertex allocated using clutter_vertex_copy() + + + + + + Compares @vertex_a and @vertex_b for equality + + %TRUE if the passed #ClutterVertex are equal + + + + + a #ClutterVertex + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Utility function for setting the source color of @cr using +a #ClutterColor. + + + + + + a Cairo context + + + + a #ClutterColor + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Run-time version check, to check the version the Clutter library +that an application is currently linked against +This is the run-time equivalent of the compile-time %CLUTTER_CHECK_VERSION +pre-processor macro +greater than (@major, @minor, @micro), and %FALSE otherwise + + %TRUE if the version of the Clutter library is + + + + + major version, like 1 in 1.2.3 + + + + minor version, like 2 in 1.2.3 + + + + micro version, like 3 in 1.2.3 + + + + + + + + + + + + + + + Clears the internal cache of glyphs used by the Pango +renderer. This will free up some memory and GL texture +resources. The cache will be automatically refilled as more text is +drawn. + + + + + + + + + + + + Compares two #ClutterColor<!-- -->s and checks if they are the same. +This function can be passed to g_hash_table_new() as the @key_equal_func +parameter, when using #ClutterColor<!-- -->s as keys in a #GHashTable. + + %TRUE if the two colors are the same. + + + + + a #ClutterColor + + + + a #ClutterColor + + + + + + Converts a #ClutterColor to a hash value. +This function can be passed to g_hash_table_new() as the @hash_func +parameter, when using #ClutterColor<!-- -->s as keys in a #GHashTable. + + a hash value corresponding to the color + + + + + a #ClutterColor + + + + + + + + + Looks up the #GParamSpec for a child property of @klass. +if no such property exist. + + The #GParamSpec for the property or %NULL + + + + + a #GObjectClass implementing the #ClutterContainer interface. + + + + a property name. + + + + + + Returns an array of #GParamSpec for all child properties. +of #GParamSpec<!-- -->s which should be freed after use. + + an array + + + + + + + a #GObjectClass implementing the #ClutterContainer interface. + + + + return location for length of returned array. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Pops an event off the event queue. Applications should not need to call +this. + + A #ClutterEvent or NULL if queue empty + + + + + Returns a pointer to the first event from the event queue but +does not remove it. + + A #ClutterEvent or NULL if queue empty. + + + + + Checks if events are pending in the event queue. + + TRUE if there are pending events, FALSE otherwise. + + + + + + + + + + + + + + + + + Checks whether @feature is available. @feature can be a logical +OR of #ClutterFeatureFlags. + + %TRUE if a feature is available + + + + + a #ClutterFeatureFlags + + + + + + Returns all the supported features. + + a logical OR of all the supported features. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Simple wrapper around clutter_frame_source_add_full(). + + the ID (greater than 0) of the event source. + + + + + the number of times per second to call the function + + + + function to call + + + + data to pass to the function + + + + + + Sets a function to be called at regular intervals with the given +priority. The function is called repeatedly until it returns +%FALSE, at which point the timeout is automatically destroyed and +the function will not be called again. The @notify function is +called when the timeout is destroyed. The first call to the +function will be at the end of the first @interval. +This function is similar to g_timeout_add_full() except that it +will try to compensate for delays. For example, if @func takes half +the interval time to execute then the function will be called again +half the interval time after it finished. In contrast +g_timeout_add_full() would not fire until a full interval after the +function completes so the delay between calls would be 1.0 / @fps * +1.5. This function does not however try to invoke the function +multiple times to catch up missing frames if @func takes more than + + the ID (greater than 0) of the event source. + + + + + the priority of the frame source. Typically this will be in the range between %G_PRIORITY_DEFAULT and %G_PRIORITY_HIGH. + + + + the number of times per second to call the function + + + + function to call + + + + data to pass to the function + + + + function to call when the timeout source is removed + + + + + + + + + + + + + + + + + + + + + + + + + + + Returns whether Clutter has accessibility support enabled. As +least, a value of TRUE means that there are a proper AtkUtil +implementation available + + %TRUE if Clutter has accessibility support enabled + + + + + + + + + + + + + + + If an event is currently being processed, return that event. +This function is intended to be used to access event state +that might not be exposed by higher-level widgets. For +example, to get the key modifier state from a Button 'clicked' +event. + + The current ClutterEvent, or %NULL if none + + + + + Retrieves the timestamp of the last event, if there is an +event or if the event has a timestamp. + + the event timestamp, or %CLUTTER_CURRENT_TIME + + + + + Check if clutter has debugging turned on. + + TRUE if debugging is turned on, FALSE otherwise. + + + + + Retrieves the default #ClutterBackend used by Clutter. The +#ClutterBackend holds backend-specific configuration options. +not ref or unref the returned object. Applications should rarely +need to use this. + + the default backend. You should + + + + + Retrieves the default frame rate. See clutter_set_default_frame_rate(). + + the default frame rate + + + + + Retrieves the default direction for the text. The text direction is +determined by the locale and/or by the %CLUTTER_TEXT_DIRECTION environment +variable +The default text direction can be overridden on a per-actor basis by using +clutter_actor_set_text_direction() + + the default text direction + + + + + Gets the current font flags for rendering text. See +clutter_set_font_flags(). + + The font flags + + + + + Retrieves the #PangoFontMap instance used by Clutter. +You can use the global font map object with the COGL +Pango API. +value is owned by Clutter and it should never be unreferenced. + + the #PangoFontMap instance. The returned + + + + + Retrieves the #ClutterInputDevice from its @id. This is a convenience +wrapper for clutter_device_manager_get_device() and it is functionally +equivalent to: +|[ +ClutterDeviceManager *manager; +ClutterInputDevice *device; +manager = clutter_device_manager_get_default (); +device = clutter_device_manager_get_device (manager, id); +]| + + a #ClutterInputDevice, or %NULL + + + + + the unique id for a device + + + + + + Queries the current keyboard grab of clutter. + + the actor currently holding the keyboard grab, or NULL if there is no grab. + + + + + Gets whether the per-actor motion events are enabled. + + %TRUE if the motion events are enabled + + + + + Returns a #GOptionGroup for the command line arguments recognized +by Clutter. You should add this group to your #GOptionContext with +g_option_context_add_group(), if you are using g_option_context_parse() +to parse your commandline arguments. +Calling g_option_context_parse() with Clutter's #GOptionGroup will result +in Clutter's initialization. That is, the following code: +|[ +g_option_context_set_main_group (context, clutter_get_option_group ()); +res = g_option_context_parse (context, &amp;argc, &amp;argc, NULL); +]| +is functionally equivalent to: +|[ +clutter_init (&amp;argc, &amp;argv); +]| +After g_option_context_parse() on a #GOptionContext containing the +Clutter #GOptionGroup has returned %TRUE, Clutter is guaranteed to be +initialized. +recognized by Clutter + + a #GOptionGroup for the commandline arguments + + + + + Returns a #GOptionGroup for the command line arguments recognized +by Clutter. You should add this group to your #GOptionContext with +g_option_context_add_group(), if you are using g_option_context_parse() +to parse your commandline arguments. Unlike clutter_get_option_group(), +calling g_option_context_parse() with the #GOptionGroup returned by this +function requires a subsequent explicit call to clutter_init(); use this +function when needing to set foreign display connection with +clutter_x11_set_display(), or with gtk_clutter_init(). +recognized by Clutter + + a #GOptionGroup for the commandline arguments + + + + + Queries the current pointer grab of clutter. + + the actor currently holding the pointer grab, or NULL if there is no grab. + + + + + Retrieves the Clutter script id, if any. +a UI definition file. The returned string is owned by the object and +should never be modified or freed. + + the script id, or %NULL if @object was not defined inside + + + + + a #GObject + + + + + + Returns whether Clutter should print out the frames per second on the +console. You can enable this setting either using the +<literal>CLUTTER_SHOW_FPS</literal> environment variable or passing +the <literal>--clutter-show-fps</literal> command line argument. * + + %TRUE if Clutter should show the FPS. + + + + + Returns the approximate number of microseconds passed since clutter was +intialised. + + Number of microseconds since clutter_init() was called. + + + + + Grabs keyboard events, after the grab is done keyboard +events (#ClutterActor::key-press-event and #ClutterActor::key-release-event) +are delivered to this actor directly. The source set in the event will be +the actor that would have received the event if the keyboard grab was not +in effect. +Like pointer grabs, keyboard grabs should only be used as a last +resource. +See also clutter_stage_set_key_focus() and clutter_actor_grab_key_focus() +to perform a "soft" key grab and assign key focus to a specific actor. + + + + + + a #ClutterActor + + + + + + Grabs pointer events, after the grab is done all pointer related events +(press, motion, release, enter, leave and scroll) are delivered to this +actor directly without passing through both capture and bubble phases of +the event delivery chain. The source set in the event will be the actor +that would have received the event if the pointer grab was not in effect. +<note><para>Grabs completely override the entire event delivery chain +done by Clutter. Pointer grabs should only be used as a last resource; +using the #ClutterActor::captured-event signal should always be the +preferred way to intercept event delivery to reactive actors.</para></note> +If you wish to grab all the pointer events for a specific input device, +you should use clutter_grab_pointer_for_device(). + + + + + + a #ClutterActor + + + + + + Grabs all the pointer events coming from the device @id for @actor. +If @id is -1 then this function is equivalent to clutter_grab_pointer(). + + + + + + a #ClutterActor + + + + a device id, or -1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + It will initialise everything needed to operate with Clutter and +parses some standard command line options. @argc and @argv are +adjusted accordingly so your own code will never see those standard +arguments. + + 1 on success, < 0 on failure. + + + + + The number of arguments in @argv + + + + A pointer to an array of arguments. + + + + + + + + This function does the same work as clutter_init(). Additionally, +it allows you to add your own command line options, and it +automatically generates nicely formatted <option>--help</option> +output. Note that your program will be terminated after writing +out the help output. Also note that, in case of error, the +error message will be placed inside @error instead of being +printed on the display. +initialised, or other values or #ClutterInitError in case of +error. + + %CLUTTER_INIT_SUCCESS if Clutter has been successfully + + + + + a pointer to the number of command line arguments + + + + a pointer to the array of command line arguments + + + + + + a string which is displayed in the first line of <option>--help</option> output, after <literal><replaceable>programname</replaceable> [OPTION...]</literal> + + + + a %NULL terminated array of #GOptionEntry<!-- -->s describing the options of your program + + + + a translation domain to use for translating the <option>--help</option> output for the options in + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Convert from a Clutter key symbol to the corresponding ISO10646 (Unicode) +character. +character. + + a Unicode character, or 0 if there is no corresponding + + + + + a key symbol + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Starts the Clutter mainloop. + + + + + + Retrieves the depth of the Clutter mainloop. + + The level of the mainloop. + + + + + Terminates the Clutter mainloop. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Creates a #GParamSpec for properties using #ClutterColor. + + the newly created #GParamSpec + + + + + name of the property + + + + short name + + + + description (can be translatable) + + + + default value + + + + flags for the param spec + + + + + + Creates a #GParamSpec for properties using #CoglFixed values + + the newly created #GParamSpec + + + + + name of the property + + + + short name + + + + description (can be translatable) + + + + lower boundary + + + + higher boundary + + + + default value + + + + flags for the param spec + + + + + + Creates a #GParamSpec for properties using #ClutterUnits. + + the newly created #GParamSpec + + + + + name of the property + + + + short name + + + + description (can be translatable) + + + + the default type for the #ClutterUnits + + + + lower boundary + + + + higher boundary + + + + default value + + + + flags for the param spec + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Forces a redraw of the entire stage. Applications should never use this +function, but queue a redraw using clutter_actor_queue_redraw(). +This function should only be used by libraries integrating Clutter from +within another toolkit. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Sets the default frame rate. This frame rate will be used to limit +the number of frames drawn if Clutter is not able to synchronize +with the vertical refresh rate of the display. When synchronization +is possible, this value is ignored. + + + + + + the new default frame rate + + + + + + Sets the font quality options for subsequent text rendering +operations. +Using mipmapped textures will improve the quality for scaled down +text but will use more texture memory. +Enabling hinting improves text quality for static text but may +introduce some artifacts if the text is animated. + + + + + + The new flags + + + + + + Sets whether per-actor motion events should be enabled or not (the +default is to enable them). +If @enable is %FALSE the following events will not work: +<itemizedlist> +<listitem><para>ClutterActor::motion-event, unless on the +#ClutterStage</para></listitem> +<listitem><para>ClutterActor::enter-event</para></listitem> +<listitem><para>ClutterActor::leave-event</para></listitem> +</itemizedlist> + + + + + + %TRUE to enable per-actor motion events + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Simple wrapper around clutter_threads_add_frame_source_full(). + + the ID (greater than 0) of the event source. + + + + + the number of times per second to call the function + + + + function to call + + + + data to pass to the function + + + + + + Sets a function to be called at regular intervals holding the Clutter +threads lock, with the given priority. The function is called repeatedly +until it returns %FALSE, at which point the timeout is automatically +removed and the function will not be called again. The @notify function +is called when the timeout is removed. +This function is similar to clutter_threads_add_timeout_full() +except that it will try to compensate for delays. For example, if +will be called again half the interval time after it finished. In +contrast clutter_threads_add_timeout_full() would not fire until a +full interval after the function completes so the delay between +calls would be @interval * 1.5. This function does not however try +to invoke the function multiple times to catch up missing frames if +See also clutter_threads_add_idle_full(). + + the ID (greater than 0) of the event source. + + + + + the priority of the frame source. Typically this will be in the range between #G_PRIORITY_DEFAULT and #G_PRIORITY_HIGH. + + + + the number of times per second to call the function + + + + function to call + + + + data to pass to the function + + + + function to call when the timeout source is removed + + + + + + Simple wrapper around clutter_threads_add_idle_full() using the +default priority. + + the ID (greater than 0) of the event source. + + + + + function to call + + + + data to pass to the function + + + + + + Adds a function to be called whenever there are no higher priority +events pending. If the function returns %FALSE it is automatically +removed from the list of event sources and will not be called again. +This function can be considered a thread-safe variant of g_idle_add_full(): +it will call @function while holding the Clutter lock. It is logically +equivalent to the following implementation: +|[ +static gboolean +idle_safe_callback (gpointer data) +{ +SafeClosure *closure = data; +gboolean res = FALSE; +/&ast; mark the critical section &ast;/ +clutter_threads_enter(); +/&ast; the callback does not need to acquire the Clutter +&ast; lock itself, as it is held by the this proxy handler +&ast;/ +res = closure->callback (closure->data); +clutter_threads_leave(); +return res; +} +static gulong +add_safe_idle (GSourceFunc callback, +gpointer data) +{ +SafeClosure *closure = g_new0 (SafeClosure, 1); +closure-&gt;callback = callback; +closure-&gt;data = data; +return g_add_idle_full (G_PRIORITY_DEFAULT_IDLE, +idle_safe_callback, +closure, +g_free) +} +]| +This function should be used by threaded applications to make sure +that @func is emitted under the Clutter threads lock and invoked +from the same thread that started the Clutter main loop. For instance, +it can be used to update the UI using the results from a worker +thread: +|[ +static gboolean +update_ui (gpointer data) +{ +SomeClosure *closure = data; +/&ast; it is safe to call Clutter API from this function because +&ast; it is invoked from the same thread that started the main +&ast; loop and under the Clutter thread lock +&ast;/ +clutter_label_set_text (CLUTTER_LABEL (closure-&gt;label), +closure-&gt;text); +g_object_unref (closure-&gt;label); +g_free (closure); +return FALSE; +} +/&ast; within another thread &ast;/ +closure = g_new0 (SomeClosure, 1); +/&ast; always take a reference on GObject instances &ast;/ +closure-&gt;label = g_object_ref (my_application-&gt;label); +closure-&gt;text = g_strdup (processed_text_to_update_the_label); +clutter_threads_add_idle_full (G_PRIORITY_HIGH_IDLE, +update_ui, +closure, +NULL); +]| + + the ID (greater than 0) of the event source. + + + + + the priority of the timeout source. Typically this will be in the range between #G_PRIORITY_DEFAULT_IDLE and #G_PRIORITY_HIGH_IDLE + + + + function to call + + + + data to pass to the function + + + + functio to call when the idle source is removed + + + + + + Adds a function to be called whenever Clutter is repainting a Stage. +If the function returns %FALSE it is automatically removed from the +list of repaint functions and will not be called again. +This function is guaranteed to be called from within the same thread +that called clutter_main(), and while the Clutter lock is being held. +A repaint function is useful to ensure that an update of the scenegraph +is performed before the scenegraph is repainted; for instance, uploading +a frame from a video into a #ClutterTexture. +When the repaint function is removed (either because it returned %FALSE +or because clutter_threads_remove_repaint_func() has been called) the +can use the returned integer to remove the repaint function by +calling clutter_threads_remove_repaint_func(). + + the ID (greater than 0) of the repaint function. You + + + + + the function to be called within the paint cycle + + + + data to be passed to the function, or %NULL + + + + function to be called when removing the repaint function, or %NULL + + + + + + Simple wrapper around clutter_threads_add_timeout_full(). + + the ID (greater than 0) of the event source. + + + + + the time between calls to the function, in milliseconds + + + + function to call + + + + data to pass to the function + + + + + + Sets a function to be called at regular intervals holding the Clutter +threads lock, with the given priority. The function is called repeatedly +until it returns %FALSE, at which point the timeout is automatically +removed and the function will not be called again. The @notify function +is called when the timeout is removed. +The first call to the function will be at the end of the first @interval. +It is important to note that, due to how the Clutter main loop is +implemented, the timing will not be accurate and it will not try to +"keep up" with the interval. A more reliable source is available +using clutter_threads_add_frame_source_full(), which is also internally +used by #ClutterTimeline. +See also clutter_threads_add_idle_full(). + + the ID (greater than 0) of the event source. + + + + + the priority of the timeout source. Typically this will be in the range between #G_PRIORITY_DEFAULT and #G_PRIORITY_HIGH. + + + + the time between calls to the function, in milliseconds + + + + function to call + + + + data to pass to the function + + + + function to call when the timeout source is removed + + + + + + Locks the Clutter thread lock. + + + + + + Initialises the Clutter threading mechanism, so that Clutter API can be +called by multiple threads, using clutter_threads_enter() and +clutter_threads_leave() to mark the critical sections. +You must call g_thread_init() before this function. +This function must be called before clutter_init(). +It is safe to call this function multiple times. + + + + + + Unlocks the Clutter thread lock. + + + + + + Removes the repaint function with @handle_id as its id + + + + + + an unsigned integer greater than zero + + + + + + Allows the application to replace the standard method that +Clutter uses to protect its data structures. Normally, Clutter +creates a single #GMutex that is locked by clutter_threads_enter(), +and released by clutter_threads_leave(); using this function an +application provides, instead, a function @enter_fn that is +called by clutter_threads_enter() and a function @leave_fn that is +called by clutter_threads_leave(). +The functions must provide at least same locking functionality +as the default implementation, but can also do extra application +specific processing. +As an example, consider an application that has its own recursive +lock that when held, holds the Clutter lock as well. When Clutter +unlocks the Clutter lock when entering a recursive main loop, the +application must temporarily release its lock as well. +Most threaded Clutter apps won't need to use this method. +This method must be called before clutter_threads_init(), and cannot +be called multiple times. + + + + + + function called when aquiring the Clutter main lock + + + + function called when releasing the Clutter main lock + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Removes an existing grab of the keyboard. + + + + + + Removes an existing grab of the pointer. + + + + + + Removes an existing grab of the pointer events for device @id. + + + + + + a device id + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Calculates the nearest power of two, greater than or equal to @a. + + The nearest power of two, greater or equal to @a. + + + + + Value to get the next power + + + + + + + + + + + + Gets the #ClutterColor contained in @value. + + the colors inside the passed #GValue + + + + + a #GValue initialized to #CLUTTER_TYPE_COLOR + + + + + + Gets the fixed point value stored inside @value. + + the value inside the passed #GValue + + + + + a #GValue initialized to %COGL_TYPE_FIXED + + + + + + Retrieves the list of floating point values stored inside +the passed #GValue. @value must have been initialized with +%CLUTTER_TYPE_SHADER_FLOAT. +The returned value is owned by the #GValue and should never +be modified or freed. + + the pointer to a list of floating point values. + + + + + a #GValue + + + + return location for the number of returned floating point values, or %NULL + + + + + + Retrieves the list of integer values stored inside the passed +#GValue. @value must have been initialized with +%CLUTTER_TYPE_SHADER_INT. +The returned value is owned by the #GValue and should never +be modified or freed. + + the pointer to a list of integer values. + + + + + a #GValue + + + + return location for the number of returned integer values, or %NULL + + + + + + Retrieves a matrix of floating point values stored inside +the passed #GValue. @value must have been initialized with +%CLUTTER_TYPE_SHADER_MATRIX. +of floating point values. The returned value is owned by the #GValue and +should never be modified or freed. + + the pointer to a matrix + + + + + + + a #GValue + + + + return location for the number of returned floating point values, or %NULL + + + + + + Gets the #ClutterUnit<!-- -->s contained in @value. + + the units inside the passed #GValue + + + + + a #GValue initialized to #CLUTTER_TYPE_UNIT + + + + + + Sets @value to @color. + + + + + + a #GValue initialized to #CLUTTER_TYPE_COLOR + + + + the color to set + + + + + + Sets @value to @fixed_. + + + + + + a #GValue initialized to %COGL_TYPE_FIXED + + + + the fixed point value to set + + + + + + Sets @floats as the contents of @value. The passed #GValue +must have been initialized using %CLUTTER_TYPE_SHADER_FLOAT. + + + + + + a #GValue + + + + number of floating point values in @floats + + + + an array of floating point values + + + + + + Sets @ints as the contents of @value. The passed #GValue +must have been initialized using %CLUTTER_TYPE_SHADER_INT. + + + + + + a #GValue + + + + number of integer values in @ints + + + + an array of integer values + + + + + + Sets @matrix as the contents of @value. The passed #GValue +must have been initialized using %CLUTTER_TYPE_SHADER_MATRIX. + + + + + + a #GValue + + + + number of floating point values in @floats + + + + a matrix of floating point values + + + + + + Sets @value to @units + + + + + + a #GValue initialized to #CLUTTER_TYPE_UNIT + + + + the units to set + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ClutterJson-1.0.gir b/ClutterJson-1.0.gir new file mode 100644 index 0000000..559fa06 --- /dev/null +++ b/ClutterJson-1.0.gir @@ -0,0 +1,1276 @@ + + + + + + + + + A JSON array type. The contents of the #JsonArray structure are private +and should only be accessed by the provided API + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The function to be passed to json_array_foreach_element(). You +should not add or remove elements to and from @array within +this function. It is safe to change the value of @element_node. + + + + + + the iterated #JsonArray + + + + the index of the element + + + + a #JsonNode containing the value at @index_ + + + + data passed to the function + + + + + + JSON data streams generator. The contents of the #JsonGenerator structure +are private and should only be accessed via the provided API. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + #JsonGenerator class + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A generic container of JSON data types. The contents of the #JsonNode +structure are private and should only be accessed via the provided +functions and never directly. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Indicates the content of a #JsonNode. + + + + + + + A JSON object type. The contents of the #JsonObject structure are private +and should only be accessed by the provided API + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The function to be passed to json_object_foreach_member(). You +should not add or remove members to and from @object within +this function. It is safe to change the value of @member_node. + + + + + + the iterated #JsonObject + + + + the name of the member + + + + a #JsonNode containing the @member_name value + + + + data passed to the function + + + + + + JSON data streams parser. The contents of the #JsonParser structure are +private and should only be accessed via the provided API. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + #JsonParser class. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Error enumeration for #JsonParser + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Cogl-1.0.gir b/Cogl-1.0.gir new file mode 100644 index 0000000..35c2d67 --- /dev/null +++ b/Cogl-1.0.gir @@ -0,0 +1,7001 @@ + + + + + + + + + + + + + + + + + + + + Data types for the components of cogl_vertex_buffer_add() + + + + + + + + + + + + Loads an image file from disk. This function can be safely called from +within a thread. +%NULL if loading the image failed. + + a #CoglBitmap to the new loaded image data, or + + + + + the file to load. + + + + + + + Error codes that can be thrown when performing bitmap +operations. Note that gdk_pixbuf_new_from_file() can also throw +errors directly from the underlying image loading library. For +example, if GdkPixbuf is used then errors #GdkPixbufError<!-- -->s +will be used directly. + + + + + + Error enumeration for the blend strings parser + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The access hints for cogl_buffer_set_update_hint() + + + + + + + Types of auxiliary buffers + + + + + + all the buffer's contents. +Hints to Cogl about how you are planning to modify the data once it +is mapped. + + + + Target flags for FBOs. + + + + + The update hint on a buffer allows the user to give some detail on how often +the buffer data is going to be updated. + + + + + + A structure for holding a color definition. The contents of +the CoglColor structure are private and should never by accessed +directly. + + + + + + + + + + + + + + + + + + + + + + + Creates a new (empty) color +to free the allocated resources + + a newly-allocated #CoglColor. Use cogl_color_free() + + + + + Creates a copy of @color +to free the allocate resources + + a newly-allocated #CoglColor. Use cogl_color_free() + + + + + Frees the resources allocated by cogl_color_new() and cogl_color_copy() + + + + + + Sets the values of the passed channels into a #CoglColor. + + + + + + value of the red channel, between 0 and 255 + + + + value of the green channel, between 0 and 255 + + + + value of the blue channel, between 0 and 255 + + + + value of the alpha channel, between 0 and 255 + + + + + + Sets the values of the passed channels into a #CoglColor. + + + + + + value of the red channel, between 0 and 255 + + + + value of the green channel, between 0 and 255 + + + + value of the blue channel, between 0 and 255 + + + + value of the alpha channel, between 0 and 255 + + + + + + Sets the values of the passed channels into a #CoglColor + + + + + + value of the red channel, between 0 and %1.0 + + + + value of the green channel, between 0 and %1.0 + + + + value of the blue channel, between 0 and %1.0 + + + + value of the alpha channel, between 0 and %1.0 + + + + + + Sets the values of the passed channels into a #CoglColor + + + + + + value of the red channel, between 0 and %1.0 + + + + value of the green channel, between 0 and %1.0 + + + + value of the blue channel, between 0 and %1.0 + + + + value of the alpha channel, between 0 and %1.0 + + + + + + Sets the values of the passed channels into a #CoglColor + + + + + + a pointer to an array of 4 float color components + + + + + + Retrieves the red channel of @color as a byte value +between 0 and 255 + + the red channel of the passed color + + + + + Retrieves the green channel of @color as a byte value +between 0 and 255 + + the green channel of the passed color + + + + + Retrieves the blue channel of @color as a byte value +between 0 and 255 + + the blue channel of the passed color + + + + + Retrieves the alpha channel of @color as a byte value +between 0 and 255 + + the alpha channel of the passed color + + + + + Retrieves the red channel of @color as a floating point +value between 0.0 and 1.0 + + the red channel of the passed color + + + + + Retrieves the green channel of @color as a floating point +value between 0.0 and 1.0 + + the green channel of the passed color + + + + + Retrieves the blue channel of @color as a floating point +value between 0.0 and 1.0 + + the blue channel of the passed color + + + + + Retrieves the alpha channel of @color as a floating point +value between 0.0 and 1.0 + + the alpha channel of the passed color + + + + + Retrieves the red channel of @color as a fixed point +value between 0 and %1.0. + + the red channel of the passed color + + + + + Retrieves the green channel of @color as a fixed point +value between 0 and %1.0. + + the green channel of the passed color + + + + + Retrieves the blue channel of @color as a fixed point +value between 0 and %1.0. + + the blue channel of the passed color + + + + + Retrieves the alpha channel of @color as a fixed point +value between 0 and %1.0. + + the alpha channel of the passed color + + + + + Sets the red channel of @color to @red. + + + + + + a byte value between 0 and 255 + + + + + + Sets the green channel of @color to @green. + + + + + + a byte value between 0 and 255 + + + + + + Sets the blue channel of @color to @blue. + + + + + + a byte value between 0 and 255 + + + + + + Sets the alpha channel of @color to @alpha. + + + + + + a byte value between 0 and 255 + + + + + + Sets the red channel of @color to @red. + + + + + + a float value between 0.0f and 1.0f + + + + + + Sets the green channel of @color to @green. + + + + + + a float value between 0.0f and 1.0f + + + + + + Sets the blue channel of @color to @blue. + + + + + + a float value between 0.0f and 1.0f + + + + + + Sets the alpha channel of @color to @alpha. + + + + + + a float value between 0.0f and 1.0f + + + + + + Sets the red channel of @color to @red. + + + + + + a float value between 0.0f and 1.0f + + + + + + Sets the green channel of @color to @green. + + + + + + a float value between 0.0f and 1.0f + + + + + + Sets the blue channel of @color to @blue. + + + + + + a float value between 0.0f and 1.0f + + + + + + Sets the alpha channel of @color to @alpha. + + + + + + a float value between 0.0f and 1.0f + + + + + + Converts a non-premultiplied color to a pre-multiplied color. For +example, semi-transparent red is (1.0, 0, 0, 0.5) when non-premultiplied +and (0.5, 0, 0, 0.5) when premultiplied. + + + + + + Converts a pre-multiplied color to a non-premultiplied color. For +example, semi-transparent red is (0.5, 0, 0, 0.5) when premultiplied +and (1.0, 0, 0, 0.5) when non-premultiplied. + + + + + + + When using depth testing one of these functions is used to compare +the depth of an incoming fragment against the depth value currently +stored in the depth buffer. The function is changed using +cogl_material_set_depth_test_function(). +The test is only done when depth testing is explicitly enabled. (See +cogl_material_set_depth_test_enabled()) + + + + + + + + + + + + + + + Error enumeration for Cogl +The @COGL_ERROR_UNSUPPORTED error can be thrown for a variety of +reasons. For example: +<itemizedlist> +<listitem><para>You've tried to use a feature that is not +advertised by cogl_get_features(). This could happen if you create +a non-sliced texture with a non-power-of-two size when +%COGL_FEATURE_TEXTURE_NPOT is not advertised.</para></listitem> +<listitem><para>The GPU can not handle the configuration you have +requested. An example might be if you try to use too many texture +layers in a single #CoglMaterial</para></listitem> +<listitem><para>The driver does not support some +configuration.</para></listiem> +</itemizedlist> +Currently this is only used by Cogl API marked as experimental so +this enum should also be considered experimental. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Flags for the supported features. + + + + + + + + + + + + + + + + + + + + + + + The fog mode determines the equation used to calculate the fogging blend +factor while fogging is enabled. The simplest %COGL_FOG_MODE_LINEAR mode +determines f as: +|[ +f = end - eye_distance / end - start +]| +Where eye_distance is the distance of the current fragment in eye +coordinates from the origin. + + + + + + + + The type used by cogl for function pointers, note that this type +is used as a generic catch-all cast for function pointers and the +actual arguments and return type may be different. + + + + + + + Increases the reference count of @handle by 1 + + the handle, with its reference count increased + + + + + Drecreases the reference count of @handle by 1; if the reference +count reaches 0, the resources allocated by @handle will be freed + + + + + + + You should aim to use the smallest data type that gives you enough +range, since it reduces the size of your index array and can help +reduce the demand on memory bandwidth. +Note that %COGL_INDICES_TYPE_UNSIGNED_INT is only supported if the +%COGL_FEATURE_UNSIGNED_INT_INDICES feature is available. This +should always be available on OpenGL but on OpenGL ES it will only +be available if the GL_OES_element_index_uint extension is +advertized. + + + + + + + Allocates and initializes a blank white material + + a pointer to a new #CoglMaterial + + + + + Creates a new material with the configuration copied from the +source material. +We would strongly advise developers to always aim to use +cogl_material_copy() instead of cogl_material_new() whenever there will +be any similarity between two materials. Copying a material helps Cogl +keep track of a materials ancestry which we may use to help minimize GPU +state changes. + + a pointer to the newly allocated #CoglMaterial + + + + + Sets the basic color of the material, used when no lighting is enabled. +Note that if you don't add any layers to the material then the color +will be blended unmodified with the destination; the default blend +semi-transparent red. See cogl_color_premultiply(). +The default value is (1.0, 1.0, 1.0, 1.0) + + + + + + The components of the color + + + + + + Sets the basic color of the material, used when no lighting is enabled. +The default value is (0xff, 0xff, 0xff, 0xff) + + + + + + The red component + + + + The green component + + + + The blue component + + + + The alpha component + + + + + + Sets the basic color of the material, used when no lighting is enabled. +The default value is (1.0, 1.0, 1.0, 1.0) + + + + + + The red component + + + + The green component + + + + The blue component + + + + The alpha component + + + + + + Retrieves the current material color. + + + + + + The location to store the color + + + + + + Sets the material's ambient color, in the standard OpenGL lighting +model. The ambient color affects the overall color of the object. +Since the diffuse color will be intense when the light hits the surface +directly, the ambient will be most apparent where the light hits at a +slant. +The default value is (0.2, 0.2, 0.2, 1.0) + + + + + + The components of the desired ambient color + + + + + + Retrieves the current ambient color for @material + + + + + + The location to store the ambient color + + + + + + Sets the material's diffuse color, in the standard OpenGL lighting +model. The diffuse color is most intense where the light hits the +surface directly - perpendicular to the surface. +The default value is (0.8, 0.8, 0.8, 1.0) + + + + + + The components of the desired diffuse color + + + + + + Retrieves the current diffuse color for @material + + + + + + The location to store the diffuse color + + + + + + Conveniently sets the diffuse and ambient color of @material at the same +time. See cogl_material_set_ambient() and cogl_material_set_diffuse(). +The default ambient color is (0.2, 0.2, 0.2, 1.0) +The default diffuse color is (0.8, 0.8, 0.8, 1.0) + + + + + + The components of the desired ambient and diffuse colors + + + + + + Sets the material's specular color, in the standard OpenGL lighting +model. The intensity of the specular color depends on the viewport +position, and is brightest along the lines of reflection. +The default value is (0.0, 0.0, 0.0, 1.0) + + + + + + The components of the desired specular color + + + + + + Retrieves the materials current specular color. + + + + + + The location to store the specular color + + + + + + Sets the shininess of the material, in the standard OpenGL lighting +model, which determines the size of the specular highlights. A +higher @shininess will produce smaller highlights which makes the +object appear more shiny. +The default value is 0.0 + + + + + + The desired shininess; must be >= 0.0 + + + + + + Retrieves the materials current emission color. + + The materials current shininess value + + + + + Sets the material's emissive color, in the standard OpenGL lighting +model. It will look like the surface is a light source emitting this +color. +The default value is (0.0, 0.0, 0.0, 1.0) + + + + + + The components of the desired emissive color + + + + + + Retrieves the materials current emission color. + + + + + + The location to store the emission color + + + + + + Before a primitive is blended with the framebuffer, it goes through an +alpha test stage which lets you discard fragments based on the current +alpha value. This function lets you change the function used to evaluate +the alpha channel, and thus determine which fragments are discarded +and which continue on to the blending stage. +The default is %COGL_MATERIAL_ALPHA_FUNC_ALWAYS + + + + + + A @CoglMaterialAlphaFunc constant + + + + A reference point that the chosen alpha function uses to compare incoming fragments to. + + + + + + If not already familiar; please refer <link linkend="cogl-Blend-Strings">here</link> +for an overview of what blend strings are, and their syntax. +Blending occurs after the alpha test function, and combines fragments with +the framebuffer. +Currently the only blend function Cogl exposes is ADD(). So any valid +blend statements will be of the form: +|[ +&lt;channel-mask&gt;=ADD(SRC_COLOR*(&lt;factor&gt;), DST_COLOR*(&lt;factor&gt;)) +]| +<warning>The brackets around blend factors are currently not +optional!</warning> +This is the list of source-names usable as blend factors: +<itemizedlist> +<listitem><para>SRC_COLOR: The color of the in comming fragment</para></listitem> +<listitem><para>DST_COLOR: The color of the framebuffer</para></listitem> +<listitem><para>CONSTANT: The constant set via cogl_material_set_blend_constant()</para></listitem> +</itemizedlist> +The source names can be used according to the +<link linkend="cogl-Blend-String-syntax">color-source and factor syntax</link>, +so for example "(1-SRC_COLOR[A])" would be a valid factor, as would +"(CONSTANT[RGB])" +These can also be used as factors: +<itemizedlist> +<listitem>0: (0, 0, 0, 0)</listitem> +<listitem>1: (1, 1, 1, 1)</listitem> +<listitem>SRC_ALPHA_SATURATE_FACTOR: (f,f,f,1) where f = MIN(SRC_COLOR[A],1-DST_COLOR[A])</listitem> +</itemizedlist> +<note>Remember; all color components are normalized to the range [0, 1] +before computing the result of blending.</note> +<example id="cogl-Blend-Strings-blend-unpremul"> +<title>Blend Strings/1</title> +<para>Blend a non-premultiplied source over a destination with +premultiplied alpha:</para> +<programlisting> +"RGB = ADD(SRC_COLOR*(SRC_COLOR[A]), DST_COLOR*(1-SRC_COLOR[A]))" +"A = ADD(SRC_COLOR, DST_COLOR*(1-SRC_COLOR[A]))" +</programlisting> +</example> +<example id="cogl-Blend-Strings-blend-premul"> +<title>Blend Strings/2</title> +<para>Blend a premultiplied source over a destination with +premultiplied alpha</para> +<programlisting> +"RGBA = ADD(SRC_COLOR, DST_COLOR*(1-SRC_COLOR[A]))" +</programlisting> +</example> +The default blend string is: +|[ +RGBA = ADD (SRC_COLOR, DST_COLOR*(1-SRC_COLOR[A])) +]| +That gives normal alpha-blending when the calculated color for the material +is in premultiplied form. +described blending is supported by the underlying driver/hardware. If +there was an error, %FALSE is returned and @error is set accordingly (if +present). + + %TRUE if the blend string was successfully parsed, and the + + + + + A <link linkend="cogl-Blend-Strings">Cogl blend string</link> describing the desired blend function. + + + + + + When blending is setup to reference a CONSTANT blend factor then +blending will depend on the constant set with this function. + + + + + + The constant color you want + + + + + + Queries what user program has been associated with the given + + The current user program or %COGL_INVALID_HANDLE. + + + + + Associates a linked CoglProgram with the given material so that the +program can take full control of vertex and/or fragment processing. +This is an example of how it can be used to associate an ARBfp +program with a #CoglMaterial: +|[ +CoglHandle shader; +CoglHandle program; +CoglMaterial *material; +shader = cogl_create_shader (COGL_SHADER_TYPE_FRAGMENT); +cogl_shader_source (shader, +"!!ARBfp1.0\n" +"MOV result.color,fragment.color;\n" +"END\n"); +cogl_shader_compile (shader); +program = cogl_create_program (); +cogl_program_attach_shader (program, shader); +cogl_program_link (program); +material = cogl_material_new (); +cogl_material_set_user_program (material, program); +cogl_set_source_color4ub (0xff, 0x00, 0x00, 0xff); +cogl_rectangle (0, 0, 100, 100); +]| +It is possibly worth keeping in mind that this API is not part of +the long term design for how we want to expose shaders to Cogl +developers (We are planning on deprecating the cogl_program and +cogl_shader APIs in favour of a "snippet" framework) but in the +meantime we hope this will handle most practical GLSL and ARBfp +requirements. +Also remember you need to check for either the +%COGL_FEATURE_SHADERS_GLSL or %COGL_FEATURE_SHADERS_ARBFP before +using the cogl_program or cogl_shader API. + + + + + + A #CoglHandle to a linked CoglProgram + + + + + + In addition to the standard OpenGL lighting model a Cogl material may have +one or more layers comprised of textures that can be blended together in +order, with a number of different texture combine modes. This function +defines a new texture layer. +The index values of multiple layers do not have to be consecutive; it is +only their relative order that is important. +<note>In the future, we may define other types of material layers, such +as purely GLSL based layers.</note> + + + + + + the index of the layer + + + + a #CoglHandle for the layer object + + + + + + This function removes a layer from your material + + + + + + Specifies the layer you want to remove + + + + + + If not already familiar; you can refer +<link linkend="cogl-Blend-Strings">here</link> for an overview of what blend +strings are and there syntax. +These are all the functions available for texture combining: +<itemizedlist> +<listitem>REPLACE(arg0) = arg0</listitem> +<listitem>MODULATE(arg0, arg1) = arg0 x arg1</listitem> +<listitem>ADD(arg0, arg1) = arg0 + arg1</listitem> +<listitem>ADD_SIGNED(arg0, arg1) = arg0 + arg1 - 0.5</listitem> +<listitem>INTERPOLATE(arg0, arg1, arg2) = arg0 x arg2 + arg1 x (1 - arg2)</listitem> +<listitem>SUBTRACT(arg0, arg1) = arg0 - arg1</listitem> +<listitem> +<programlisting> +DOT3_RGB(arg0, arg1) = 4 x ((arg0[R] - 0.5)) * (arg1[R] - 0.5) + +(arg0[G] - 0.5)) * (arg1[G] - 0.5) + +(arg0[B] - 0.5)) * (arg1[B] - 0.5)) +</programlisting> +</listitem> +<listitem> +<programlisting> +DOT3_RGBA(arg0, arg1) = 4 x ((arg0[R] - 0.5)) * (arg1[R] - 0.5) + +(arg0[G] - 0.5)) * (arg1[G] - 0.5) + +(arg0[B] - 0.5)) * (arg1[B] - 0.5)) +</programlisting> +</listitem> +</itemizedlist> +Refer to the +<link linkend="cogl-Blend-String-syntax">color-source syntax</link> for +describing the arguments. The valid source names for texture combining +are: +<variablelist> +<varlistentry> +<term>TEXTURE</term> +<listitem>Use the color from the current texture layer</listitem> +</varlistentry> +<varlistentry> +<term>TEXTURE_0, TEXTURE_1, etc</term> +<listitem>Use the color from the specified texture layer</listitem> +</varlistentry> +<varlistentry> +<term>CONSTANT</term> +<listitem>Use the color from the constant given with +cogl_material_set_layer_constant()</listitem> +</varlistentry> +<varlistentry> +<term>PRIMARY</term> +<listitem>Use the color of the material as set with +cogl_material_set_color()</listitem> +</varlistentry> +<varlistentry> +<term>PREVIOUS</term> +<listitem>Either use the texture color from the previous layer, or +if this is layer 0, use the color of the material as set with +cogl_material_set_color()</listitem> +</varlistentry> +</variablelist> +<refsect2 id="cogl-Layer-Combine-Examples"> +<title>Layer Combine Examples</title> +<para>This is effectively what the default blending is:</para> +<informalexample><programlisting> +RGBA = MODULATE (PREVIOUS, TEXTURE) +</programlisting></informalexample> +<para>This could be used to cross-fade between two images, using +the alpha component of a constant as the interpolator. The constant +color is given by calling cogl_material_set_layer_constant.</para> +<informalexample><programlisting> +RGBA = INTERPOLATE (PREVIOUS, TEXTURE, CONSTANT[A]) +</programlisting></informalexample> +</refsect2> +<note>You can't give a multiplication factor for arguments as you can +with blending.</note> +described texture combining is supported by the underlying driver and +or hardware. On failure, %FALSE is returned and @error is set + + %TRUE if the blend string was successfully parsed, and the + + + + + Specifies the layer you want define a combine function for + + + + A <link linkend="cogl-Blend-Strings">Cogl blend string</link> describing the desired texture combine function. + + + + + + When you are using the 'CONSTANT' color source in a layer combine +description then you can use this function to define its value. + + + + + + Specifies the layer you want to specify a constant used for texture combining + + + + The constant color you want + + + + + + This function lets you set a matrix that can be used to e.g. translate +and rotate a single layer of a material used to fill your geometry. + + + + + + the index for the layer inside @material + + + + the transformation matrix for the layer + + + + + + This function lets you access a material's internal list of layers +for iteration. +<note>You should avoid using this API if possible since it was only +made public by mistake and will be deprecated when we have +suitable alternative.</note> +<note>It's important to understand that the list returned may not +remain valid if you modify the material or any of the layers in any +way and so you would have to re-get the list in that +situation.</note> +list of #CoglMaterialLayer<!-- -->'s that can be passed to the +cogl_material_layer_* functions. The list is owned by Cogl and it +should not be modified or freed + + A + + + + + + + Retrieves the number of layers defined for the given @material + + the number of layers + + + + + Changes the decimation and interpolation filters used when a texture is +drawn at other scales than 100%. + + + + + + the layer number to change. + + + + the filter used when scaling a texture down. + + + + the filter used when magnifying a texture. + + + + + + When rendering points, if @enable is %TRUE then the texture +coordinates for this layer will be replaced with coordinates that +vary from 0.0 to 1.0 across the primitive. The top left of the +point will have the coordinates 0.0,0.0 and the bottom right will +have 1.0,1.0. If @enable is %FALSE then the coordinates will be +fixed for the entire point. +This function will only work if %COGL_FEATURE_POINT_SPRITE is +available. If the feature is not available then the function will +return %FALSE and set @error. + + %TRUE if the function succeeds, %FALSE otherwise. + + + + + the layer number to change. + + + + whether to enable point sprite coord generation. + + + + + + Gets whether point sprite coordinate generation is enabled for this +texture layer. +point sprite coordinates. + + whether the texture coordinates will be replaced with + + + + + the layer number to check. + + + + + + Sets the wrap mode for the 's' coordinate of texture lookups on this layer. + + + + + + the layer number to change. + + + + the new wrap mode + + + + + + Sets the wrap mode for the 't' coordinate of texture lookups on this layer. + + + + + + the layer number to change. + + + + the new wrap mode + + + + + + Sets the wrap mode for the 'p' coordinate of texture lookups on +this layer. 'p' is the third coordinate. + + + + + + the layer number to change. + + + + the new wrap mode + + + + + + Sets the wrap mode for all three coordinates of texture lookups on +this layer. This is equivalent to calling +cogl_material_set_layer_wrap_mode_s(), +cogl_material_set_layer_wrap_mode_t() and +cogl_material_set_layer_wrap_mode_p() separately. + + + + + + the layer number to change. + + + + the new wrap mode + + + + + + Enables or disables depth testing according to the value of +If depth testing is enable then the #CoglDepthTestFunction set +using cogl_material_set_depth_test_function() us used to evaluate +the depth value of incoming fragments against the corresponding +value stored in the current depth buffer, and if the test passes +then the fragments depth value is used to update the depth buffer. +(unless you have disabled depth writing via +cogl_material_set_depth_writing_enabled ()) +By default depth testing is disabled. + + + + + + The enable state you want + + + + + + Gets the current depth test enabled state as previously set by +cogl_material_set_depth_test_enabled(). + + The material's current depth test enabled state. + + + + + Enables or disables depth buffer writing according to the value of +between a fragment's depth value and the corresponding depth buffer +value passes then the fragment's depth is written to the depth +buffer unless writing is disabled here. +By default depth writing is enabled + + + + + + The enable state you want + + + + + + Gets the depth writing enable state as set by the corresponding +cogl_material_set_depth_writing_enabled. + + The current depth writing enable state + + + + + Sets the #CoglDepthTestFunction used to compare the depth value of +an incoming fragment against the corresponding value in the current +depth buffer. + + + + + + The #CoglDepthTestFunction to set + + + + + + Gets the current depth test enable state as previously set via +cogl_material_set_depth_test_enabled(). + + The current depth test enable state. + + + + + Sets the range to map depth values in normalized device coordinates +to before writing out to a depth buffer. +After your geometry has be transformed, clipped and had perspective +division applied placing it in normalized device +coordinates all depth values between the near and far z clipping +planes are in the range -1 to 1. Before writing any depth value to +the depth buffer though the value is mapped into the range [0, 1]. +With this function you can change the range which depth values are +mapped too although the range must still lye within the range [0, +1]. +If your driver does not support this feature (for example you are +using GLES 1 drivers) then this will return %FALSE and set an error +if @error isn't NULL. You can check ahead of time for the +%COGL_FEATURE_DEPTH_RANGE feature with cogl_features_available() to +know if this function will succeed. +By default normalized device coordinate depth values are mapped to +the full range of depth buffer values, [0, 1]. + + %TRUE if driver support is available else %FALSE. + + + + + The near component of the desired depth range which will be clamped to the range [0, 1] + + + + The far component of the desired depth range which will be clamped to the range [0, 1] + + + + + + + + + + + + + + + + + + + + Alpha testing happens before blending primitives with the framebuffer and +gives an opportunity to discard fragments based on a comparison with the +incoming alpha value and a reference alpha value. The #CoglMaterialAlphaFunc +determines how the comparison is done. + + + + + + + + + + + Texture filtering is used whenever the current pixel maps either to more +than one texture element (texel) or less than one. These filter enums +correspond to different strategies used to come up with a pixel color, by +possibly referring to multiple neighbouring texels and taking a weighted +average or simply using the nearest texel. + + + + + + + + + + Extracts a texture handle for a specific layer. +<note>In the future Cogl may support purely GLSL based layers; for those +layers this function which will likely return %COGL_INVALID_HANDLE if you +try to get the texture handle from them. Considering this scenario, you +should call cogl_material_layer_get_type() first in order check it is of +type %COGL_MATERIAL_LAYER_TYPE_TEXTURE before calling this function.</note> + + a #CoglHandle for the texture inside the layer + + + + + Queries the currently set downscaling filter for a material layer + + the current downscaling filter + + + + + Queries the currently set downscaling filter for a material later + + the current downscaling filter + + + + + Gets the wrap mode for the 's' coordinate of texture lookups on this layer. + + the wrap mode value for the s coordinate. + + + + + Gets the wrap mode for the 't' coordinate of texture lookups on this layer. + + the wrap mode value for the t coordinate. + + + + + Gets the wrap mode for the 'p' coordinate of texture lookups on +this layer. 'p' is the third coordinate. + + the wrap mode value for the p coordinate. + + + + + + Available types of layers for a #CoglMaterial. This enumeration +might be expanded in later versions. + + + + The wrap mode specifies what happens when texture coordinates +outside the range 0→1 are used. Note that if the filter mode is +anything but %COGL_MATERIAL_FILTER_NEAREST then texels outside the +range 0→1 might be used even when the coordinate is exactly 0 or 1 +because OpenGL will try to sample neighbouring pixels. For example +if you are trying to render the full texture then you may get +artifacts around the edges when the pixels from the other side are +merged in if the wrap mode is set to repeat. + + + + + + A CoglMatrix holds a 4x4 transform matrix. This is a single precision, +column-major matrix which means it is compatible with what OpenGL expects. +A CoglMatrix can represent transforms such as, rotations, scaling, +translation, sheering, and linear projections. You can combine these +transforms by multiplying multiple matrices in the order you want them +applied. +The transformation of a vertex (x, y, z, w) by a CoglMatrix is given by: +|[ +x_new = xx * x + xy * y + xz * z + xw * w +y_new = yx * x + yy * y + yz * z + yw * w +z_new = zx * x + zy * y + zz * z + zw * w +w_new = wx * x + wy * y + wz * z + ww * w +]| +Where w is normally 1 +<note>You must consider the members of the CoglMatrix structure read only, +and all matrix modifications must be done via the cogl_matrix API. This +allows Cogl to annotate the matrices internally. Violation of this will give +undefined results. If you need to initialize a matrix with a constant other +than the identity matrix you can use cogl_matrix_init_from_array().</note> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Resets matrix to the identity matrix: +|[ +.xx=1; .xy=0; .xz=0; .xw=0; +.yx=0; .yy=1; .yz=0; .yw=0; +.zx=0; .zy=0; .zz=1; .zw=0; +.wx=0; .wy=0; .wz=0; .ww=1; +]| + + + + + + Multiplies the two supplied matrices together and stores +the resulting matrix inside @result + + + + + + A 4x4 transformation matrix + + + + A 4x4 transformation matrix + + + + + + Multiplies @matrix with a rotation matrix that applies a rotation +of @angle degrees around the specified 3D vector. + + + + + + The angle you want to rotate in degrees + + + + X component of your rotation vector + + + + Y component of your rotation vector + + + + Z component of your rotation vector + + + + + + Multiplies @matrix with a transform matrix that translates along +the X, Y and Z axis. + + + + + + The X translation you want to apply + + + + The Y translation you want to apply + + + + The Z translation you want to apply + + + + + + Multiplies @matrix with a transform matrix that scales along the X, +Y and Z axis. + + + + + + The X scale factor + + + + The Y scale factor + + + + The Z scale factor + + + + + + Multiplies @matrix by the given frustum perspective matrix. + + + + + + coord of left vertical clipping plane + + + + coord of right vertical clipping plane + + + + coord of bottom horizontal clipping plane + + + + coord of top horizontal clipping plane + + + + positive distance to near depth clipping plane + + + + positive distance to far depth clipping plane + + + + + + Multiplies @matrix by the described perspective matrix +<note>You should be careful not to have to great a @z_far / @z_near ratio +since that will reduce the effectiveness of depth testing since there wont +be enough precision to identify the depth of objects near to each +other.</note> + + + + + + A field of view angle for the Y axis + + + + The ratio of width to height determining the field of view angle for the x axis. + + + + The distance to the near clip plane. Never pass 0 and always pass a positive number. + + + + The distance to the far clip plane. (Should always be positive) + + + + + + Multiplies @matrix by a parallel projection matrix. + + + + + + The coordinate for the left clipping plane + + + + The coordinate for the right clipping plane + + + + The coordinate for the bottom clipping plane + + + + The coordinate for the top clipping plane + + + + The coordinate for the near clipping plane (may be negative if the plane is behind the viewer) + + + + The coordinate for the far clipping plane (may be negative if the plane is behind the viewer) + + + + + + Initializes @matrix with the contents of @array + + + + + + A linear array of 16 floats (column-major order) + + + + + + Casts @matrix to a float array which can be directly passed to OpenGL. + + a pointer to the float array + + + + + Gets the inverse transform of a given matrix and uses it to initialize +a new #CoglMatrix. +<note>Although the first parameter is annotated as const to indicate +that the transform it represents isn't modified this function may +technically save a copy of the inverse transform within the given +#CoglMatrix so that subsequent requests for the inverse transform may +avoid costly inversion calculations.</note> +for degenerate transformations that can't be inverted (in this case the + + %TRUE if the inverse was successfully calculated or %FALSE + + + + + The destination for a 4x4 inverse transformation matrix + + + + + + Transforms a point whos position is given and returned as four float +components. + + + + + + The X component of your points position + + + + The Y component of your points position + + + + The Z component of your points position + + + + The W component of your points position + + + + + + + + Associates some private @user_data with a given #CoglObject. To +later remove the association call cogl_object_set_user_data() with +the same @key but NULL for the @user_data. + + + + + + The address of a #CoglUserDataKey which provides a unique value with which to index the private data. + + + + The data to associate with the given object, or NULL to remove a previous association. + + + + A #CoglUserDataDestroyCallback to call if the object is destroyed or if the association is removed by later setting NULL data for the same key. + + + + + + Finds the user data previously associated with @object using +the given @key. If no user data has been associated with @object +for the given @key this function returns NULL. +the given @key; or NULL if no associated data is found. + + The user data previously associated with @object using + + + + + The address of a #CoglUserDataKey which provides a unique value with which to index the private data. + + + + + + + + + + + + + + + + + Returns a new copy of the path in @path. The new path has a +reference count of 1 so you should unref it with +cogl_object_unref() if you no longer need it. +Internally the path will share the data until one of the paths is +modified so copying paths should be relatively cheap. + + a copy of the path in @path. + + + + + + #CoglPathFillRule is used to determine how a path is filled. There +are two options - 'non-zero' and 'even-odd'. To work out whether any +point will be filled imagine drawing an infinetely long line in any +direction from that point. The number of times and the direction +that the edges of the path crosses this line determines whether the +line is filled as described below. Any open sub paths are treated +as if there was an extra line joining the first point and the last +point. +The default fill rule is %COGL_PATH_FILL_RULE_EVEN_ODD. The fill +rule is attached to the current path so preserving a path with +cogl_get_path() also preserves the fill rule. Calling +cogl_path_new() resets the current fill rule to the default. +<figure id="fill-rule-non-zero"> +<title>Example of filling various paths using the non-zero rule</title> +<graphic fileref="fill-rule-non-zero.png" format="PNG"/> +</figure> +<figure id="fill-rule-even-odd"> +<title>Example of filling various paths using the even-odd rule</title> +<graphic fileref="fill-rule-even-odd.png" format="PNG"/> +</figure> + + + + + + + + + + + + + + + + + + + + + + + + + + Pixel formats used by COGL. For the formats with a byte per +component, the order of the components specify the order in +increasing memory addresses. So for example +%COGL_PIXEL_FORMAT_RGB_888 would have the red component in the +lowest address, green in the next address and blue after that +regardless of the endinanness of the system. +For the 16-bit formats the component order specifies the order +within a 16-bit number from most significant bit to least +significant. So for %COGL_PIXEL_FORMAT_RGB_565, the red component +would be in bits 11-15, the green component would be in 6-11 and +the blue component would be in 1-5. Therefore the order in memory +depends on the endianness of the system. +When uploading a texture %COGL_PIXEL_FORMAT_ANY can be used as the +internal format. Cogl will try to pick the best format to use +internally and convert the texture data if necessary. + + + + + + + + + + + + + + + + + + + + + + + + + Flags for cogl_read_pixels() + + + + + + + + + + + + + Types of shaders + + + + + + + + Flags to pass to the cogl_texture_new_* family of functions. + + + + + + + + + + + + + Used to specify vertex information when calling cogl_polygon() + + + + + + + + + + + + + + + + + + + + + + + + + + + When associating private data with a #CoglObject a callback can be +given which will be called either if the object is destroyed or if +cogl_object_set_user_data() is called with NULL user_data for the +same key. + + + + + + The data whos association with a #CoglObject has been destoyed. + + + + + + A #CoglUserDataKey is used to declare a key for attaching data to a +#CoglObject using cogl_object_set_user_data. The typedef only exists as a +formality to make code self documenting since only the unique address of a +#CoglUserDataKey is used. +Typically you would declare a static #CoglUserDataKey and set private data +on an object something like this: +|[ +static CoglUserDataKey path_private_key; +static void +destroy_path_private_cb (void *data) +{ +g_free (data); +} +static void +my_path_set_data (CoglPath *path, void *data) +{ +cogl_object_set_user_data (COGL_OBJECT (path), +&private_key, +data, +destroy_path_private_cb); +} +]| + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + How vertices passed to cogl_vertex_buffer_draw() and +cogl_vertex_buffer_draw_elements() should be interpreted + + + + + + + + + + Computes the cosine of @angle + + the cosine of the passed angle + + + + + an angle expressed using #CoglAngle + + + + + + Computes the sine of @angle + + the sine of the passed angle + + + + + an angle expressed using #CoglAngle + + + + + + Computes the tangent of @angle + + the tangent of the passed angle + + + + + an angle expressed using #CoglAngle + + + + + + We do not advise nor reliably support the interleaving of raw GL drawing and +Cogl drawing functions, but if you insist, cogl_begin_gl() and cogl_end_gl() +provide a simple mechanism that may at least give you a fighting chance of +succeeding. +through the modification of GL state; that will never be reliably supported, +but if you are trying to do something like: +|[ +{ +- setup some OpenGL state. +- draw using OpenGL (e.g. glDrawArrays() ) +- reset modified OpenGL state. +- continue using Cogl to draw +} +]| +You should surround blocks of drawing using raw GL with cogl_begin_gl() +and cogl_end_gl(): +|[ +{ +cogl_begin_gl (); +- setup some OpenGL state. +- draw using OpenGL (e.g. glDrawArrays() ) +- reset modified OpenGL state. +cogl_end_gl (); +- continue using Cogl to draw +} +]| +Don't ever try and do: +|[ +{ +- setup some OpenGL state. +- use Cogl to draw +- reset modified OpenGL state. +} +]| +When the internals of Cogl evolves, this is very liable to break. +This function will flush all batched primitives, and subsequently flush +all internal Cogl state to OpenGL as if it were going to draw something +itself. +The result is that the OpenGL modelview matrix will be setup; the state +corresponding to the current source material will be set up and other world +state such as backface culling, depth and fogging enabledness will be sent +to OpenGL. +<note>No special material state is flushed, so if you want Cogl to setup a +simplified material state it is your responsibility to set a simple source +material before calling cogl_begin_gl(). E.g. by calling +cogl_set_source_color4ub().</note> +<note>It is your responsibility to restore any OpenGL state that you modify +to how it was after calling cogl_begin_gl() if you don't do this then the +result of further Cogl calls is undefined.</note> +<note>You can not nest begin/end blocks.</note> +Again we would like to stress, we do not advise the use of this API and if +possible we would prefer to improve Cogl than have developers require raw +OpenGL. + + + + + + Parses an image file enough to extract the width and height +of the bitmap. + + %TRUE if the image was successfully parsed + + + + + the file to check + + + + return location for the bitmap width, or %NULL + + + + return location for the bitmap height, or %NULL + + + + + + Check whether @name occurs in list of extensions in @ext. +not appropriate to expose OpenGL extensions through the Cogl API. This +function can be replaced by the following equivalent code: +|[ +]| + + %TRUE if the extension occurs in the list, %FALSE otherwise. + + + + + extension to check for + + + + list of extensions + + + + + + Clears all the auxiliary buffers identified in the @buffers mask, and if +that includes the color buffer then the specified @color is used. + + + + + + Background color to clear to + + + + A mask of #CoglBufferBit<!-- -->'s identifying which auxiliary buffers to clear + + + + + + Ensures that the current clipping region has been set in GL. This +will automatically be called before any Cogl primitives but it +maybe be neccessary to call if you are using raw GL calls with +clipping. + + + + + + Reverts the clipping region to the state before the last call to +cogl_clip_push(). + + + + + + Specifies a rectangular clipping area for all subsequent drawing +operations. Any drawing commands that extend outside the rectangle +will be clipped so that only the portion inside the rectangle will +be displayed. The rectangle dimensions are transformed by the +current model-view matrix. +The rectangle is intersected with the current clip region. To undo +the effect of this function, call cogl_clip_pop(). +with other API that specify rectangles in model space, and when used +with a coordinate space that puts the origin at the center and y+ +extending up, it's awkward to use. Please use cogl_clip_push_rectangle() +instead + + + + + + left edge of the clip rectangle + + + + top edge of the clip rectangle + + + + width of the clip rectangle + + + + height of the clip rectangle + + + + + + Sets a new clipping area using the current path. The current path +is then cleared. The clipping area is intersected with the previous +clipping area. To restore the previous clipping area, call +cogl_clip_pop(). + + + + + + Sets a new clipping area using the current path. The current path +is then cleared. The clipping area is intersected with the previous +clipping area. To restore the previous clipping area, call +cogl_clip_pop(). + + + + + + Specifies a rectangular clipping area for all subsequent drawing +operations. Any drawing commands that extend outside the rectangle +will be clipped so that only the portion inside the rectangle will +be displayed. The rectangle dimensions are transformed by the +current model-view matrix. +The rectangle is intersected with the current clip region. To undo +the effect of this function, call cogl_clip_pop(). + + + + + + x coordinate for top left corner of the clip rectangle + + + + y coordinate for top left corner of the clip rectangle + + + + x coordinate for bottom right corner of the clip rectangle + + + + y coordinate for bottom right corner of the clip rectangle + + + + + + Specifies a rectangular clipping area for all subsequent drawing +operations. Any drawing commands that extend outside the rectangle +will be clipped so that only the portion inside the rectangle will +be displayed. The rectangle dimensions are not transformed by the +current model-view matrix. +The rectangle is intersected with the current clip region. To undo +the effect of this function, call cogl_clip_pop(). + + + + + + left edge of the clip rectangle in window coordinates + + + + top edge of the clip rectangle in window coordinates + + + + width of the clip rectangle + + + + height of the clip rectangle + + + + + + Specifies a rectangular clipping area for all subsequent drawing +operations. Any drawing commands that extend outside the rectangle +will be clipped so that only the portion inside the rectangle will +be displayed. The rectangle dimensions are not transformed by the +current model-view matrix. +The rectangle is intersected with the current clip region. To undo +the effect of this function, call cogl_clip_pop(). + + + + + + left edge of the clip rectangle in window coordinates + + + + top edge of the clip rectangle in window coordinates + + + + width of the clip rectangle + + + + height of the clip rectangle + + + + + + Restore the state of the clipping stack that was previously saved +by cogl_clip_stack_save(). +the clip stack when switching back from an offscreen framebuffer, +but it's not necessary anymore given that framebuffers now own +separate clip stacks which will be automatically switched between +when a new buffer is set. Calling this function has no effect + + + + + + Save the entire state of the clipping stack and then clear all +clipping. The previous state can be returned to with +cogl_clip_stack_restore(). Each call to cogl_clip_push() after this +must be matched by a call to cogl_clip_pop() before calling +cogl_clip_stack_restore(). +clip stack when switching to an offscreen framebuffer, but it's +not necessary anymore given that framebuffers now own separate +clip stacks which will be automatically switched between when a +new buffer is set. Calling this function has no effect + + + + + + Compares two #CoglColor<!-- -->s and checks if they are the same. +This function can be passed to g_hash_table_new() as the @key_equal_func +parameter, when using #CoglColor<!-- -->s as keys in a #GHashTable. + + %TRUE if the two colors are the same. + + + + + a #CoglColor + + + + a #CoglColor + + + + + + Create a new cogl program object that can be used to replace parts of the GL +rendering pipeline with custom code. + + a new cogl program. + + + + + Create a new shader handle, use #cogl_shader_source to set the source code +to be used on it. + + a new shader handle. + + + + + COGL_SHADER_TYPE_VERTEX or COGL_SHADER_TYPE_FRAGMENT. + + + + + + This function disables fogging, so primitives drawn afterwards will not be +blended with any previously set fog color. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + This is the counterpart to cogl_begin_gl() used to delimit blocks of drawing +code using raw OpenGL. Please refer to cogl_begin_gl() for full details. + + + + + + Checks whether the given COGL features are available. Multiple +features can be checked for by or-ing them together with the '|' +operator. %TRUE is only returned if all of the requested features +are available. + + %TRUE if the features are available, %FALSE otherwise. + + + + + A bitmask of features to check for + + + + + + Computes the arc tangent of @a. + + the arc tangent of the passed value, in fixed point notation + + + + + a #CoglFixed number + + + + + + Computes the arc tangent of @a / @b but uses the sign of both +arguments to return the angle in right quadrant. +notation + + the arc tangent of the passed fraction, in fixed point + + + + + the numerator as a #CoglFixed number + + + + the denominator as a #CoglFixed number + + + + + + Computes the cosine of @angle. + + the cosine of the passed angle, in fixed point notation + + + + + a #CoglFixed number + + + + + + + + + + + + + + + + + + + Calculates base 2 logarithm. +This function is some 2.5 times faster on x86, and over 12 times faster on +fpu-less arm, than using libc log(). + + base 2 logarithm. + + + + + value to calculate base 2 logarithm from + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Calculates @x to the @y power. + + the power of @x to the @y + + + + + base + + + + #CoglFixed exponent + + + + + + Calculates 2 to the @x power. +This function is around 11 times faster on x86, and around 22 times faster +on fpu-less arm than libc pow(2, x). + + the power of 2 to the passed value + + + + + a #CoglFixed number + + + + + + Computes the sine of @angle. + + the sine of the passed angle, in fixed point notation + + + + + a #CoglFixed number + + + + + + Computes the square root of @x. +notation + + the square root of the passed value, in floating point + + + + + a #CoglFixed number + + + + + + Computes the tangent of @angle. + + the tangent of the passed angle, in fixed point notation + + + + + a #CoglFixed number + + + + + + This function should only need to be called in exceptional circumstances. +As an optimization Cogl drawing functions may batch up primitives +internally, so if you are trying to use raw GL outside of Cogl you stand a +better chance of being successful if you ask Cogl to flush any batched +geometry before making your state changes. +It only ensure that the underlying driver is issued all the commands +necessary to draw the batched primitives. It provides no guarantees about +when the driver will complete the rendering. +This provides no guarantees about the GL state upon returning and to avoid +confusing Cogl you should aim to restore any changes you make before +resuming use of Cogl. +If you are making state changes with the intention of affecting Cogl drawing +primitives you are 100% on your own since you stand a good chance of +conflicting with Cogl internals. For example clutter-gst which currently +uses direct GL calls to bind ARBfp programs will very likely break when Cogl +starts to use ARBfb programs itself for the material API. + + + + + + Replaces the current projection matrix with a perspective matrix +for the given viewing frustum. + + + + + + Left clipping plane + + + + Right clipping plane + + + + Bottom clipping plane + + + + Top clipping plane + + + + Nearest visible point + + + + Furthest visible point along the z-axis + + + + + + Queries if backface culling has been enabled via +cogl_set_backface_culling_enabled() + + %TRUE if backface culling is enabled, and %FALSE otherwise + + + + + Gets the number of bitplanes used for each of the color components +in the color buffer. Pass %NULL for any of the arguments if the +value is not required. + + + + + + Return location for the number of red bits or %NULL + + + + Return location for the number of green bits or %NULL + + + + Return location for the number of blue bits or %NULL + + + + Return location for the number of alpha bits or %NULL + + + + + + Queries if depth testing has been enabled via cogl_set_depth_test_enable() +instead. + + %TRUE if depth testing is enabled, and %FALSE otherwise + + + + + Returns all of the features supported by COGL. + + A logical OR of all the supported COGL features. + + + + + Stores the current model-view matrix in @matrix. + + + + + + return location for the model-view matrix + + + + + + Retrieves the #GOptionGroup used by COGL to parse the command +line options. Clutter uses this to handle the COGL command line +options during its initialization process. + + a #GOptionGroup + + + + + Gets a pointer to the current path. The path can later be used +again by calling cogl_path_set(). Note that the path isn't copied +so if you later call any functions to add to the path it will +affect the returned object too. No reference is taken on the path +so if you want to retain it you should take your own reference with +cogl_object_ref(). + + a pointer to the current path. + + + + + Gets a pointer to a given GL or GL ES extension function. This acts +as a wrapper around glXGetProcAddress() or whatever is the +appropriate function for the current backend. +function is not available. + + a pointer to the requested function or %NULL if the + + + + + the name of the function. + + + + + + Stores the current projection matrix in @matrix. + + + + + + return location for the projection matrix + + + + + + Stores the current viewport in @v. @v[0] and @v[1] get the x and y +position of the viewport and @v[2] and @v[3] get the width and +height. + + + + + + pointer to a 4 element array of #float<!-- -->s to receive the viewport dimensions. + + + + + + + + Checks whether @handle is a #CoglHandle for a bitmap +and %FALSE otherwise + + %TRUE if the passed handle represents a bitmap, + + + + + a #CoglHandle for a bitmap + + + + + + + + + + + + + + + + Gets whether the given handle references an existing material object. +%FALSE otherwise + + %TRUE if the handle references a #CoglMaterial, + + + + + A CoglHandle + + + + + + Determines whether the given #CoglHandle references an offscreen buffer +object. +%FALSE otherwise + + %TRUE if the handle references an offscreen buffer, + + + + + A CoglHandle for an offscreen buffer + + + + + + Gets whether the given handle references an existing path object. +%FALSE otherwise + + %TRUE if the handle references a #CoglPath, + + + + + A CoglHandle + + + + + + + + + + + + + + + + Gets whether the given handle references an existing program object. +%FALSE otherwise + + %TRUE if the handle references a program, + + + + + A CoglHandle + + + + + + Gets whether the given handle references an existing shader object. +%FALSE otherwise + + %TRUE if the handle references a shader, + + + + + A CoglHandle + + + + + + Gets whether the given handle references an existing texture object. +%FALSE otherwise + + %TRUE if the handle references a texture, and + + + + + A CoglHandle + + + + + + + + + + + + + + + + + + + + + + + + + + Checks whether @handle is a Vertex Buffer Object +otherwise + + %TRUE if the handle is a VBO, and %FALSE + + + + + a #CoglHandle for a vertex buffer object + + + + + + Checks whether @handle is a handle to the indices for a vertex +buffer object +otherwise + + %TRUE if the handle is indices, and %FALSE + + + + + a #CoglHandle + + + + + + Get the size of points drawn when %COGL_VERTICES_MODE_POINTS is +used with the vertex buffer API. + + the point size of the material. + + + + + a #CoglHandle to a material. + + + + + + Retrieves the type of the layer +Currently there is only one type of layer defined: +%COGL_MATERIAL_LAYER_TYPE_TEXTURE, but considering we may add purely GLSL +based layers in the future, you should write code that checks the type +first. + + the type of the layer + + + + + A #CoglMaterialLayer object + + + + + + Increment the reference count for a #CoglMaterial. + + the @material. + + + + + + + + + + Changes the size of points drawn when %COGL_VERTICES_MODE_POINTS is +used with the vertex buffer API. Note that typically the GPU will +only support a limited minimum and maximum range of point sizes. If +the chosen point size is outside that range then the nearest value +within that range will be used instead. The size of a point is in +screen space so it will be the same regardless of any +transformations. The default point size is 1.0. + + + + + + a #CoglHandle to a material. + + + + + + + + + Decrement the reference count for a #CoglMaterial. + + + + + + + + + + + Compares two matrices to see if they represent the same +transformation. Although internally the matrices may have different +annotations associated with them and may potentially have a cached +inverse matrix these are not considered in the comparison. + + + + + + A 4x4 transformation matrix + + + + A 4x4 transformation matrix + + + + + + Increases the reference count of @handle by 1 + + the @object, with its reference count increased + + + + + a #CoglObject + + + + + + Drecreases the reference count of @object by 1; if the reference +count reaches 0, the resources allocated by @object will be freed + + + + + + a #CoglObject + + + + + + This creates an offscreen buffer object using the given texture as the +primary color buffer. It doesn't just initialize the contents of the +offscreen buffer with the texture; they are tightly bound so that +drawing to the offscreen buffer effectivly updates the contents of the +given texture. You don't need to destroy the offscreen buffer before +you can use the texture again. +if it wasn't possible to create the buffer. + + a #CoglHandle for the new offscreen buffer or %COGL_INVALID_HANDLE + + + + + A CoglHandle for a Cogl texture + + + + + + Increments the reference count on the offscreen buffer. + + For convenience it returns the given CoglHandle + + + + + A CoglHandle for an offscreen buffer + + + + + + Decreases the reference count for the offscreen buffer and frees it when +the count reaches 0. + + + + + + A CoglHandle for an offscreen buffer + + + + + + Replaces the current projection matrix with an orthographic projection +matrix. See <xref linkend="cogl-ortho-matrix"/> to see how the matrix is +calculated. +<figure id="cogl-ortho-matrix"> +<title></title> +<graphic fileref="cogl_ortho.png" format="PNG"/> +</figure> +<note>This function copies the arguments from OpenGL's glOrtho() even +though they are unnecessarily confusing due to the z near and z far +arguments actually being a "distance" from the origin, where +negative values are behind the viewer, instead of coordinates for +the z clipping planes which would have been consistent with the +left, right bottom and top arguments.</note> + + + + + + The coordinate for the left clipping plane + + + + The coordinate for the right clipping plane + + + + The coordinate for the bottom clipping plane + + + + The coordinate for the top clipping plane + + + + The <emphasis>distance</emphasis> to the near clipping plane (negative if the plane is behind the viewer) + + + + The <emphasis>distance</emphasis> for the far clipping plane (negative if the plane is behind the viewer) + + + + + + Adds an elliptical arc segment to the current path. A straight line +segment will link the current pen location with the first vertex +of the arc. If you perform a move_to to the arcs start just before +drawing it you create a free standing arc. +The angles are measured in degrees where 0° is in the direction of +the positive X axis and 90° is in the direction of the positive Y +axis. The angle of the arc begins at @angle_1 and heads towards +otherwise it will increase). + + + + + + X coordinate of the elliptical arc center + + + + Y coordinate of the elliptical arc center + + + + X radius of the elliptical arc + + + + Y radius of the elliptical arc + + + + Angle in degrees at which the arc begin + + + + Angle in degrees at which the arc ends + + + + + + Closes the path being constructed by adding a straight line segment +to it that ends at the first vertex of the path. + + + + + + Adds a cubic bezier curve segment to the current path with the given +second, third and fourth control points and using current pen location +as the first control point. + + + + + + X coordinate of the second bezier control point + + + + Y coordinate of the second bezier control point + + + + X coordinate of the third bezier control point + + + + Y coordinate of the third bezier control point + + + + X coordinate of the fourth bezier control point + + + + Y coordinate of the fourth bezier control point + + + + + + Constructs an ellipse shape. If there is an existing path this will +start a new disjoint sub-path. + + + + + + X coordinate of the ellipse center + + + + Y coordinate of the ellipse center + + + + X radius of the ellipse + + + + Y radius of the ellipse + + + + + + Fills the interior of the constructed shape using the current +drawing color. The current path is then cleared. To use the path +again, call cogl_path_fill_preserve() instead. +The interior of the shape is determined using the fill rule of the +path. See %CoglPathFillRule for details. + + + + + + Fills the interior of the constructed shape using the current +drawing color and preserves the path to be used again. See +cogl_path_fill() for a description what is considered the interior +of the shape. + + + + + + + the fill rule that is used for the current path. + + + + + Constructs a straight line shape starting and ending at the given +coordinates. If there is an existing path this will start a new +disjoint sub-path. + + + + + + X coordinate of the start line vertex + + + + Y coordinate of the start line vertex + + + + X coordinate of the end line vertex + + + + Y coordinate of the end line vertex + + + + + + Adds a straight line segment to the current path that ends at the +given coordinates. + + + + + + X coordinate of the end line vertex + + + + Y coordinate of the end line vertex + + + + + + Moves the pen to the given location. If there is an existing path +this will start a new disjoint subpath. + + + + + + X coordinate of the pen location to move to. + + + + Y coordinate of the pen location to move to. + + + + + + Clears the current path and starts a new one. Creating a new path +also resets the fill rule to the default which is +%COGL_PATH_FILL_RULE_EVEN_ODD. + + + + + + Constructs a polygonal shape of the given number of vertices. If +there is an existing path this will start a new disjoint sub-path. +The coords array must contain 2 * num_points values. The first value +represents the X coordinate of the first vertex, the second value +represents the Y coordinate of the first vertex, continuing in the same +fashion for the rest of the vertices. + + + + + + A pointer to the first element of an array of fixed-point values that specify the vertex coordinates. + + + + + + The total number of vertices. + + + + + + Constructs a series of straight line segments, starting from the +first given vertex coordinate. If there is an existing path this +will start a new disjoint sub-path. Each subsequent segment starts +where the previous one ended and ends at the next given vertex +coordinate. +The coords array must contain 2 * num_points values. The first value +represents the X coordinate of the first vertex, the second value +represents the Y coordinate of the first vertex, continuing in the same +fashion for the rest of the vertices. (num_points - 1) segments will +be constructed. + + + + + + A pointer to the first element of an array of fixed-point values that specify the vertex coordinates. + + + + + + The total number of vertices. + + + + + + Constructs a rectangular shape at the given coordinates. If there +is an existing path this will start a new disjoint sub-path. + + + + + + X coordinate of the top-left corner. + + + + Y coordinate of the top-left corner. + + + + X coordinate of the bottom-right corner. + + + + Y coordinate of the bottom-right corner. + + + + + + Adds a cubic bezier curve segment to the current path with the given +second, third and fourth control points and using current pen location +as the first control point. The given coordinates are relative to the +current pen location. + + + + + + X coordinate of the second bezier control point + + + + Y coordinate of the second bezier control point + + + + X coordinate of the third bezier control point + + + + Y coordinate of the third bezier control point + + + + X coordinate of the fourth bezier control point + + + + Y coordinate of the fourth bezier control point + + + + + + Adds a straight line segment to the current path that ends at the +given coordinates relative to the current pen location. + + + + + + X offset from the current pen location of the end line vertex + + + + Y offset from the current pen location of the end line vertex + + + + + + Moves the pen to the given offset relative to the current pen +location. If there is an existing path this will start a new +disjoint subpath. + + + + + + X offset from the current pen location to move the pen to. + + + + Y offset from the current pen location to move the pen to. + + + + + + Constructs a rectangular shape with rounded corners. If there is an +existing path this will start a new disjoint sub-path. + + + + + + X coordinate of the top-left corner. + + + + Y coordinate of the top-left corner. + + + + X coordinate of the bottom-right corner. + + + + Y coordinate of the bottom-right corner. + + + + Radius of the corner arcs. + + + + Angle increment resolution for subdivision of the corner arcs. + + + + + + Sets the fill rule of the current path to @fill_rule. This will +affect how the path is filled when cogl_path_fill() is later +called. Note that the fill rule state is attached to the path so +calling cogl_get_path() will preserve the fill rule and calling +cogl_path_new() will reset the fill rule back to the default. + + + + + + The new fill rule. + + + + + + Strokes the constructed shape using the current drawing color and a +width of 1 pixel (regardless of the current transformation +matrix). To current path is then cleared. To use the path again, +call cogl_path_stroke_preserve() instead. + + + + + + Strokes the constructed shape using the current drawing color and +preserves the path to be used again. + + + + + + Replaces the current projection matrix with a perspective matrix +based on the provided values. + + + + + + Vertical of view angle in degrees. + + + + Aspect ratio of diesplay + + + + Nearest visible point + + + + Furthest visible point along the z-axis + + + + + + Draws a convex polygon using the current source material to fill / texture +with according to the texture coordinates passed. +If @use_color is %TRUE then the color will be changed for each vertex using +the value specified in the color member of #CoglTextureVertex. This can be +used for example to make the texture fade out by setting the alpha value of +the color. +All of the texture coordinates must be in the range [0,1] and repeating the +texture is not supported. +Because of the way this function is implemented it will currently +only work if either the texture is not sliced or the backend is not +OpenGL ES and the minifying and magnifying functions are both set +to COGL_MATERIAL_FILTER_NEAREST. + + + + + + An array of #CoglTextureVertex structs + + + + The length of the vertices array + + + + %TRUE if the color member of #CoglTextureVertex should be used + + + + + + Restore cogl_set_draw_buffer() state. + + + + + + Restores the framebuffer that was previously at the top of the stack. +All subsequent drawing will be redirected to this framebuffer. + + + + + + Restores the current model-view matrix from the matrix stack. + + + + + + Attaches a shader to a program object, a program can have one vertex shader +and one fragment shader attached. + + + + + + a #CoglHandle for a shdaer program. + + + + a #CoglHandle for a vertex of fragment shader. + + + + + + Retrieve the location (offset) of a uniform variable in a shader program, +a uniform is a variable that is constant for all vertices/fragments for a +shader object and is possible to modify as an external parameter. +This uniform can be set using cogl_program_uniform_1f() when the +program is in use. + + the offset of a uniform in a specified program. + + + + + a #CoglHandle for a shader program. + + + + the name of a uniform. + + + + + + Links a program making it ready for use. + + + + + + a #CoglHandle for a shader program. + + + + + + Add an extra reference to a program. + + @handle + + + + + A #CoglHandle to a program. + + + + + + Changes the value of a floating point uniform for the given linked + + + + + + A #CoglHandle for a linked program + + + + the uniform location retrieved from cogl_program_get_uniform_location(). + + + + the new value of the uniform. + + + + + + Changes the value of an integer uniform for the given linked + + + + + + A #CoglHandle for a linked program + + + + the uniform location retrieved from cogl_program_get_uniform_location(). + + + + the new value of the uniform. + + + + + + Changes the value of a float vector uniform, or uniform array for +the given linked @program. + + + + + + A #CoglHandle for a linked program + + + + the uniform location retrieved from cogl_program_get_uniform_location(). + + + + The number of components for the uniform. For example with glsl you'd use 3 for a vec3 or 4 for a vec4. + + + + For uniform arrays this is the array length otherwise just pass 1 + + + + the new value of the uniform[s]. + + + + + + + + Changes the value of a int vector uniform, or uniform array for +the given linked @program. + + + + + + A #CoglHandle for a linked program + + + + the uniform location retrieved from cogl_program_get_uniform_location(). + + + + The number of components for the uniform. For example with glsl you'd use 3 for a vec3 or 4 for a vec4. + + + + For uniform arrays this is the array length otherwise just pass 1 + + + + the new value of the uniform[s]. + + + + + + + + Changes the value of a matrix uniform, or uniform array in the +given linked @program. + + + + + + A #CoglHandle for a linked program + + + + the uniform location retrieved from cogl_program_get_uniform_location(). + + + + The dimensions of the matrix. So for for example pass 2 for a 2x2 matrix or 3 for 3x3. + + + + For uniform arrays this is the array length otherwise just pass 1 + + + + Whether to transpose the matrix when setting the uniform. + + + + the new value of the uniform. + + + + + + + + Changes the value of a floating point uniform in the currently +used (see cogl_program_use()) shader program. + + + + + + the uniform to set. + + + + the new value of the uniform. + + + + + + Changes the value of an integer uniform in the currently +used (see cogl_program_use()) shader program. + + + + + + the uniform to set. + + + + the new value of the uniform. + + + + + + Changes the value of a float vector uniform, or uniform array in the +currently used (see cogl_program_use()) shader program. + + + + + + the uniform to set. + + + + Size of float vector. + + + + Size of array of uniforms. + + + + the new value of the uniform. + + + + + + + + Changes the value of a int vector uniform, or uniform array in the +currently used (see cogl_program_use()) shader program. + + + + + + the uniform to set. + + + + Size of int vector. + + + + Size of array of uniforms. + + + + the new value of the uniform. + + + + + + + + Changes the value of a matrix uniform, or uniform array in the +currently used (see cogl_program_use()) shader program. The @size +parameter is used to determine the square size of the matrix. + + + + + + the uniform to set. + + + + Size of matrix. + + + + Size of array of uniforms. + + + + Whether to transpose the matrix when setting the uniform. + + + + the new value of the uniform. + + + + + + + + Removes a reference to a program. If it was the last reference the +program object will be destroyed. + + + + + + A #CoglHandle to a program. + + + + + + Activate a specific shader program replacing that part of the GL +rendering pipeline, if passed in %COGL_INVALID_HANDLE the default +behavior of GL is reinstated. + + + + + + a #CoglHandle for a shader program or %COGL_INVALID_HANDLE. + + + + + + Save cogl_set_draw_buffer() state. + + + + + + Redirects all subsequent drawing to the specified framebuffer. This can +either be an offscreen buffer created with cogl_offscreen_new_to_texture () +or in the future it may be an onscreen framebuffer too. +You should understand that a framebuffer owns the following state: +<itemizedlist> +<listitem><simpara>The projection matrix</simpara></listitem> +<listitem><simpara>The modelview matrix stack</simpara></listitem> +<listitem><simpara>The viewport</simpara></listitem> +<listitem><simpara>The clip stack</simpara></listitem> +</itemizedlist> +So these items will automatically be saved and restored when you +push and pop between different framebuffers. +Also remember a newly allocated framebuffer will have an identity matrix for +the projection and modelview matrices which gives you a coordinate space +like OpenGL with (-1, -1) corresponding to the top left of the viewport, +(1, 1) corresponding to the bottom right and +z coming out towards the +viewer. +If you want to set up a coordinate space like Clutter does with (0, 0) +corresponding to the top left and (framebuffer_width, framebuffer_height) +corresponding to the bottom right you can do so like this: +|[ +static void +setup_viewport (unsigned int width, +unsigned int height, +float fovy, +float aspect, +float z_near, +float z_far) +{ +float z_camera; +CoglMatrix projection_matrix; +CoglMatrix mv_matrix; +cogl_set_viewport (0, 0, width, height); +cogl_perspective (fovy, aspect, z_near, z_far); +cogl_get_projection_matrix (&amp;projection_matrix); +z_camera = 0.5 * projection_matrix.xx; +cogl_matrix_init_identity (&amp;mv_matrix); +cogl_matrix_translate (&amp;mv_matrix, -0.5f, -0.5f, -z_camera); +cogl_matrix_scale (&amp;mv_matrix, 1.0f / width, -1.0f / height, 1.0f / width); +cogl_matrix_translate (&amp;mv_matrix, 0.0f, -1.0 * height, 0.0f); +cogl_set_modelview_matrix (&amp;mv_matrix); +} +static void +my_init_framebuffer (ClutterStage *stage, +CoglFramebuffer *framebuffer, +unsigned int framebuffer_width, +unsigned int framebuffer_height) +{ +ClutterPerspective perspective; +clutter_stage_get_perspective (stage, &perspective); +cogl_push_framebuffer (framebuffer); +setup_viewport (framebuffer_width, +framebuffer_height, +perspective.fovy, +perspective.aspect, +perspective.z_near, +perspective.z_far); +} +]| +The previous framebuffer can be restored by calling cogl_pop_framebuffer() + + + + + + A #CoglFramebuffer object, either onscreen or offscreen. + + + + + + Stores the current model-view matrix on the matrix stack. The matrix +can later be restored with cogl_pop_matrix(). + + + + + + This reads a rectangle of pixels from the current framebuffer where +position (0, 0) is the top left. The pixel at (x, y) is the first +read, and the data is returned with a rowstride of (width * 4). +Currently Cogl assumes that the framebuffer is in a premultiplied +format so if @format is non-premultiplied it will convert it. To +read the pixel values without any conversion you should either +specify a format that doesn't use an alpha channel or use one of +the formats ending in PRE. + + + + + + The window x position to start reading from + + + + The window y position to start reading from + + + + The width of the rectangle you want to read + + + + The height of the rectangle you want to read + + + + Identifies which auxillary buffer you want to read (only COGL_READ_PIXELS_COLOR_BUFFER supported currently) + + + + The pixel format you want the result in (only COGL_PIXEL_FORMAT_RGBA_8888 supported currently) + + + + The location to write the pixel data. + + + + + + + + Fills a rectangle at the given coordinates with the current source material + + + + + + X coordinate of the top-left corner + + + + Y coordinate of the top-left corner + + + + X coordinate of the bottom-right corner + + + + Y coordinate of the bottom-right corner + + + + + + This function draws a rectangle using the current source material to +texture or fill with. As a material may contain multiple texture layers +this interface lets you supply texture coordinates for each layer of the +material. +The first pair of coordinates are for the first layer (with the smallest +layer index) and if you supply less texture coordinates than there are +layers in the current source material then default texture coordinates +(0.0, 0.0, 1.0, 1.0) are generated. + + + + + + x coordinate upper left on screen. + + + + y coordinate upper left on screen. + + + + x coordinate lower right on screen. + + + + y coordinate lower right on screen. + + + + An array containing groups of 4 float values: [tx1, ty1, tx2, ty2] that are interpreted as two texture coordinates; one for the upper left texel, and one for the lower right texel. Each value should be between 0.0 and 1.0, where the coordinate (0.0, 0.0) represents the top left of the texture, and (1.0, 1.0) the bottom right. + + + + + + The length of the tex_coords array. (e.g. for one layer and one group of texture coordinates, this would be 4) + + + + + + Draw a rectangle using the current material and supply texture coordinates +to be used for the first texture layer of the material. To draw the entire +texture pass in @tx1=0.0 @ty1=0.0 @tx2=1.0 @ty2=1.0. + + + + + + x coordinate upper left on screen. + + + + y coordinate upper left on screen. + + + + x coordinate lower right on screen. + + + + y coordinate lower right on screen. + + + + x part of texture coordinate to use for upper left pixel + + + + y part of texture coordinate to use for upper left pixel + + + + x part of texture coordinate to use for lower right pixel + + + + y part of texture coordinate to use for left pixel + + + + + + Draws a series of rectangles in the same way that +cogl_rectangle() does. In some situations it can give a +significant performance boost to use this function rather than +calling cogl_rectangle() separately for each rectangle. +parameters x1, y1, x2, and y2, and have the same +meaning as in cogl_rectangle(). + + + + + + an array of vertices + + + + + + number of rectangles to draw + + + + + + Draws a series of rectangles in the same way that +cogl_rectangle_with_texture_coords() does. In some situations it can give a +significant performance boost to use this function rather than +calling cogl_rectangle_with_texture_coords() separately for each rectangle. +parameters x1, y1, x2, y2, tx1, ty1, tx2 and ty2 and have the same +meaning as in cogl_rectangle_with_texture_coords(). + + + + + + an array of vertices + + + + + + number of rectangles to draw + + + + + + Multiplies the current model-view matrix by one that rotates the +model around the vertex specified by @x, @y and @z. The rotation +follows the right-hand thumb rule so for example rotating by 10 +degrees about the vertex (0, 0, 1) causes a small counter-clockwise +rotation. + + + + + + Angle in degrees to rotate. + + + + X-component of vertex to rotate around. + + + + Y-component of vertex to rotate around. + + + + Z-component of vertex to rotate around. + + + + + + Multiplies the current model-view matrix by one that scales the x, +y and z axes by the given values. + + + + + + Amount to scale along the x-axis + + + + Amount to scale along the y-axis + + + + Amount to scale along the z-axis + + + + + + Sets whether textures positioned so that their backface is showing +should be hidden. This can be used to efficiently draw two-sided +textures or fully closed cubes without enabling depth testing. This +only affects calls to the cogl_rectangle* family of functions and +cogl_vertex_buffer_draw*. Backface culling is disabled by default. + + + + + + %TRUE to enable backface culling or %FALSE to disable. + + + + + + Sets whether depth testing is enabled. If it is disabled then the +order that actors are layered on the screen depends solely on the +order specified using clutter_actor_raise() and +clutter_actor_lower(), otherwise it will also take into account the +actor's depth. Depth testing is disabled by default. +instead. + + + + + + %TRUE to enable depth testing or %FALSE to disable. + + + + + + Redirects all subsequent drawing to the specified framebuffer. This +can either be an offscreen buffer created with +cogl_offscreen_new_to_texture () or you can revert to your original +on screen window buffer. +the type of CoglHandle given instead. + + + + + + A #CoglBufferTarget that specifies what kind of framebuffer you are setting as the render target. + + + + If you are setting a framebuffer of type COGL_OFFSCREEN_BUFFER then this is a CoglHandle for the offscreen buffer. + + + + + + Enables fogging. Fogging causes vertices that are further away from the eye +to be rendered with a different color. The color is determined according to +the chosen fog mode; at it's simplest the color is linearly interpolated so +that vertices at @z_near are drawn fully with their original color and +vertices at @z_far are drawn fully with @fog_color. Fogging will remain +enabled until you call cogl_disable_fog(). +<note>The fogging functions only work correctly when primitives use +unmultiplied alpha colors. By default Cogl will premultiply textures +and cogl_set_source_color() will premultiply colors, so unless you +explicitly load your textures requesting an unmultiplied internal format +and use cogl_material_set_color() you can only use fogging with fully +opaque primitives. This might improve in the future when we can depend +on fragment shaders.</note> + + + + + + The color of the fog + + + + A #CoglFogMode that determines the equation used to calculate the fogging blend factor. + + + + Used by %COGL_FOG_MODE_EXPONENTIAL and by %COGL_FOG_MODE_EXPONENTIAL_SQUARED equations. + + + + Position along Z axis where no fogging should be applied + + + + Position along Z axis where full fogging should be applied + + + + + + This redirects all subsequent drawing to the specified framebuffer. This can +either be an offscreen buffer created with cogl_offscreen_new_to_texture () +or in the future it may be an onscreen framebuffers too. + + + + + + A #CoglFramebuffer object, either onscreen or offscreen. + + + + + + Loads @matrix as the new model-view matrix. + + + + + + the new model-view matrix + + + + + + Replaces the current path with @path. A reference is taken on the +object so if you no longer need the path you should unref with +cogl_object_unref(). + + + + + + A #CoglPath object + + + + + + Loads matrix as the new projection matrix. + + + + + + the new projection matrix + + + + + + This function sets the source material that will be used to fill subsequent +geometry emitted via the cogl API. +<note>In the future we may add the ability to set a front facing material, +and a back facing material, in which case this function will set both to the +same.</note> + + + + + + A #CoglHandle for a material + + + + + + This is a convenience function for creating a solid fill source material +from the given color. This color will be used for any subsequent drawing +operation. +The color will be premultiplied by Cogl, so the color should be +semi-transparent red. +See also cogl_set_source_color4ub() and cogl_set_source_color4f() +if you already have the color components. + + + + + + a #CoglColor + + + + + + This is a convenience function for creating a solid fill source material +from the given color using normalized values for each component. This color +will be used for any subsequent drawing operation. +The value for each component is a fixed point number in the range +between 0 and %1.0. If the values passed in are outside that +range, they will be clamped. + + + + + + value of the red channel, between 0 and %1.0 + + + + value of the green channel, between 0 and %1.0 + + + + value of the blue channel, between 0 and %1.0 + + + + value of the alpha channel, between 0 and %1.0 + + + + + + This is a convenience function for creating a solid fill source material +from the given color using unsigned bytes for each component. This +color will be used for any subsequent drawing operation. +The value for each component is an unsigned byte in the range +between 0 and 255. + + + + + + value of the red channel, between 0 and 255 + + + + value of the green channel, between 0 and 255 + + + + value of the blue channel, between 0 and 255 + + + + value of the alpha channel, between 0 and 255 + + + + + + This is a convenience function for creating a material with the first +layer set to #texture_handle and setting that material as the source with +cogl_set_source. +and cogl_set_source_texture. If you need to blend a texture with a color then +you can create a simple material like this: +<programlisting> +material = cogl_material_new (); +cogl_material_set_color4ub (material, 0xff, 0x00, 0x00, 0x80); +cogl_material_set_layer (material, 0, tex_handle); +cogl_set_source (material); +</programlisting> + + + + + + The Cogl texture you want as your source + + + + + + Replaces the current viewport with the given values. + + + + + + X offset of the viewport + + + + Y offset of the viewport + + + + Width of the viewport + + + + Height of the viewport + + + + + + Compiles the shader, no return value, but the shader is now ready for +linking into a program. + + + + + + #CoglHandle for a shader. + + + + + + Retrieves the information log for a coglobject, can be used in conjunction +with cogl_shader_get_parameteriv() to retrieve the compiler warnings/error +messages that caused a shader to not compile correctly, mainly useful for +debugging purposes. +g_free() to free it + + a newly allocated string containing the info log. Use + + + + + #CoglHandle for a shader. + + + + + + Retrieves the type of a shader #CoglHandle +or %COGL_SHADER_TYPE_FRAGMENT if the shader is a frament processor + + %COGL_SHADER_TYPE_VERTEX if the shader is a vertex processor + + + + + #CoglHandle for a shader. + + + + + + Retrieves whether a shader #CoglHandle has been compiled + + %TRUE if the shader object has sucessfully be compiled + + + + + #CoglHandle for a shader. + + + + + + Add an extra reference to a shader. + + @handle + + + + + A #CoglHandle to a shader. + + + + + + Replaces the current GLSL source associated with a shader with a new +one. + + + + + + #CoglHandle for a shader. + + + + GLSL shader source. + + + + + + Removes a reference to a shader. If it was the last reference the +shader object will be destroyed. + + + + + + A #CoglHandle to a shader. + + + + + + Very fast fixed point implementation of square root for integers. +This function is at least 6x faster than clib sqrt() on x86, and (this is +not a typo!) about 500x faster on ARM without FPU. It's error is less than +5% for arguments smaller than %COGL_SQRTI_ARG_5_PERCENT and less than 10% +for narguments smaller than %COGL_SQRTI_ARG_10_PERCENT. The maximum +argument that can be passed to this function is %COGL_SQRTI_ARG_MAX. + + integer square root. + + + + + integer value + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Copies the pixel data from a cogl texture to system memory. +is not valid + + the size of the texture data in bytes, or 0 if the texture + + + + + a #CoglHandle for a texture. + + + + the #CoglPixelFormat to store the texture as. + + + + the rowstride of @data or retrieved from texture if none is specified. + + + + memory location to write contents of buffer, or %NULL if we're only querying the data size through the return value. + + + + + + + + Queries the #CoglPixelFormat of a cogl texture. + + the #CoglPixelFormat of the GPU side texture + + + + + a #CoglHandle for a texture. + + + + + + Queries the GL handles for a GPU side texture through its #CoglHandle. +If the texture is spliced the data for the first sub texture will be +queried. +if the handle was invalid + + %TRUE if the handle was successfully retrieved, %FALSE + + + + + a #CoglHandle for a texture. + + + + pointer to return location for the textures GL handle, or %NULL. + + + + pointer to return location for the GL target type, or %NULL. + + + + + + Queries the height of a cogl texture. + + the height of the GPU side texture in pixels + + + + + a #CoglHandle for a texture. + + + + + + Queries the maximum wasted (unused) pixels in one dimension of a GPU side +texture. + + the maximum waste + + + + + a #CoglHandle for a texture. + + + + + + Queries the rowstride of a cogl texture. + + the offset in bytes between each consequetive row of pixels + + + + + a #CoglHandle for a texture. + + + + + + Queries the width of a cogl texture. + + the width of the GPU side texture in pixels + + + + + a #CoglHandle for a texture. + + + + + + Queries if a texture is sliced (stored as multiple GPU side tecture +objects). +is stored as a single GPU texture + + %TRUE if the texture is sliced, %FALSE if the texture + + + + + a #CoglHandle for a texture. + + + + + + Creates a COGL texture from a CoglBitmap. +%COGL_INVALID_HANDLE on failure + + a #CoglHandle to the newly created texture or + + + + + A CoglBitmap handle + + + + Optional flags for the texture, or %COGL_TEXTURE_NONE + + + + the #CoglPixelFormat to use for the GPU storage of the texture + + + + + + Creates a new texture using the buffer specified by @handle. If the buffer +has been created using cogl_pixel_buffer_new_for_size() it's possible to omit +the height and width values already specified at creation time. +failure + + a #CoglHandle to the new texture or %COGL_INVALID_HANDLE on + + + + + the #CoglHandle of a pixel buffer + + + + width of texture in pixels or 0 + + + + height of texture in pixels or 0 + + + + optional flags for the texture, or %COGL_TEXTURE_NONE + + + + the #CoglPixelFormat the buffer is stored in in RAM + + + + the #CoglPixelFormat that will be used for storing the buffer on the GPU. If %COGL_PIXEL_FORMAT_ANY is given then a premultiplied format similar to the format of the source data will be used. The default blending equations of Cogl expect premultiplied color data; the main use of passing a non-premultiplied format here is if you have non-premultiplied source data and are going to adjust the blend mode (see cogl_material_set_blend()) or use the data for something other than straight blending + + + + the memory offset in bytes between the starts of scanlines in @data. If 0 is given the row stride will be deduced from + + + + offset in bytes in @buffer from where the texture data starts + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Creates a new COGL texture based on data residing in memory. +%COGL_INVALID_HANDLE on failure + + a #CoglHandle to the newly created texture or + + + + + width of texture in pixels + + + + height of texture in pixels + + + + Optional flags for the texture, or %COGL_TEXTURE_NONE + + + + the #CoglPixelFormat the buffer is stored in in RAM + + + + the #CoglPixelFormat that will be used for storing the buffer on the GPU. If COGL_PIXEL_FORMAT_ANY is given then a premultiplied format similar to the format of the source data will be used. The default blending equations of Cogl expect premultiplied color data; the main use of passing a non-premultiplied format here is if you have non-premultiplied source data and are going to adjust the blend mode (see cogl_material_set_blend()) or use the data for something other than straight blending. + + + + the memory offset in bytes between the starts of scanlines in @data + + + + pointer the memory region where the source buffer resides + + + + + + + + Creates a COGL texture from an image file. +%COGL_INVALID_HANDLE on failure + + a #CoglHandle to the newly created texture or + + + + + the file to load + + + + Optional flags for the texture, or %COGL_TEXTURE_NONE + + + + the #CoglPixelFormat to use for the GPU storage of the texture. If %COGL_PIXEL_FORMAT_ANY is given then a premultiplied format similar to the format of the source data will be used. The default blending equations of Cogl expect premultiplied color data; the main use of passing a non-premultiplied format here is if you have non-premultiplied source data and are going to adjust the blend mode (see cogl_material_set_blend()) or use the data for something other than straight blending. + + + + + + Creates a COGL texture based on an existing OpenGL texture; the +width, height and format are passed along since it is not always +possible to query these from OpenGL. +The waste arguments allow you to create a Cogl texture that maps to +a region smaller than the real OpenGL texture. For instance if your +hardware only supports power-of-two textures you may load a +non-power-of-two image into a larger power-of-two texture and use +the waste arguments to tell Cogl which region should be mapped to +the texture coordinate range [0:1]. +%COGL_INVALID_HANDLE on failure + + a #CoglHandle to the newly created texture or + + + + + opengl handle of foreign texture. + + + + opengl target type of foreign texture + + + + width of foreign texture + + + + height of foreign texture. + + + + horizontal waste on the right hand edge of the texture. + + + + vertical waste on the bottom edge of the texture. + + + + format of the foreign texture. + + + + + + Creates a new texture which represents a subregion of another +texture. The GL resources will be shared so that no new texture +data is actually allocated. +Sub textures have undefined behaviour texture coordinates outside +of the range [0,1] are used. They also do not work with +CoglVertexBuffers. +The sub texture will keep a reference to the full texture so you do +not need to keep one separately if you only want to use the sub +texture. + + a #CoglHandle to the new texture. + + + + + a #CoglHandle to an existing texture + + + + X coordinate of the top-left of the subregion + + + + Y coordinate of the top-left of the subregion + + + + Width in pixels of the subregion + + + + Height in pixels of the subregion + + + + + + Creates a new COGL texture with the specified dimensions and pixel format. +%COGL_INVALID_HANDLE on failure + + a #CoglHandle to the newly created texture or + + + + + width of texture in pixels. + + + + height of texture in pixels. + + + + Optional flags for the texture, or %COGL_TEXTURE_NONE + + + + the #CoglPixelFormat to use for the GPU storage of the texture. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Increment the reference count for a cogl texture. + + the @handle. + + + + + a @CoglHandle. + + + + + + Sets the pixels in a rectangular subregion of @handle from an in-memory +buffer containing pixel data. +%FALSE otherwise + + %TRUE if the subregion upload was successful, and + + + + + a #CoglHandle. + + + + upper left coordinate to use from source data. + + + + upper left coordinate to use from source data. + + + + upper left destination horizontal coordinate. + + + + upper left destination vertical coordinate. + + + + width of destination region to write. + + + + height of destination region to write. + + + + width of source data buffer. + + + + height of source data buffer. + + + + the #CoglPixelFormat used in the source buffer. + + + + rowstride of source buffer (computed from width if none specified) + + + + the actual pixel data. + + + + + + + + Decrement the reference count for a cogl texture. + + + + + + a @CoglHandle. + + + + + + Multiplies the current model-view matrix by the given matrix. + + + + + + the matrix to multiply with the current model-view + + + + + + Multiplies the current model-view matrix by one that translates the +model along all three axes according to the given values. + + + + + + Distance to translate along the x-axis + + + + Distance to translate along the y-axis + + + + Distance to translate along the z-axis + + + + + + + + + + + + + + + + + + + Adds an attribute to a buffer. +You either can use one of the built-in names such as "gl_Vertex", or +"gl_MultiTexCoord0" to add standard attributes, like positions, colors +and normals, or you can add custom attributes for use in shaders. +The number of vertices declared when calling cogl_vertex_buffer_new() +determines how many attribute values will be read from the supplied +The data for your attribute isn't copied anywhere until you call +cogl_vertex_buffer_submit(), or issue a draw call which automatically +submits pending attribute changes. so the supplied pointer must remain +valid until then. If you are updating an existing attribute (done by +re-adding it) then you still need to re-call cogl_vertex_buffer_submit() +to commit the changes to the GPU. Be carefull to minimize the number +of calls to cogl_vertex_buffer_submit(), though. +<note>If you are interleving attributes it is assumed that each interleaved +attribute starts no farther than +- stride bytes from the other attributes +it is interleved with. I.e. this is ok: +<programlisting> +|-0-0-0-0-0-0-0-0-0-0| +</programlisting> +This is not ok: +<programlisting> +|- - - - -0-0-0-0-0-0 0 0 0 0| +</programlisting> +(Though you can have multiple groups of interleved attributes)</note> + + + + + + A vertex buffer handle + + + + The name of your attribute. It should be a valid GLSL variable name and standard attribute types must use one of following built-in names: (Note: they correspond to the built-in names of GLSL) <itemizedlist> <listitem>"gl_Color"</listitem> <listitem>"gl_Normal"</listitem> <listitem>"gl_MultiTexCoord0, gl_MultiTexCoord1, ..."</listitem> <listitem>"gl_Vertex"</listitem> </itemizedlist> To support adding multiple variations of the same attribute the name can have a detail component, E.g. "gl_Color::active" or "gl_Color::inactive" + + + + The number of components per attribute and must be 1, 2, 3 or 4 + + + + a #CoglAttributeType specifying the data type of each component. + + + + If %TRUE, this specifies that values stored in an integer format should be mapped into the range [-1.0, 1.0] or [0.0, 1.0] for unsigned values. If %FALSE they are converted to floats directly. + + + + This specifies the number of bytes from the start of one attribute value to the start of the next value (for the same attribute). So, for example, with a position interleved with color like this: XYRGBAXYRGBAXYRGBA, then if each letter represents a byte, the stride for both attributes is 6. The special value 0 means the values are stored sequentially in memory. + + + + This addresses the first attribute in the vertex array. This must remain valid until you either call cogl_vertex_buffer_submit() or issue a draw call. + + + + + + Deletes an attribute from a buffer. You will need to call +cogl_vertex_buffer_submit() or issue a draw call to commit this +change to the GPU. + + + + + + A vertex buffer handle + + + + The name of a previously added attribute + + + + + + Disables a previosuly added attribute. +Since it can be costly to add and remove new attributes to buffers; to make +individual buffers more reuseable it is possible to enable and disable +attributes before using a buffer for drawing. +You don't need to call cogl_vertex_buffer_submit() after using this +function. + + + + + + A vertex buffer handle + + + + The name of the attribute you want to disable + + + + + + Allows you to draw geometry using all or a subset of the +vertices in a vertex buffer. +Any un-submitted attribute changes are automatically submitted before +drawing. + + + + + + A vertex buffer handle + + + + A #CoglVerticesMode specifying how the vertices should be interpreted. + + + + Specifies the index of the first vertex you want to draw with + + + + Specifies the number of vertices you want to draw. + + + + + + This function lets you use an array of indices to specify the vertices +within your vertex buffer that you want to draw. The indices themselves +are created by calling cogl_vertex_buffer_indices_new () +Any un-submitted attribute changes are automatically submitted before +drawing. + + + + + + A vertex buffer handle + + + + A #CoglVerticesMode specifying how the vertices should be interpreted. + + + + A CoglHandle for a set of indices allocated via cogl_vertex_buffer_indices_new () + + + + Specifies the minimum vertex index contained in indices + + + + Specifies the maximum vertex index contained in indices + + + + An offset into named indices. The offset marks the first index to use for drawing. + + + + Specifies the number of vertices you want to draw. + + + + + + Enables a previosuly disabled attribute. +Since it can be costly to add and remove new attributes to buffers; to make +individual buffers more reuseable it is possible to enable and disable +attributes before using a buffer for drawing. +You don't need to call cogl_vertex_buffer_submit() after using this function + + + + + + A vertex buffer handle + + + + The name of the attribute you want to enable + + + + + + Retrieves the number of vertices that @handle represents + + the number of vertices + + + + + A vertex buffer handle + + + + + + Creates a vertex buffer containing the indices needed to draw pairs +of triangles from a list of vertices grouped as quads. There will +be at least @n_indices entries in the buffer (but there may be +more). +The indices will follow this pattern: +0, 1, 2, 0, 2, 3, 4, 5, 6, 4, 6, 7 ... etc +For example, if you submit vertices for a quad like like that shown +in <xref linkend="quad-indices-order"/> then you can request 6 +indices to render two triangles like those shown in <xref +linkend="quad-indices-triangles"/>. +<figure id="quad-indices-order"> +<title>Example of vertices submitted to form a quad</title> +<graphic fileref="quad-indices-order.png" format="PNG"/> +</figure> +<figure id="quad-indices-triangles"> +<title>Illustration of the triangle indices that will be generated</title> +<graphic fileref="quad-indices-triangles.png" format="PNG"/> +</figure> +owned by Cogl and should not be modified or unref'd. + + A %CoglHandle containing the indices. The handled is + + + + + the number of indices in the vertex buffer. + + + + + + Queries back the data type used for the given indices + + The CoglIndicesType used + + + + + + + + + + Depending on how much geometry you are submitting it can be worthwhile +optimizing the number of redundant vertices you submit. Using an index +array allows you to reference vertices multiple times, for example +during triangle strips. +cogl_vertex_buffer_draw_elements(). + + A CoglHandle for the indices which you can pass to + + + + + a #CoglIndicesType specifying the data type used for the indices. + + + + Specifies the address of your array of indices + + + + + + The number of indices in indices_array + + + + + + Creates a new vertex buffer that you can use to add attributes. + + a new #CoglHandle + + + + + The number of vertices that your attributes will correspond to. + + + + + + Increment the reference count for a vertex buffer + + the @handle. + + + + + a @CoglHandle. + + + + + + Submits all the user added attributes to the GPU; once submitted, the +attributes can be used for drawing. +You should aim to minimize calls to this function since it implies +validating your data; it potentially incurs a transport cost (especially if +you are using GLX indirect rendering) and potentially a format conversion +cost if the GPU doesn't natively support any of the given attribute formats. + + + + + + A vertex buffer handle + + + + + + Decrement the reference count for a vertex buffer + + + + + + a @CoglHandle. + + + + + + Replace the current viewport with the given values. + + + + + + Width of the viewport + + + + Height of the viewport + + + + + + diff --git a/DBus-1.0.gir b/DBus-1.0.gir new file mode 100644 index 0000000..331c228 --- /dev/null +++ b/DBus-1.0.gir @@ -0,0 +1,30 @@ + + + + + + + + + + + + + + + + + + + + + diff --git a/DBusGLib-1.0.gir b/DBusGLib-1.0.gir new file mode 100644 index 0000000..c71d77b --- /dev/null +++ b/DBusGLib-1.0.gir @@ -0,0 +1,16 @@ + + + + + + + + + + + + diff --git a/Everything-1.0.gir b/Everything-1.0.gir new file mode 100644 index 0000000..91550a9 --- /dev/null +++ b/Everything-1.0.gir @@ -0,0 +1,2364 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + This method is virtual. Notably its name differs from the virtual +slot name, which makes it useful for testing bindings handle this +case. + + + + + + Meaningless string + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + This function throws an error if m is odd. + + + + + + + + + + + + + + + + + + + + + + + + + + This method is virtual. Notably its name differs from the virtual +slot name, which makes it useful for testing bindings handle this +case. + + + + + + Meaningless string + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Meaningless string + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Make a copy of a TestStructA + + + + + + the cloned structure + + + + + + + + + + + + + + Make a copy of a TestStructB + + + + + + the cloned structure + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + the sum of the items in @ints + + + + + a list of 5 integers + + + + + + + + + + + + + a list of 5 integers ranging from 0 to 4 + + + + + + + + + a list of 5 integers ranging from 0 to 4 + + + + + + + + + + + + + + + List of ints + + + + + + + + + + + + + + + + List of ints + + + + + + + + + + + + + + + + List of ints + + + + + + + + + + + + + + + + List of ints + + + + + + + + + string representation of provided types + + + + + + + + List of types + + + + + + + + + a new array of integers. + + + + + + + length of the returned array. + + + + + + + + + + + + + + List of ints + + + + + + + + + + + + + + + + List of ints + + + + + + + + + + + + + the length of @ints + + + + a list of integers whose items will be increased by 1, except the first that will be dropped + + + + + + + + + a static array of integers. + + + + + + + length of the returned array. + + + + + + + + + + + + + + + + length + + + + + + + + + + + + + + + + length + + + + + + + + + + + the length of @ints + + + + a list of 5 integers, from 0 to 4 in consecutive order + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Notified - callback persists until a DestroyNotify delegate +is invoked. + + + + + + + + + + + + + + + + + + + + + + Invokes all callbacks installed by #test_callback_destroy_notify(), +adding up their return values, and removes them, invoking the +corresponding destroy notfications. + + Sum of the return values of the invoked callbacks. + + + + + Call - callback parameter persists for the duration of the method +call and can be released on return. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + list of strings + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Specify nested parameterized types directly with the (type ) annotation. + + + + + + + + + + + + element-type annotation. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A #TestObj + + + + + + + + + + + A #TestObj + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + No annotations here. We want the default to Do The Right Thing. + + + + + + + + No annotations here. We want the default to Do The Right Thing. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + This function throws an error if m is odd. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <const char*> UTF-8 string + + + + + + + + + + + + + + + + + + + + + + + + + + <char*> UTF-8 string + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + a copy of "first" + + + + + a copy of "second" + + + + + + + + + + + a copy of "first" + + + + a copy of "second" + + + + + + + + + + + + + + + + + the int wrapped in a GValue. + + + + + an int + + + + + + + + + + + + + + + + + + + diff --git a/GConf-2.0.gir b/GConf-2.0.gir new file mode 100644 index 0000000..80b0db8 --- /dev/null +++ b/GConf-2.0.gir @@ -0,0 +1,2675 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/GIMarshallingTests-1.0.gir b/GIMarshallingTests-1.0.gir new file mode 100644 index 0000000..9c43c4a --- /dev/null +++ b/GIMarshallingTests-1.0.gir @@ -0,0 +1,3611 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + an array of strings + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/GIRepository-2.0.gir b/GIRepository-2.0.gir new file mode 100644 index 0000000..2233e30 --- /dev/null +++ b/GIRepository-2.0.gir @@ -0,0 +1,3123 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The type of array in a #GITypeInfo. + + + + + + + An opaque structure used to iterate over attributes +in a #GIBaseInfo struct. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The direction of a #GIArgInfo. + + + + + + Flags for a #GIFieldInfo. + + + + + Flags for a #GIFunctionInfo struct. + + + + + + + + + The type of a GIBaseInfo struct. + + + + + + + + + + + + + + + + + + + + + + + + + + Extract an object instance out of @value + + the object instance + + + + + a #GValue + + + + + + Increases the reference count of an object instance. + + the object instance + + + + + object instance pointer + + + + + + Update @value and attach the object instance pointer @object to it. + + + + + + a #GValue + + + + object instance pointer + + + + + + Decreases the reference count of an object instance. + + + + + + object instance pointer + + + + + + + Returns the singleton process-global default #GIRepository. It is +not currently supported to have multiple repositories in a +particular process, but this function is provided in the unlikely +eventuality that it would become possible, and as a convenience for +higher level language bindings to conform to the GObject method +call conventions. +All methods on #GIRepository also accept %NULL as an instance +parameter to mean this default repository, which is usually more +convenient for C. + + The global singleton #GIRepository + + + + + + + + + + + + + + + Returns the search path the GIRepository will use when looking for typelibs. +The string is internal to GIRespository and should not be freed, nor should +the elements. + + list of strings + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Check whether a particular namespace (and optionally, a specific +version thereof) is currently loaded. This function is likely to +only be useful in unusual circumstances; in order to act upon +metadata in the namespace, you should call #g_irepository_require +instead which will ensure the namespace is loaded, and return as +quickly as this function will if it has already been loaded. + + %TRUE if namespace-version is loaded, %FALSE otherwise + + + + + Namespace of interest + + + + Required version, may be %NULL for latest + + + + + + Searches for a particular entry in a namespace. Before calling +this function for a particular namespace, you must call +#g_irepository_require once to load the namespace, or otherwise +ensure the namespace has already been loaded. + + #GIBaseInfo representing metadata about @name, or %NULL + + + + + Namespace which will be searched + + + + Entry name to find + + + + + + Obtain an unordered list of versions (either currently loaded or +available) for @namespace_ in this @repository. + + the array of versions. + + + + + + + GI namespace, e.g. "Gtk" + + + + + + Force the namespace @namespace_ to be loaded if it isn't already. +If @namespace_ is not loaded, this function will search for a +".typelib" file using the repository search path. In addition, a +version @version of namespace may be specified. If @version is +not specified, the latest will be used. + + a pointer to the #GTypelib if successful, %NULL otherwise + + + + + GI namespace to use, e.g. "Gtk" + + + + Version of namespace, may be %NULL for latest + + + + Set of %GIRepositoryLoadFlags, may be 0 + + + + + + Force the namespace @namespace_ to be loaded if it isn't already. +If @namespace_ is not loaded, this function will search for a +".typelib" file within the private directory only. In addition, a +version @version of namespace should be specified. If @version is +not specified, the latest will be used. + + a pointer to the #GTypelib if successful, %NULL otherwise + + + + + Private directory where to find the requested typelib + + + + + + + Version of namespace, may be %NULL for latest + + + + Set of %GIRepositoryLoadFlags, may be 0 + + + + + + Return an array of all (transitive) dependencies for namespace +form <code>namespace-version</code>. +such as #g_irepository_require before calling this function. + + Zero-terminated string array of versioned dependencies + + + + + + + Namespace of interest + + + + + + + + + + + + + Searches all loaded namespaces for a particular #GType. Note that +in order to locate the metadata, the namespace corresponding to +the type must first have been loaded. There is currently no +mechanism for determining the namespace which corresponds to an +arbitrary GType - thus, this function will operate most reliably +when you know the GType to originate from be from a loaded namespace. + + #GIBaseInfo representing metadata about @type, or %NULL + + + + + GType to search for + + + + + + This function returns the number of metadata entries in +given namespace @namespace_. The namespace must have +already been loaded before calling this function. + + number of metadata entries + + + + + Namespace to inspect + + + + + + This function returns a particular metadata entry in the +given namespace @namespace_. The namespace must have +already been loaded before calling this function. + + #GIBaseInfo containing metadata + + + + + Namespace to inspect + + + + Offset into namespace metadata for entry + + + + + + + + + + + + + + + + This function returns the full path to the shared C library +associated with the given namespace @namespace_. There may be no +shared library path associated, in which case this function will +return %NULL. +such as #g_irepository_require before calling this function. + + Full path to shared library, or %NULL if none associated + + + + + Namespace to inspect + + + + + + + + + + + + + + + + This function returns the loaded version associated with the given +namespace @namespace_. +such as #g_irepository_require before calling this function. + + Loaded version + + + + + Namespace to inspect + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Scope type of a #GIArgInfo representing callback, determines how the +callback is invoked and is used to decided when the invoke structs +can be freed. + + + + + + + The transfer is the exchange of data between two parts, from the callee to +the caller. The callee is either a function/method/signal or an +object/interface where a property is defined. The caller is the side +accessing a property or calling a function. +#GITransfer specifies who's responsible for freeing the resources after the +ownership transfer is complete. In case of a containing type such as a list, +an array or a hash table the container itself is specified differently from +the items within the container itself. Each container is freed differently, +check the documentation for the types themselves for information on how to +free them. + + + + + + The type tag of a #GITypeInfo. + + + + + + + + + + + + + + + + + + + + + + + + Represents a unresolved type in a typelib. + + + Flags of a #GIVFuncInfo struct. + + + + + + An error occuring while invoking a function via +g_function_info_invoke(). + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Obtain the index of the user data argument. This is only valid +for arguments which are callbacks. + + index of the user data argument or -1 if there is none + + + + + a #GIArgInfo + + + + + + Obtains the index of the #GDestroyNotify argument. This is only valid +for arguments which are callbacks. + + index of the #GDestroyNotify argument or -1 if there is none + + + + + a #GIArgInfo + + + + + + Obtain the direction of the argument. Check #GIDirection for possible +direction values. + + the direction + + + + + a #GIArgInfo + + + + + + Obtain the ownership transfer for this argument. +#GITransfer contains a list of possible values. + + the transfer + + + + + a #GIArgInfo + + + + + + Obtain the scope type for this argument. The scope type explains +how a callback is going to be invoked, most importantly when +the resources required to invoke it can be freed. +#GIScopeType contains a list of possible values. + + the scope type + + + + + a #GIArgInfo + + + + + + Obtain the type information for @info. +g_base_info_unref() when done. + + the #GIArgInfo, free it with + + + + + a #GIArgInfo + + + + + + Obtain if the argument is a pointer to a struct or object that will +receive an output of a function. The default assumption for +%GI_DIRECTION_OUT arguments which have allocation is that the +callee allocates; if this is %TRUE, then the caller must allocate. + + %TRUE if caller is required to have allocated the argument + + + + + a #GIArgInfo + + + + + + Obtain if the argument is optional. + + %TRUE if it is an optional argument + + + + + a #GIArgInfo + + + + + + Obtain if the argument is a return value. It can either be a +parameter or a return value. + + %TRUE if it is a return value + + + + + a #GIArgInfo + + + + + + Obtain information about a the type of given argument @info; this +function is a variant of g_arg_info_get_type() designed for stack +allocation. +The initialized @type must not be referenced after @info is deallocated. + + + + + + a #GIArgInfo + + + + Initialized with information about type of @info + + + + + + Obtain if the argument accepts %NULL. + + %TRUE if it accepts %NULL + + + + + a #GIArgInfo + + + + + + Compare two #GIBaseInfo. +Using pointer comparison is not practical since many functions return +different instances of #GIBaseInfo that refers to the same part of the +TypeLib; use this function instead to do #GIBaseInfo comparisons. + + %TRUE if and only if @info1 equals @info2. + + + + + a #GIBaseInfo + + + + a #GIBaseInfo + + + + + + Retrieve an arbitrary attribute associated with this node. + + The value of the attribute, or %NULL if no such attribute exists + + + + + a #GIBaseInfo + + + + a freeform string naming an attribute + + + + + + Obtain the container of the @info. The container is the parent +GIBaseInfo. For instance, the parent of a #GIFunctionInfo is an +#GIObjectInfo or #GIInterfaceInfo. + + the container + + + + + a #GIBaseInfo + + + + + + Obtain the name of the @info. What the name represents depends on +the #GIInfoType of the @info. For instance for #GIFunctionInfo it is +the name of the function. + + the name of @info or %NULL if it lacks a name. + + + + + a #GIBaseInfo + + + + + + Obtain the namespace of @info. + + the namespace + + + + + a #GIBaseInfo + + + + + + Obtain the info type of the GIBaseInfo. + + the info type of @info + + + + + a #GIBaseInfo + + + + + + Obtain the typelib this @info belongs to + + the typelib. + + + + + a #GIBaseInfo + + + + + + Obtain whether the @info is represents a metadata which is +deprecated or not. + + %TRUE if deprecated + + + + + a #GIBaseInfo + + + + + + Iterate over all attributes associated with this node. The iterator +structure is typically stack allocated, and must have its first +member initialized to %NULL. +Both the @name and @value should be treated as constants +and must not be freed. +<example> +<title>Iterating over attributes</title> +<programlisting> +void +print_attributes (GIBaseInfo *info) +{ +GIAttributeIter iter = { 0, }; +char *name; +char *value; +while (g_base_info_iterate_attributes (info, &iter, &name, &value)) +{ +} +} +</programlisting> +</example> + + %TRUE if there are more attributes + + + + + a #GIBaseInfo + + + + a #GIAttributeIter structure, must be initialized; see below + + + + Returned name, must not be freed + + + + Returned name, must not be freed + + + + + + Increases the reference count of @info. + + the same @info. + + + + + a #GIBaseInfo + + + + + + Decreases the reference count of @info. When its reference count +drops to 0, the info is freed. + + + + + + a #GIBaseInfo + + + + + + Obtain information about a particular argument of this callable. +g_base_info_unref() when done. + + the #GIArgInfo. Free it with + + + + + a #GICallableInfo + + + + the argument index to fetch + + + + + + See whether the caller owns the return value of this callable. +#GITransfer contains a list of possible transfer values. + + %TRUE if the caller owns the return value, %FALSE otherwise. + + + + + a #GICallableInfo + + + + + + Obtain the number of arguments (both IN and OUT) for this callable. + + The number of arguments this callable expects. + + + + + a #GICallableInfo + + + + + + Retrieve an arbitrary attribute associated with the return value. + + The value of the attribute, or %NULL if no such attribute exists + + + + + a #GICallableInfo + + + + a freeform string naming an attribute + + + + + + Obtain the return type of a callable item as a #GITypeInfo. +g_base_info_unref() when done. + + the #GITypeInfo. Free the struct by calling + + + + + a #GICallableInfo + + + + + + Iterate over all attributes associated with the return value. The +iterator structure is typically stack allocated, and must have its +first member initialized to %NULL. +Both the @name and @value should be treated as constants +and must not be freed. +See g_base_info_iterate_attributes() for an example of how to use a +similar API. + + %TRUE if there are more attributes + + + + + a #GICallableInfo + + + + a #GIAttributeIter structure, must be initialized; see below + + + + Returned name, must not be freed + + + + Returned name, must not be freed + + + + + + Obtain information about a particular argument of this callable; this +function is a variant of g_callable_info_get_arg() designed for stack +allocation. +The initialized @arg must not be referenced after @info is deallocated. + + + + + + a #GICallableInfo + + + + the argument index to fetch + + + + Initialize with argument number @n + + + + + + Obtain information about a return value of callable; this +function is a variant of g_callable_info_get_return_type() designed for stack +allocation. +The initialized @type must not be referenced after @info is deallocated. + + + + + + a #GICallableInfo + + + + Initialized with return type of @info + + + + + + See if a callable could return %NULL. + + %TRUE if callable could return %NULL + + + + + a #GICallableInfo + + + + + + Obtain the type of the constant as a #GITypeInfo. +g_base_info_unref() when done. + + the #GITypeInfo. Free the struct by calling + + + + + a #GIConstantInfo + + + + + + Obtain the value associated with the #GIConstantInfo and store it in the +The size of the constant value stored in @argument will be returned. + + size of the constant + + + + + a #GIConstantInfo + + + + an argument + + + + + + + + + + + + + + + + Obtain the tag of the type used for the enum in the C ABI. This will +will be a signed or unsigned integral type. +Note that in the current implementation the width of the type is +computed correctly, but the signed or unsigned nature of the type +may not match the sign of the type used by the C compiler. + + the storage type for the enumeration + + + + + a #GIEnumInfo + + + + + + Obtain a value for this enumeration. +free the struct with g_base_info_unref() when done. + + the enumeration value or %NULL if type tag is wrong, + + + + + a #GIEnumInfo + + + + index of value to fetch + + + + + + Obtain the enum containing all the error codes for this error domain. +The return value will have a #GIInfoType of %GI_INFO_TYPE_ERROR_DOMAIN +free the struct with g_base_info_unref() when done. + + the error domain or %NULL if type tag is wrong, + + + + + a #GIErrorDomainInfo + + + + + + Obtain a string representing the quark for this error domain. +%NULL will be returned if the type tag is wrong or if a quark is +missing in the typelib. + + the quark represented as a string or %NULL + + + + + a #GIErrorDomainInfo + + + + + + Reads a field identified by a #GFieldInfo from a C structure or +union. This only handles fields of simple C types. It will fail +for a field of a composite type like a nested structure or union +even if that is actually readable. + + %TRUE if reading the field succeeded, otherwise %FALSE + + + + + a #GIFieldInfo + + + + pointer to a block of memory representing a C structure or union + + + + a #GArgument into which to store the value retrieved + + + + + + Obtain the flags for this #GIFieldInfo. See #GIFieldInfoFlags for possible +flag values. + + the flags + + + + + a #GIFieldInfo + + + + + + Obtain the offset in bits of the field member, this is relative +to the beginning of the struct or union. + + the field offset + + + + + a #GIFieldInfo + + + + + + Obtain the size in bits of the field member, this is how +much space you need to allocate to store the field. + + the field size + + + + + a #GIFieldInfo + + + + + + Obtain the type of a field as a #GITypeInfo. +g_base_info_unref() when done. + + the #GITypeInfo. Free the struct by calling + + + + + a #GIFieldInfo + + + + + + Writes a field identified by a #GFieldInfo to a C structure or +union. This only handles fields of simple C types. It will fail +for a field of a composite type like a nested structure or union +even if that is actually writable. Note also that that it will refuse +to write fields where memory management would by required. A field +with a type such as 'char *' must be set with a setter function. + + %TRUE if writing the field succeeded, otherwise %FALSE + + + + + a #GIFieldInfo + + + + pointer to a block of memory representing a C structure or union + + + + a #GArgument holding the value to store + + + + + + Obtain the #GIFunctionInfoFlags for the @info. + + the flags + + + + + a #GIFunctionInfo + + + + + + Obtain the property associated with this #GIFunctionInfo. +Only #GIFunctionInfo with the flag %GI_FUNCTION_IS_GETTER or +%GI_FUNCTION_IS_SETTER have a property set. For other cases, +%NULL will be returned. +g_base_info_unref() when done. + + the property or %NULL if not set. Free it with + + + + + a #GIFunctionInfo + + + + + + Obtain the symbol of the function. The symbol is the name of the +exported function, suitable to be used as an argument to +g_module_symbol(). + + the symbol + + + + + a #GIFunctionInfo + + + + + + Obtain the virtual function associated with this #GIFunctionInfo. +Only #GIFunctionInfo with the flag %GI_FUNCTION_WRAPS_VFUNC has +a virtual function set. For other cases, %NULL will be returned. +Free it by calling g_base_info_unref() when done. + + the virtual function or %NULL if not set. + + + + + a #GIFunctionInfo + + + + + + Invokes the function described in @info with the given +arguments. Note that inout parameters must appear in both +argument lists. This function uses dlsym() to obtain a pointer +to the function, so the library or shared object containing the +described function must either be linked to the caller, or must +have been g_module_symbol()<!-- -->ed before calling this function. +error occurred. + + %TRUE if the function has been invoked, %FALSE if an + + + + + a #GIFunctionInfo describing the function to invoke + + + + an array of #GArgument<!-- -->s, one for each in parameter of @info. If there are no in parameter, @in_args can be %NULL + + + + the length of the @in_args array + + + + an array of #GArgument<!-- -->s, one for each out parameter of @info. If there are no out parameters, @out_args may be %NULL + + + + the length of the @out_args array + + + + return location for the return value of the function. If the function returns void, @return_value may be %NULL + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Obtain a string representation of @type + + the string + + + + + the info type + + + + + + Obtain a method of the interface type given a @name. %NULL will be +returned if there's no method available with that name. +Free the struct by calling g_base_info_unref() when done. + + the #GIFunctionInfo or %NULL if none found. + + + + + a #GIInterfaceInfo + + + + name of method to obtain + + + + + + Locate a virtual function slot with name @name. See the documentation +for g_object_info_find_vfunc() for more information on virtuals. +g_base_info_unref() when done. + + the #GIVFuncInfo, or %NULL. Free it with + + + + + a #GIInterfaceInfo + + + + The name of a virtual function to find. + + + + + + Obtain an interface type constant at index @n. +g_base_info_unref() when done. + + the #GIConstantInfo. Free the struct by calling + + + + + a #GIInterfaceInfo + + + + index of constant to get + + + + + + Returns the layout C structure associated with this #GInterface. +g_base_info_unref() when done. + + the #GIStructInfo or %NULL. Free it with + + + + + a #GIInterfaceInfo + + + + + + Obtain an interface type method at index @n. +g_base_info_unref() when done. + + the #GIFunctionInfo. Free the struct by calling + + + + + a #GIInterfaceInfo + + + + index of method to get + + + + + + Obtain the number of constants that this interface type has. + + number of constants + + + + + a #GIInterfaceInfo + + + + + + Obtain the number of methods that this interface type has. + + number of methods + + + + + a #GIInterfaceInfo + + + + + + Obtain the number of prerequisites for this interface type. +A prerequisites is another interface that needs to be implemented for +interface, similar to an base class for GObjects. + + number of prerequisites + + + + + a #GIInterfaceInfo + + + + + + Obtain the number of properties that this interface type has. + + number of properties + + + + + a #GIInterfaceInfo + + + + + + Obtain the number of signals that this interface type has. + + number of signals + + + + + a #GIInterfaceInfo + + + + + + Obtain the number of virtual functions that this interface type has. + + number of virtual functions + + + + + a #GIInterfaceInfo + + + + + + Obtain an interface type prerequisites index @n. +g_base_info_unref() when done. + + the prerequisites as a #GIBaseInfo. Free the struct by calling + + + + + a #GIInterfaceInfo + + + + index of prerequisites to get + + + + + + Obtain an interface type property at index @n. +g_base_info_unref() when done. + + the #GIPropertyInfo. Free the struct by calling + + + + + a #GIInterfaceInfo + + + + index of property to get + + + + + + Obtain an interface type signal at index @n. +g_base_info_unref() when done. + + the #GISignalInfo. Free the struct by calling + + + + + a #GIInterfaceInfo + + + + index of signal to get + + + + + + Obtain an interface type virtual function at index @n. +g_base_info_unref() when done. + + the #GIVFuncInfo. Free the struct by calling + + + + + a #GIInterfaceInfo + + + + index of virtual function to get + + + + + + Obtain a method of the object type given a @name. %NULL will be +returned if there's no method available with that name. +g_base_info_unref() when done. + + the #GIFunctionInfo. Free the struct by calling + + + + + a #GIObjectInfo + + + + name of method to obtain + + + + + + Locate a virtual function slot with name @name. Note that the namespace +for virtuals is distinct from that of methods; there may or may not be +a concrete method associated for a virtual. If there is one, it may +be retrieved using g_vfunc_info_get_invoker(), otherwise %NULL will be +returned. +See the documentation for g_vfunc_info_get_invoker() for more +information on invoking virtuals. +g_base_info_unref() when done. + + the #GIVFuncInfo, or %NULL. Free it with + + + + + a #GIObjectInfo + + + + The name of a virtual function to find. + + + + + + Obtain if the object type is an abstract type, eg if it cannot be +instantiated + + %TRUE if the object type is abstract + + + + + a #GIObjectInfo + + + + + + Every #GObject has two structures; an instance structure and a class +structure. This function returns the metadata for the class structure. +g_base_info_unref() when done. + + the #GIStructInfo or %NULL. Free with + + + + + a #GIObjectInfo + + + + + + Obtain an object type constant at index @n. +g_base_info_unref() when done. + + the #GIConstantInfo. Free the struct by calling + + + + + a #GIObjectInfo + + + + index of constant to get + + + + + + Obtain an object type field at index @n. +g_base_info_unref() when done. + + the #GIFieldInfo. Free the struct by calling + + + + + a #GIObjectInfo + + + + index of field to get + + + + + + Obtain if the object type is of a fundamental type which is not +G_TYPE_OBJECT. This is mostly for supporting GstMiniObject. + + %TRUE if the object type is a fundamental type + + + + + a #GIObjectInfo + + + + + + Obtain the symbol name of the function that should be called to convert +an object instance pointer of this object type to a GValue. +I's mainly used fundamental types. The type signature for the symbol +is %GIObjectInfoGetValueFunction, to fetch the function pointer +see g_object_info_get_get_value_function(). + + the symbol or %NULL + + + + + a #GIObjectInfo + + + + + + Obtain a pointer to a function which can be used to +extract an instance of this object type out of a GValue. +This takes derivation into account and will reversely traverse +the base classes of this type, starting at the top type. + + the function pointer or %NULL + + + + + a #GIObjectInfo + + + + + + Obtain an object type interface at index @n. +g_base_info_unref() when done. + + the #GIInterfaceInfo. Free the struct by calling + + + + + a #GIObjectInfo + + + + index of interface to get + + + + + + Obtain an object type method at index @n. +g_base_info_unref() when done. + + the #GIFunctionInfo. Free the struct by calling + + + + + a #GIObjectInfo + + + + index of method to get + + + + + + Obtain the number of constants that this object type has. + + number of constants + + + + + a #GIObjectInfo + + + + + + Obtain the number of fields that this object type has. + + number of fields + + + + + a #GIObjectInfo + + + + + + Obtain the number of interfaces that this object type has. + + number of interfaces + + + + + a #GIObjectInfo + + + + + + Obtain the number of methods that this object type has. + + number of methods + + + + + a #GIObjectInfo + + + + + + Obtain the number of properties that this object type has. + + number of properties + + + + + a #GIObjectInfo + + + + + + Obtain the number of signals that this object type has. + + number of signals + + + + + a #GIObjectInfo + + + + + + Obtain the number of virtual functions that this object type has. + + number of virtual functions + + + + + a #GIObjectInfo + + + + + + Obtain the parent of the object type. +g_base_info_unref() when done. + + the #GIObjectInfo. Free the struct by calling + + + + + a #GIObjectInfo + + + + + + Obtain an object type property at index @n. +g_base_info_unref() when done. + + the #GIPropertyInfo. Free the struct by calling + + + + + a #GIObjectInfo + + + + index of property to get + + + + + + Obtain the symbol name of the function that should be called to ref this +object type. It's mainly used fundamental types. The type signature for +the symbol is %GIObjectInfoRefFunction, to fetch the function pointer +see g_object_info_get_ref_function(). + + the symbol or %NULL + + + + + a #GIObjectInfo + + + + + + Obtain a pointer to a function which can be used to +increase the reference count an instance of this object type. +This takes derivation into account and will reversely traverse +the base classes of this type, starting at the top type. + + the function pointer or %NULL + + + + + a #GIObjectInfo + + + + + + Obtain the symbol name of the function that should be called to convert +set a GValue giving an object instance pointer of this object type. +I's mainly used fundamental types. The type signature for the symbol +is %GIObjectInfoSetValueFunction, to fetch the function pointer +see g_object_info_get_set_value_function(). + + the symbol or %NULL + + + + + a #GIObjectInfo + + + + + + Obtain a pointer to a function which can be used to +set a GValue given an instance of this object type. +This takes derivation into account and will reversely traverse +the base classes of this type, starting at the top type. + + the function pointer or %NULL + + + + + a #GIObjectInfo + + + + + + Obtain an object type signal at index @n. +g_base_info_unref() when done. + + the #GISignalInfo. Free the struct by calling + + + + + a #GIObjectInfo + + + + index of signal to get + + + + + + Obtain the function which when called will return the GType +function for which this object type is registered. + + the type init function + + + + + a #GIObjectInfo + + + + + + Obtain the name of the objects class/type. + + name of the objects type + + + + + a #GIObjectInfo + + + + + + Obtain the symbol name of the function that should be called to unref this +object type. It's mainly used fundamental types. The type signature for +the symbol is %GIObjectInfoUnrefFunction, to fetch the function pointer +see g_object_info_get_unref_function(). + + the symbol or %NULL + + + + + a #GIObjectInfo + + + + + + Obtain a pointer to a function which can be used to +decrease the reference count an instance of this object type. +This takes derivation into account and will reversely traverse +the base classes of this type, starting at the top type. + + the function pointer or %NULL + + + + + a #GIObjectInfo + + + + + + Obtain an object type virtual function at index @n. +g_base_info_unref() when done. + + the #GIVFuncInfo. Free the struct by calling + + + + + a #GIObjectInfo + + + + index of virtual function to get + + + + + + Obtain the flags for this property info. See #GParamFags for +more information about possible flag values. + + the flags + + + + + a #GIPropertyInfo + + + + + + Obtain the ownership transfer for this property. See #GITransfer for more +information about transfer values. + + the transfer + + + + + a #GIPropertyInfo + + + + + + Obtain the type information for the property @info. +g_base_info_unref() when done. + + the #GITypeInfo, free it with + + + + + a #GIPropertyInfo + + + + + + Obtain the #GType for this registered type. + + the #GType. + + + + + a #GIRegisteredTypeInfo + + + + + + Obtain the type init function for @info. The type init function is the +function which will register the GType within the GObject type system. +Usually this is not called by langauge bindings or applications, use +g_registered_type_info_get_g_type() directly instead. +passing into g_module_symbol(). + + the symbol name of the type init function, suitable for + + + + + a #GIRegisteredTypeInfo + + + + + + Obtain the type name of the struct within the GObject type system. +This type can be passed to g_type_name() to get a #GType. + + the type name + + + + + a #GIRegisteredTypeInfo + + + + + + Obtain the class closure for this signal if one is set. The class +closure is a virtual function on the type that the signal belongs to. +If the signal lacks a closure %NULL will be returned. + + the class closure or %NULL + + + + + a #GISignalInfo + + + + + + Obtain the flags for this signal info. See #GSignalFlags for +more information about possible flag values. + + the flags + + + + + a #GISignalInfo + + + + + + Obtain if the returning true in the signal handler will +stop the emission of the signal. + + %TRUE if returning true stops the signal emission + + + + + a #GISignalInfo + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Return true if this structure represents the "class structure" for some +#GObject or #GInterface. This function is mainly useful to hide this kind of structure +from generated public APIs. + + %TRUE if this is a class struct, %FALSE otherwise + + + + + a #GIStructInfo + + + + + + Obtain the fixed array size of the type. The type tag must be a +#GI_TYPE_TAG_ARRAY or -1 will returned. + + the size or -1 if it's not an array + + + + + a #GITypeInfo + + + + + + Obtain the array length of the type. The type tag must be a +#GI_TYPE_TAG_ARRAY or -1 will returned. + + the array length, or -1 if the type is not an array + + + + + a #GITypeInfo + + + + + + Obtain the array type for this type. See #GIArrayType for a list of +possible values. If the type tag of this type is not array, -1 will be +returned. + + the array type or -1 + + + + + a #GITypeInfo + + + + + + Obtain the error domains at index @n for this type. The type tag +must be a #GI_TYPE_TAG_ERROR or -1 will be returned. +free the struct with g_base_info_unref() when done. + + the error domain or %NULL if type tag is wrong, + + + + + a #GITypeInfo + + + + index of error domain + + + + + + For types which have #GI_TYPE_TAG_INTERFACE such as GObjects and boxed values, +this function returns full information about the referenced type. You can then +inspect the type of the returned #GIBaseInfo to further query whether it is +a concrete GObject, a GInterface, a structure, etc. using g_base_info_get_type(). +g_base_info_unref() when done. + + the #GIBaseInfo, or %NULL. Free it with + + + + + a #GITypeInfo + + + + + + Obtain the number of error domains for this type. The type tag +must be a #GI_TYPE_TAG_ERROR or -1 will be returned. + + number of error domains or -1 + + + + + a #GITypeInfo + + + + + + Obtain the parameter type @n. + + the param type info + + + + + a #GITypeInfo + + + + index of the parameter + + + + + + Obtain the type tag for the type. See #GITypeTag for a list +of type tags. + + the type tag + + + + + a #GITypeInfo + + + + + + Obtain if the type is passed as a reference. + + %TRUE if it is a pointer + + + + + a #GITypeInfo + + + + + + Obtain if the last element of the array is %NULL. The type tag must be a +#GI_TYPE_TAG_ARRAY or %FALSE will returned. + + %TRUE if zero terminated + + + + + a #GITypeInfo + + + + + + Obtain a string representation of @type + + the string + + + + + the type_tag + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Obtain the enumeration value of the #GIValueInfo. + + the enumeration value + + + + + a #GIValueInfo + + + + + + Obtain the flags for this virtual function info. See #GIVFuncInfoFlags for +more information about possible flag values. + + the flags + + + + + a #GIVFuncInfo + + + + + + If this virtual function has an associated invoker method, this +method will return it. An invoker method is a C entry point. +Not all virtuals will have invokers. +g_base_info_unref() when done. + + the #GIVFuncInfo or %NULL. Free it with + + + + + a #GIVFuncInfo + + + + + + Obtain the offset of the function pointer in the class struct. The value +0xFFFF indicates that the struct offset is unknown. + + the struct offset or 0xFFFF if it's unknown + + + + + a #GIVFuncInfo + + + + + + Obtain the signal for the virtual function if one is set. +The signal comes from the object or interface to which +this virtual function belongs. + + the signal or %NULL if none set + + + + + a #GIVFuncInfo + + + + + + diff --git a/GL-1.0.gir b/GL-1.0.gir new file mode 100644 index 0000000..0defbbf --- /dev/null +++ b/GL-1.0.gir @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/GLib-2.0.gir b/GLib-2.0.gir new file mode 100644 index 0000000..22d9b78 --- /dev/null +++ b/GLib-2.0.gir @@ -0,0 +1,18601 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The <structname>GBookmarkFile</structname> struct contains only +private data and should not be directly accessed. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Error codes returned by bookmark file parsing. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + An opaque structure representing a checksumming operation. +To create a new GChecksum, use g_checksum_new(). To free +a GChecksum, use g_checksum_free(). + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The hashing algorithm to be used by #GChecksum when performing the +digest of some data. +Note that the #GChecksumType enumeration may be extended at a later +date to include new hashing algorithm types. + + + + + + The type of functions to be called when a child exists. + + + + + + the process id of the child process + + + + Status information about the child process, see waitpid(2) for more information about this field + + + + user data passed to g_child_watch_add() + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Error codes returned by character set conversion routines. + + + + + + + + + A function of this signature is used to copy the node data +when doing a deep-copy of a tree. + + A pointer to the copy + + + + + A pointer to the data which should be copied + + + + Additional data + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <structname>GDateTime</structname> is an opaque structure whose members +cannot be accessed directly. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The <structname>GMainContext</structname> struct is an opaque data +type representing a set of sources to be handled in a main loop. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The <structname>GMainLoop</structname> struct is an opaque data type +representing the main event loop of a GLib or GTK+ application. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The #GOptionArg enum values determine which type of extra argument the +options expect to find. If an option expects an extra argument, it +can be specified in several ways; with a short option: +<option>-x arg</option>, with a long option: <option>--name arg</option> + + + + + + + + + + + + The type of function to be passed as callback for %G_OPTION_ARG_CALLBACK +options. +occurred, in which case @error should be set with g_set_error() + + %TRUE if the option was successfully parsed, %FALSE if an error + + + + + The name of the option being parsed. This will be either a single dash followed by a single letter (for a short name) or two dashes followed by a long option name. + + + + The value to be parsed. + + + + User data added to the #GOptionGroup containing the option when it was created with g_option_group_new() + + + + + + A <structname>GOptionContext</structname> struct defines which options +are accepted by the commandline option parser. The struct has only private +fields and should not be directly accessed. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A <structname>GOptionEntry</structname> defines a single option. +To have an effect, they must be added to a #GOptionGroup with +g_option_context_add_main_entries() or g_option_group_add_entries(). + + + + + + + + + + + + + + + + + + + + + + + + Error codes returned by option parsing. + + + + + + The type of function to be used as callback when a parse error occurs. + + + + + + The active #GOptionContext + + + + The group to which the function belongs + + + + User data added to the #GOptionGroup containing the option when it was created with g_option_group_new() + + + + + + Flags which modify individual options. + + + + + + + + + + A <structname>GOptionGroup</structname> struct defines the options in a single +group. The struct has only private fields and should not be directly accessed. +All options in a group share the same translation function. Libraries which +need to parse commandline options are expected to provide a function for +getting a <structname>GOptionGroup</structname> holding their options, which +the application can then add to its #GOptionContext. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The type of function that can be called before and after parsing. +occurred, in which case @error should be set with g_set_error() + + %TRUE if the function completed successfully, %FALSE if an error + + + + + The active #GOptionContext + + + + The group to which the function belongs + + + + User data added to the #GOptionGroup containing the option when it was created with g_option_group_new() + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Specifies the type of function passed to g_main_context_set_poll_func(). +The semantics of the function should match those of the poll() system call. +reported, or -1 if an error occurred. + + the number of #GPollFD elements which have events or errors + + + + + an array of #GPollFD elements + + + + the number of elements in @ufds + + + + the maximum time to wait for an event of the file descriptors. A negative value indicates an infinite timeout. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A GRegex is the "compiled" form of a regular expression pattern. This +structure is opaque and its fields cannot be accessed directly. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Flags specifying compile-time options. + + + + + + + + + + + + + + + + + Error codes returned by regular expressions functions. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Specifies the type of the function passed to g_regex_replace_eval(). +It is called for each occurance of the pattern in the string passed +to g_regex_replace_eval(), and it should append the replacement to + + %FALSE to continue the replacement process, %TRUE to stop it + + + + + the #GMatchInfo generated by the match. Use g_match_info_get_regex() and g_match_info_get_string() if you need the #GRegex or the matched string. + + + + a #GString containing the new string + + + + user data passed to g_regex_replace_eval() + + + + + + Flags specifying match-time options. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The <structname>GSource</structname> struct is an opaque data type +representing an event source. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The <structname>GSourceCallbackFuncs</structname> struct contains +functions for managing callback objects. + + + + + + + + + + + + + + + + + + + + + + + + + + + The <structname>GSourceFuncs</structname> struct contains a table of +functions used to handle event sources in a generic manner. +For idle sources, the prepare and check functions always return %TRUE +to indicate that the source is always ready to be processed. The prepare +function also returns a timeout value of 0 to ensure that the poll() call +doesn't block (since that would be time wasted which could have been spent +running the idle function). +For timeout sources, the prepare and check functions both return %TRUE +if the timeout interval has expired. The prepare function also returns +a timeout value to ensure that the poll() call doesn't block too long +and miss the next timeout. +For file descriptor sources, the prepare function typically returns %FALSE, +since it must wait until poll() has been called before it knows whether +any events need to be processed. It sets the returned timeout to -1 to +indicate that it doesn't mind how long the poll() call blocks. In the +check function, it tests the results of the poll() call to see if the +required condition has been met, and returns %TRUE if so. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Specifies the prototype of fatal log handler functions. + + %TRUE if the program should abort, %FALSE otherwise + + + + + the log domain of the message + + + + the log level of the message (including the fatal and recursion flags) + + + + the message to process + + + + user data, set in g_test_log_set_fatal_handler() + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The type of functions which are used to translate user-visible +strings, for <option>--help</option> output. +The returned string is owned by GLib and must not be freed. + + a translation of the string for the current locale. + + + + + the untranslated string + + + + user data specified when installing the function, e.g. in g_option_group_set_translate_func() + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + These are logical ids for special directories which are defined +depending on the platform used. You should use g_get_user_special_dir() +to retrieve the full path associated to the logical id. +The #GUserDirectory enumeration can be extended at later date. Not +every platform has a directory for every logical id in this +enumeration. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A type in the GVariant type system. +Two types may not be compared by value; use g_variant_type_equal() or +g_variant_type_is_subtype(). May be copied using +g_variant_type_copy() and freed using g_variant_type_free(). + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/GMenu-2.0.gir b/GMenu-2.0.gir new file mode 100644 index 0000000..5f09ba6 --- /dev/null +++ b/GMenu-2.0.gir @@ -0,0 +1,389 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/GModule-2.0.gir b/GModule-2.0.gir new file mode 100644 index 0000000..b448d1d --- /dev/null +++ b/GModule-2.0.gir @@ -0,0 +1,108 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/GObject-2.0.gir b/GObject-2.0.gir new file mode 100644 index 0000000..f196e3b --- /dev/null +++ b/GObject-2.0.gir @@ -0,0 +1,6230 @@ + + + + + + + + + + + + + + A callback function used by the type system to finalize those portions +of a derived types class structure that were setup from the corresponding +GBaseInitFunc() function. Class finalization basically works the inverse +way in which class intialization is performed. +See GClassInitFunc() for a discussion of the class intialization process. + + + + + + The #GTypeClass structure to finalize. + + + + + + A callback function used by the type system to do base initialization +of the class structures of derived types. It is called as part of the +initialization process of all derived classes and should reallocate +or reset all dynamic class members copied over from the parent class. +For example, class members (such as strings) that are not sufficiently +handled by a plain memory copy of the parent class into the derived class +have to be altered. See GClassInitFunc() for a discussion of the class +intialization process. + + + + + + The #GTypeClass structure to initialize. + + + + + + <structname>GBinding</structname> is an opaque structure whose members +cannot be accessed directly. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Flags to be passed to g_object_bind_property() or +g_object_bind_property_full(). +This enumeration can be extended at later date. + + + + + + + A function to be called to transform the source property of @source +from @source_value into the target property of @target +using @target_value. +otherwise + + %TRUE if the transformation was successful, and %FALSE + + + + + a #GBinding + + + + the value of the source property + + + + the value of the target property + + + + data passed to the transform function + + + + + + This function is provided by the user and should produce a copy of the passed +in boxed structure. + + The newly created copy of the boxed structure. + + + + + The boxed structure to be copied. + + + + + + This function is provided by the user and should free the boxed +structure passed. + + + + + + The boxed structure to be freed. + + + + + + + + A #GCClosure is a specialization of #GClosure for C function callbacks. + + + + + + + + + The type used for callback functions in structure definitions and function +signatures. This doesn't mean that all callback functions must take no +parameters and return void. The required signature of a callback function +is determined by the context in which is used (e.g. the signal to which it +is connected). Use G_CALLBACK() to cast the callback function to a #GCallback. + + + + + + A callback function used by the type system to finalize a class. +This function is rarely needed, as dynamically allocated class resources +should be handled by GBaseInitFunc() and GBaseFinalizeFunc(). +Also, specification of a GClassFinalizeFunc() in the #GTypeInfo +structure of a static type is invalid, because classes of static types +will never be finalized (they are artificially kept alive when their +reference count drops to zero). + + + + + + The #GTypeClass structure to finalize. + + + + The @class_data member supplied via the #GTypeInfo structure. + + + + + + A callback function used by the type system to initialize the class +of a specific type. This function should initialize all static class +members. +The initialization process of a class involves: +<itemizedlist> +<listitem><para> +1 - Copying common members from the parent class over to the +derived class structure. +</para></listitem> +<listitem><para> +2 - Zero initialization of the remaining members not copied +over from the parent class. +</para></listitem> +<listitem><para> +3 - Invocation of the GBaseInitFunc() initializers of all parent +types and the class' type. +</para></listitem> +<listitem><para> +4 - Invocation of the class' GClassInitFunc() initializer. +</para></listitem> +</itemizedlist> +Since derived classes are partially initialized through a memory copy +of the parent class, the general rule is that GBaseInitFunc() and +GBaseFinalizeFunc() should take care of necessary reinitialization +and release of those class members that were introduced by the type +that specified these GBaseInitFunc()/GBaseFinalizeFunc(). +GClassInitFunc() should only care about initializing static +class members, while dynamic class members (such as allocated strings +or reference counted resources) are better handled by a GBaseInitFunc() +for this type, so proper initialization of the dynamic class members +is performed for class initialization of derived types as well. +An example may help to correspond the intend of the different class +initializers: +|[ +typedef struct { +GObjectClass parent_class; +gint static_integer; +gchar *dynamic_string; +} TypeAClass; +static void +type_a_base_class_init (TypeAClass *class) +{ +class->dynamic_string = g_strdup ("some string"); +} +static void +type_a_base_class_finalize (TypeAClass *class) +{ +g_free (class->dynamic_string); +} +static void +type_a_class_init (TypeAClass *class) +{ +class->static_integer = 42; +} +typedef struct { +TypeAClass parent_class; +gfloat static_float; +GString *dynamic_gstring; +} TypeBClass; +static void +type_b_base_class_init (TypeBClass *class) +{ +class->dynamic_gstring = g_string_new ("some other string"); +} +static void +type_b_base_class_finalize (TypeBClass *class) +{ +g_string_free (class->dynamic_gstring); +} +static void +type_b_class_init (TypeBClass *class) +{ +class->static_float = 3.14159265358979323846; +} +]| +Initialization of TypeBClass will first cause initialization of +TypeAClass (derived classes reference their parent classes, see +g_type_class_ref() on this). +Initialization of TypeAClass roughly involves zero-initializing its fields, +then calling its GBaseInitFunc() type_a_base_class_init() to allocate +its dynamic members (dynamic_string), and finally calling its GClassInitFunc() +type_a_class_init() to initialize its static members (static_integer). +The first step in the initialization process of TypeBClass is then +a plain memory copy of the contents of TypeAClass into TypeBClass and +zero-initialization of the remaining fields in TypeBClass. +The dynamic members of TypeAClass within TypeBClass now need +reinitialization which is performed by calling type_a_base_class_init() +with an argument of TypeBClass. +After that, the GBaseInitFunc() of TypeBClass, type_b_base_class_init() +is called to allocate the dynamic members of TypeBClass (dynamic_gstring), +and finally the GClassInitFunc() of TypeBClass, type_b_class_init(), +is called to complete the initialization process with the static members +(static_float). +Corresponding finalization counter parts to the GBaseInitFunc() functions +have to be provided to release allocated resources at class finalization +time. + + + + + + The #GTypeClass structure to initialize. + + + + The @class_data member supplied via the #GTypeInfo structure. + + + + + + A #GClosure represents a callback supplied by the programmer. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The type used for marshaller functions. + + + + + + the #GClosure to which the marshaller belongs + + + + a #GValue to store the return value. May be %NULL if the callback of @closure doesn't return a value. + + + + the length of the @param_values array + + + + an array of #GValue<!-- -->s holding the arguments on which to invoke the callback of @closure + + + + the invocation hint given as the last argument to g_closure_invoke() + + + + additional data specified when registering the marshaller, see g_closure_set_marshal() and g_closure_set_meta_marshal() + + + + + + The type used for the various notification callbacks which can be registered +on closures. + + + + + + data specified when registering the notification callback + + + + the #GClosure on which the notification is emitted + + + + + + + + + + + + + + The connection flags are used to specify the behaviour of a signal's +connection. + + + + + + + + + The class of an enumeration type holds information about its +possible values. + + + + + + + + + + + + + + + + + + A structure which contains a single enum value, its name, and its +nickname. + + + + + + + + + + + + + + The class of a flags type holds information about its +possible values. + + + + + + + + + + + + + + + A structure which contains a single flags value, its name, and its +nickname. + + + + + + + + + + + + + + + + + + + + + + + + All the fields in the <structname>GInitiallyUnowned</structname> structure +are private to the #GInitiallyUnowned implementation and should never be +accessed directly. + + + + + + + + + + + + The class structure for the <structname>GInitiallyUnowned</structname> type. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A callback function used by the type system to initialize a new +instance of a type. This function initializes all instance members and +allocates any resources required by it. +Initialization of a derived instance involves calling all its parent +types instance initializers, so the class member of the instance +is altered during its initialization to always point to the class that +belongs to the type the current initializer was introduced for. + + + + + + The instance to initialize. + + + + The class of the type the instance is created for. + + + + + + A callback function used by the type system to finalize an interface. +This function should destroy any internal data and release any resources +allocated by the corresponding GInterfaceInitFunc() function. + + + + + + The interface structure to finalize. + + + + The @interface_data supplied via the #GInterfaceInfo structure. + + + + + + A structure that provides information to the type system which is +used specifically for managing interface types. + + + + + + + + + + + + A callback function used by the type system to initialize a new +interface. This function should initialize all internal data and +allocate any resources required by the interface. + + + + + + The interface structure to initialize. + + + + The @interface_data supplied via the #GInterfaceInfo structure. + + + + + + All the fields in the <structname>GObject</structname> structure are private +to the #GObject implementation and should never be accessed directly. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + (inout) + + + + + + + + + + + (inout) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The class structure for the <structname>GObject</structname> type. +<example> +<title>Implementing singletons using a constructor</title> +<programlisting> +static MySingleton *the_singleton = NULL; +static GObject* +my_singleton_constructor (GType type, +guint n_construct_params, +GObjectConstructParam *construct_params) +{ +GObject *object; +if (!the_singleton) +{ +object = G_OBJECT_CLASS (parent_class)->constructor (type, +n_construct_params, +construct_params); +the_singleton = MY_SINGLETON (object); +} +else +object = g_object_ref (G_OBJECT (the_singleton)); +return object; +} +</programlisting></example> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The <structname>GObjectConstructParam</structname> struct is an auxiliary +structure used to hand #GParamSpec/#GValue pairs to the @constructor of +a #GObjectClass. + + + + + + + + + The type of the @finalize function of #GObjectClass. + + + + + + the #GObject being finalized + + + + + + The type of the @get_property function of #GObjectClass. + + + + + + a #GObject + + + + the numeric id under which the property was registered with g_object_class_install_property(). + + + + a #GValue to return the property value in + + + + the #GParamSpec describing the property + + + + + + The type of the @set_property function of #GObjectClass. + + + + + + a #GObject + + + + the numeric id under which the property was registered with g_object_class_install_property(). + + + + the new value for the property + + + + the #GParamSpec describing the property + + + + + + + + + + + + + + + + + + Through the #GParamFlags flag values, certain aspects of parameters +can be configured. + + + + + + + + + + + + + All other fields of the <structname>GParamSpec</structname> struct are private and +should not be used directly. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A #GParamSpec derived structure that contains the meta data for boolean properties. + + + + + + + + + A #GParamSpec derived structure that contains the meta data for boxed properties. + + + + + + A #GParamSpec derived structure that contains the meta data for character properties. + + + + + + + + + + + + + + + The class structure for the <structname>GParamSpec</structname> type. +Normally, <structname>GParamSpec</structname> classes are filled by +g_param_type_register_static(). + + + + + + + + + + + + + + + + + + + + + + + + + + A #GParamSpec derived structure that contains the meta data for double properties. + + + + + + + + + + + + + + + + + + A #GParamSpec derived structure that contains the meta data for enum +properties. + + + + + + + + + + + + A #GParamSpec derived structure that contains the meta data for flags +properties. + + + + + + + + + + + + A #GParamSpec derived structure that contains the meta data for float properties. + + + + + + + + + + + + + + + + + + A #GParamSpec derived structure that contains the meta data for #GType properties. + + + + + + + + + A #GParamSpec derived structure that contains the meta data for integer properties. + + + + + + + + + + + + + + + A #GParamSpec derived structure that contains the meta data for 64bit integer properties. + + + + + + + + + + + + + + + A #GParamSpec derived structure that contains the meta data for long integer properties. + + + + + + + + + + + + + + + A #GParamSpec derived structure that contains the meta data for object properties. + + + + + + This is a type of #GParamSpec type that simply redirects operations to +another paramspec. All operations other than getting or +setting the value are redirected, including accessing the nick and +blurb, validating a value, and so forth. See +g_param_spec_get_redirect_target() for retrieving the overidden +property. #GParamSpecOverride is used in implementing +g_object_class_override_property(), and will not be directly useful +unless you are implementing a new base type similar to GObject. + + + + + + + + + A #GParamSpec derived structure that contains the meta data for %G_TYPE_PARAM +properties. + + + + + + A #GParamSpec derived structure that contains the meta data for pointer properties. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A #GParamSpec derived structure that contains the meta data for string +properties. + + + + + + + + + + + + + + + + + + + + + + + + This structure is used to provide the type system with the information +required to initialize and destruct (finalize) a parameter's class and +instances thereof. +The initialized structure is passed to the g_param_type_register_static() +The type system will perform a deep copy of this structure, so its memory +does not need to be persistent across invocation of +g_param_type_register_static(). + + + + + + + + + + + + + + + + + + + + + + + + + + + A #GParamSpec derived structure that contains the meta data for unsigned character properties. + + + + + + + + + + + + + + + A #GParamSpec derived structure that contains the meta data for unsigned integer properties. + + + + + + + + + + + + + + + A #GParamSpec derived structure that contains the meta data for unsigned 64bit integer properties. + + + + + + + + + + + + + + + A #GParamSpec derived structure that contains the meta data for unsigned long integer properties. + + + + + + + + + + + + + + + A #GParamSpec derived structure that contains the meta data for unichar (unsigned integer) properties. + + + + + + + + + A #GParamSpec derived structure that contains the meta data for #GValueArray properties. + + + + + + + + + + + + A #GParamSpec derived structure that contains the meta data for #GVariant properties. + + + + + + + + + + + + + + + + + The <structname>GParameter</structname> struct is an auxiliary structure used +to hand parameter name/value pairs to g_object_newv(). + + + + + + + + + + + + + + + + + + + The signal accumulator is a special callback function that can be used +to collect return values of the various callbacks that are called +during a signal emission. The signal accumulator is specified at signal +creation time, if it is left %NULL, no accumulation of callback return +values is performed. The return value of signal emissions is then the +value returned by the last callback. +should be aborted. Returning %FALSE means to abort the +current emission and %TRUE is returned for continuation. + + The accumulator function returns whether the signal emission + + + + + Signal invocation hint, see #GSignalInvocationHint. + + + + Accumulator to collect callback return values in, this is the return value of the current signal emission. + + + + A #GValue holding the return value of the signal handler. + + + + Callback data that was specified when creating the signal. + + + + + + A simple function pointer to get invoked when the signal is emitted. This +allows you to tie a hook to the signal type, so that it will trap all +emissions of that signal, from any object. +You may not attach these to signals created with the #G_SIGNAL_NO_HOOKS flag. +hook is disconnected (and destroyed). + + whether it wants to stay connected. If it returns %FALSE, the signal + + + + + Signal invocation hint, see #GSignalInvocationHint. + + + + the number of parameters to the function, including the instance on which the signal was emitted. + + + + the instance on which the signal was emitted, followed by the parameters of the emission. + + + + user data associated with the hook. + + + + + + The signal flags are used to specify a signal's behaviour, the overall +signal description outlines how especially the RUN flags control the +stages of a signal emission. + + + + + + + + + + The #GSignalInvocationHint structure is used to pass on additional information +to callbacks during a signal emission. + + + + + + + + + + + + The match types specify what g_signal_handlers_block_matched(), +g_signal_handlers_unblock_matched() and g_signal_handlers_disconnect_matched() +match signals by. + + + + + + + + + A structure holding in-depth information for a specific signal. It is +filled in by the g_signal_query() function. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A callback function used for notification when the state +of a toggle reference changes. See g_object_add_toggle_ref(). + + + + + + Callback data passed to g_object_add_toggle_ref() + + + + The object on which g_object_add_toggle_ref() was called. + + + + %TRUE if the toggle reference is now the last reference to the object. %FALSE if the toggle reference was the last reference and there are now other references. + + + + + + + + + + + + + + + + + + + + + + + An opaque structure used as the base of all classes. + + + + + + + + + + + + + + + + A callback function which is called when the reference count of a class +drops to zero. It may use g_type_class_ref() to prevent the class from +being freed. You should not call g_type_class_unref() from a +#GTypeClassCacheFunc function to prevent infinite recursion, use +g_type_class_unref_uncached() instead. +The functions have to check the class id passed in to figure +whether they actually want to cache the class of this type, since all +classes are routed through the same #GTypeClassCacheFunc chain. +called, %FALSE to continue. + + %TRUE to stop further #GTypeClassCacheFunc<!-- -->s from being + + + + + data that was given to the g_type_add_class_cache_func() call + + + + The #GTypeClass structure which is unreferenced + + + + + + The <type>GTypeDebugFlags</type> enumeration values can be passed to +g_type_init_with_debug_flags() to trigger debugging messages during runtime. +Note that the messages can also be triggered by setting the +<envar>GOBJECT_DEBUG</envar> environment variable to a ':'-separated list of +"objects" and "signals". + + + + + + + Bit masks used to check or determine characteristics of a type. + + + + + Bit masks used to check or determine specific characteristics of a +fundamental type. + + + + + + + A structure that provides information to the type system which is +used specifically for managing fundamental types. + + + + + + This structure is used to provide the type system with the information +required to initialize and destruct (finalize) a type's class and +its instances. +The initialized structure is passed to the g_type_register_static() function +(or is copied into the provided #GTypeInfo structure in the +g_type_plugin_complete_type_info()). The type system will perform a deep +copy of this structure, so its memory does not need to be persistent +across invocation of g_type_register_static(). + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + An opaque structure used as the base of all type instances. + + + + + + + + + + + + + + + + An opaque structure used as the base of all interface types. + + + + + + + + + A callback called after an interface vtable is initialized. +See g_type_add_interface_check(). + + + + + + data passed to g_type_add_interface_check(). + + + + the interface that has been initialized + + + + + + The members of the <structname>GTypeModule</structname> structure should not +be accessed directly, except for the @name field. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + In order to implement dynamic loading of types based on #GTypeModule, +the @load and @unload functions in #GTypeModuleClass must be implemented. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The <structname>GTypePlugin</structname> typedef is used as a placeholder +for objects that implement the <structname>GTypePlugin</structname> +interface. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The #GTypePlugin interface is used by the type system in order to handle +the lifecycle of dynamically loaded types. + + + + + + + + + + + + + + + + + + The type of the @complete_interface_info function of #GTypePluginClass. + + + + + + the #GTypePlugin + + + + the #GType of an instantiable type to which the interface is added + + + + the #GType of the interface whose info is completed + + + + the #GInterfaceInfo to fill in + + + + + + The type of the @complete_type_info function of #GTypePluginClass. + + + + + + the #GTypePlugin + + + + the #GType whose info is completed + + + + the #GTypeInfo struct to fill in + + + + the #GTypeValueTable to fill in + + + + + + The type of the @unuse_plugin function of #GTypePluginClass. + + + + + + the #GTypePlugin whose use count should be decreased + + + + + + The type of the @use_plugin function of #GTypePluginClass, which gets called +to increase the use count of @plugin. + + + + + + the #GTypePlugin whose use count should be increased + + + + + + A structure holding information for a specific type. It is +filled in by the g_type_query() function. + + + + + + + + + + + + + + + The #GTypeValueTable provides the functions required by the #GValue implementation, +to serve as a container for values of a type. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + An opaque structure used to hold different types of values. +to functions within a #GTypeValueTable structure, or implementations of +the g_value_*() API. That is, code portions which implement new fundamental +types. +#GValue users can not make any assumptions about how data is stored +within the 2 element @data union, and the @g_type member should +only be accessed through the G_VALUE_TYPE() macro. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A #GValueArray contains an array of #GValue elements. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The type of value transformation functions which can be registered with +g_value_register_transform_func(). + + + + + + Source value. + + + + Target value. + + + + + + A #GWeakNotify function can be added to an object as a callback that gets +triggered when the object is finalized. Since the object is already being +finalized when the #GWeakNotify is called, there's not much you could do +with the object, apart from e.g. using its adress as hash-index or the like. + + + + + + data that was provided when the weak reference was established + + + + the object being finalized + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/GSSDP-1.0.gir b/GSSDP-1.0.gir new file mode 100644 index 0000000..89130a2 --- /dev/null +++ b/GSSDP-1.0.gir @@ -0,0 +1,545 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Gda-4.0.gir b/Gda-4.0.gir new file mode 100644 index 0000000..43f9434 --- /dev/null +++ b/Gda-4.0.gir @@ -0,0 +1,18410 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Creates a new #GdaBatch object + + the new object + + + + + Copy constructor + + a the new copy of @orig + + + + + Add @stmt to the list of statements managed by @batch. A #GdaStatement object can be +added multiple times to a #GdaBatch object. + + + + + + a statement to add to @batch's statements list + + + + + + Removes @stmt from the list of statements managed by @batch. If @stmt is present several +times in @batch's statements' list, then only the first one is removed. + + + + + + a statement to remove from @batch's statements list + + + + + + Creates a string representing the contents of @batch. + + a string containing the serialized version of @batch + + + + + Get a list of the #GdaStatement objects contained in @batch + + a list of #GdaStatement which should not be modified. + + + + + + + Get a new #GdaSet object which groups all the execution parameters +which @batch needs for all the statements it includes. +This new object is returned though @out_params. +Note that if @batch does not need any parameter, then @out_params is set to %NULL. + + TRUE if no error occurred. + + + + + a place to store a new #GdaSet object, or %NULL + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + provider should have added an error (a #GdaConnectionEvent) to the connection. + + the length of the blob in bytes. In case of error, -1 is returned and the + + + + + Reads a chunk of bytes from the BLOB accessible through @op into @blob. +provider should have added an error to the connection. + + the number of bytes actually read. In case of error, -1 is returned and the + + + + + a #GdaBlob to read data to + + + + offset to read from the start of the blob (starts at 0) + + + + maximum number of bytes to read. + + + + + + Writes a chunk of bytes from a @blob to the BLOB accessible through @op, @blob is unchanged after +this call. +If @blob has an associated #GdaBlobOp (ie. if @blob->op is not %NULL) then the data to be written +using @op is the data fetched using @blob->op. +provider should have added an error to the connection. + + the number of bytes written. In case of error, -1 is returned and the + + + + + a #GdaBlob which contains the data to write + + + + offset to write from the start of the blob (starts at 0) + + + + + + Writes the whole contents of @blob into the blob manipulated by @op. If necessary the resulting +blob is truncated from its previous length. + + TRUE on success + + + + + a #GdaBlob which contains the data to write + + + + + + provider should have added an error (a #GdaConnectionEvent) to the connection. + + the length of the blob in bytes. In case of error, -1 is returned and the + + + + + Reads a chunk of bytes from the BLOB accessible through @op into @blob. +provider should have added an error to the connection. + + the number of bytes actually read. In case of error, -1 is returned and the + + + + + a #GdaBlob to read data to + + + + offset to read from the start of the blob (starts at 0) + + + + maximum number of bytes to read. + + + + + + Reads the whole contents of the blob manipulated by @op into @blob + + TRUE if @blob->data contains the whole BLOB manipulated by @op + + + + + a #GdaBlob to read data to + + + + + + Writes a chunk of bytes from a @blob to the BLOB accessible through @op, @blob is unchanged after +this call. +If @blob has an associated #GdaBlobOp (ie. if @blob->op is not %NULL) then the data to be written +using @op is the data fetched using @blob->op. +provider should have added an error to the connection. + + the number of bytes written. In case of error, -1 is returned and the + + + + + a #GdaBlob which contains the data to write + + + + offset to write from the start of the blob (starts at 0) + + + + + + Writes the whole contents of @blob into the blob manipulated by @op. If necessary the resulting +blob is truncated from its previous length. + + TRUE on success + + + + + a #GdaBlob which contains the data to write + + + + + + + + + + + + + + + + + + + the length of the blob in bytes. In case of error, -1 is returned and the + + + + + + + + + + + + + the number of bytes actually read. In case of error, -1 is returned and the + + + + + + + + a #GdaBlob to read data to + + + + offset to read from the start of the blob (starts at 0) + + + + maximum number of bytes to read. + + + + + + + + + the number of bytes written. In case of error, -1 is returned and the + + + + + + + + a #GdaBlob which contains the data to write + + + + offset to write from the start of the blob (starts at 0) + + + + + + + + + TRUE on success + + + + + + + + a #GdaBlob which contains the data to write + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + a newly allocated #GdaColumn object. + + + + + Creates a new #GdaColumn object from an existing one. +in @column. + + a newly allocated #GdaColumn with a copy of the data + + + + + + the column's description, in any + + + + + Sets the column's description + + + + + + title name. + + + + + + + the name of @column. + + + + + Sets the name of @column to @name. + + + + + + the new name of @column. + + + + + + + the database type of @column. + + + + + Defines @column's database type + + + + + + a string + + + + + + + the type of @column. + + + + + Sets the type of @column to @type. + + + + + + the new type of @column. + + + + + + Gets the 'allow null' flag of the given column. + + whether the given column allows null values or not (%TRUE or %FALSE). + + + + + Sets the 'allow null' flag of the given column. + + + + + + whether the given column should allows null values or not. + + + + + + + whether the given column is an auto incremented one (%TRUE or %FALSE). + + + + + Sets the auto increment flag for the given column. + + + + + + auto increment status. + + + + + + containing data model. + + the position of the column refer to in the + + + + + Sets the position of the column refer to in the containing +data model. + + + + + + the wanted position of the column in the containing data model. + + + + + + + @column's default value, as a #GValue object. + + + + + Sets @column's default #GValue. + + + + + + default #GValue for the column + + + + + + Get the value associated to a named attribute. +Attributes can have any name, but Libgda proposes some default names, see <link linkend="libgda-40-Attributes-manager.synopsis">this section</link>. + + a read-only #GValue, or %NULL if not attribute named @attribute has been set for @column + + + + + attribute name as a string + + + + + + Set the value associated to a named attribute. The @attribute string is 'stolen' by this method, and +the memory it uses will be freed using the @destroy function when no longer needed (if @destroy is %NULL, +then the string will not be freed at all). +Attributes can have any name, but Libgda proposes some default names, +see <link linkend="libgda-40-Attributes-manager.synopsis">this section</link>. +If there is already an attribute named @attribute set, then its value is replaced with the new value (@value is +copied), except if @value is %NULL, in which case the attribute is removed. +For example one would use it as: +<code> +gda_column_set_attribute (holder, g_strdup (my_attribute), g_free, my_value); +gda_column_set_attribute (holder, GDA_ATTRIBUTE_NAME, NULL, my_value); +</code> +does it modify the table definition of the tables used by a SELECT statement is the model was created from a +SELECT statement). + + + + + + attribute name as a static string + + + + a #GValue, or %NULL + + + + a function to be called when @attribute is not needed anymore, or %NULL + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Get a pointer to the global GdaConfig object + + a non %NULL pointer to a #GdaConfig + + + + + Get information about the DSN named @dsn_name. +and optionally &lt;password&gt; are provided, they are ignored). Also see the gda_dsn_split() utility +function. + + a pointer to read-only #GdaDsnInfo structure, or %NULL if not found + + + + + the name of the DSN to look for + + + + + + Add or update a DSN from the definition in @info + + TRUE if no error occurred + + + + + a pointer to a filled GdaDsnInfo structure + + + + + + Remove the DSN named @dsn_name + + TRUE if no error occurred + + + + + the name of the DSN to remove + + + + + + Tells if the data source identified as @dsn_name needs any authentication. If a &lt;username&gt; +and optionally a &lt;password&gt; are specified, they are ignored. + + TRUE if an authentication is needed + + + + + the name of a DSN, in the "[&lt;username&gt;[:&lt;password&gt;]@]&lt;DSN&gt;" format + + + + + + Get a #GdaDataModel representing all the configured DSN, and keeping itself up to date with +the changes in the declared DSN. +The returned data model is composed of the following columns: +<itemizedlist> +<listitem><para>DSN name</para></listitem> +<listitem><para>Provider name</para></listitem> +<listitem><para>Description</para></listitem> +<listitem><para>Connection string</para></listitem> +<listitem><para>Username if it exists</para></listitem> +</itemizedlist> + + a new #GdaDataModel + + + + + Tells if the global (system) configuration can be modified (considering +system permissions and settings) + + TRUE if system-wide configuration can be modified + + + + + Get the number of defined DSN + + the number of defined DSN + + + + + Get the index (starting at 0) of the DSN named @dsn_name + + the index or -1 if not found + + + + + a DSN + + + + + + Get a pointer to a read-only #GdaDsnInfo at the @index position + + the pointer or %NULL if no DSN exists at position @index + + + + + an index + + + + + + Get some information about the a database provider (adapter) named + + a pointer to read-only #GdaProviderInfo structure, or %NULL if not found + + + + + a database provider + + + + + + Get a pointer to the session-wide #GdaServerProvider for the +provider named @provider_name. The caller must not call g_object_unref() on the +returned object. + + a pointer to the #GdaServerProvider, or %NULL if an error occurred + + + + + a database provider + + + + + + Get a #GdaDataModel representing all the installed database providers. +The returned data model is composed of the following columns: +<itemizedlist> +<listitem><para>Provider name</para></listitem> +<listitem><para>Description</para></listitem> +<listitem><para>DSN parameters</para></listitem> +<listitem><para>Authentication parameters</para></listitem> +<listitem><para>File name of the plugin</para></listitem> +</itemizedlist> + + a new #GdaDataModel + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + This function is the way of opening database connections with libgda, using a pre-defined data source (DSN), +see gda_config_define_dsn() for more information about how to define a DSN. If you don't want to define +a DSN, it is possible to use gda_connection_open_from_string() instead of this method. +(if &lt;username&gt; and/or &lt;password&gt; are provided, and @auth_string is %NULL, then these username +and passwords will be used). Note that if provided, &lt;username&gt; and &lt;password&gt; +must be encoded as per RFC 1738, see gda_rfc1738_encode() for more information. +The @auth_string can contain the authentication information for the server +to accept the connection. It is a string containing semi-colon seperated named value, usually +like "USERNAME=...;PASSWORD=..." where the ... are replaced by actual values. Note that each +name and value must be encoded as per RFC 1738, see gda_rfc1738_encode() for more information. +The actual named parameters required depend on the provider being used, and that list is available +as the <parameter>auth_params</parameter> member of the #GdaProviderInfo structure for each installed +provider (use gda_config_get_provider_info() to get it). Also one can use the "gda-sql-4.0 -L" command to +list the possible named parameters. + + a new #GdaConnection if connection opening was sucessfull or %NULL if there was an error. + + + + + data source name. + + + + authentication string, or %NULL + + + + options for the connection (see #GdaConnectionOptions). + + + + + + Opens a connection given a provider ID and a connection string. This +allows applications to open connections without having to create +a data source (DSN) in the configuration. The format of @cnc_string is +similar to PostgreSQL and MySQL connection strings. It is a semicolumn-separated +series of &lt;key&gt;=&lt;value&gt; pairs, where each key and value are encoded as per RFC 1738, +see gda_rfc1738_encode() for more information. +The possible keys depend on the provider, the "gda-sql-4.0 -L" command +can be used to list the actual keys for each installed database provider. +For example the connection string to open an SQLite connection to a database +file named "my_data.db" in the current directory would be <constant>"DB_DIR=.;DB_NAME=my_data"</constant>. +"[&lt;provider&gt;://][&lt;username&gt;[:&lt;password&gt;]@]&lt;connection_params&gt;" +(if &lt;username&gt; and/or &lt;password&gt; are provided, and @auth_string is %NULL, then these username +and passwords will be used, and if &lt;provider&gt; is provided and @provider_name is %NULL then this +provider will be used). Note that if provided, &lt;username&gt;, &lt;password&gt; and &lt;provider&gt; +must be encoded as per RFC 1738, see gda_rfc1738_encode() for more information. +The @auth_string must contain the authentication information for the server +to accept the connection. It is a string containing semi-colon seperated named values, usually +like "USERNAME=...;PASSWORD=..." where the ... are replaced by actual values. Note that each +name and value must be encoded as per RFC 1738, see gda_rfc1738_encode() for more information. +The actual named parameters required depend on the provider being used, and that list is available +as the <parameter>auth_params</parameter> member of the #GdaProviderInfo structure for each installed +provider (use gda_config_get_provider_info() to get it). Similarly to the format of the connection +string, use the "gda-sql-4.0 -L" command to list the possible named parameters. +Additionally, it is possible to have the connection string +respect the "&lt;provider_name&gt;://&lt;real cnc string&gt;" format, in which case the provider name +and the real connection string will be extracted from that string (note that if @provider_name +is not %NULL then it will still be used as the provider ID). + + a new #GdaConnection if connection opening was sucessfull or %NULL if there was an error. + + + + + provider ID to connect to, or %NULL + + + + connection string. + + + + authentication string, or %NULL + + + + options for the connection (see #GdaConnectionOptions). + + + + + + Opens an SQLite connection even if the SQLite provider is not installed, +to be used by database providers which need a temporary database to store +some information. + + a new #GdaConnection, or %NULL if an error occurred + + + + + the directory the database file will be in, or %NULL for the default TMP directory + + + + the database file name + + + + if %TRUE, then the database file will be removed afterwards + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Tries to open the connection. + + TRUE if the connection is opened, and FALSE otherwise. + + + + + Closes the connection to the underlying data source, but first emits the +"conn-to-close" signal. + + + + + + Closes the connection to the underlying data source, without emiting any warning signal. + + + + + + Checks whether a connection is open or not. + + %TRUE if the connection is open, %FALSE if it's not. + + + + + Gets the #GdaConnectionOptions used to open this connection. + + the connection options. + + + + + Gets a pointer to the #GdaServerProvider object used to access the database + + the #GdaServerProvider (NEVER NULL) + + + + + Gets the name (identifier) of the database provider used by @cnc + + a non modifiable string + + + + + Creates a new #GdaServerOperation object which can be modified in order +to perform the type type of action. It is a wrapper around the gda_server_provider_create_operation() +method. +of operation or if an error occurred + + a new #GdaServerOperation object, or %NULL in the connection's provider does not support the @type type + + + + + the type of operation requested + + + + an optional list of parameters + + + + + + Performs the operation described by @op (which should have been created using +gda_connection_create_operation()). It is a wrapper around the gda_server_provider_perform_operation() +method. + + TRUE if no error occurred + + + + + a #GdaServerOperation object + + + + + + to. + + the data source name the connection object is connected + + + + + Gets the connection string used to open this connection. +The connection string is the string sent over to the underlying +database provider, which describes the parameters to be used +to open a connection on the underlying data source. + + the connection string used when opening the connection. + + + + + Gets the user name used to open this connection. + + the user name. + + + + + Retrieves a list of the last errors occurred during the connection. The returned list is +chronologically ordered such as that the most recent event is the #GdaConnectionEvent of the first node. + + a #GList of #GdaConnectionEvent objects (the list should not be modified) + + + + + + + Creates a new parser object able to parse the SQL dialect understood by @cnc. +If the #GdaServerProvider object internally used by @cnc does not have its own parser, +then %NULL is returned, and a general SQL parser can be obtained +using gda_sql_parser_new(). + + a new #GdaSqlParser object, or %NULL + + + + + Executes all the statements contained in @batch (in the order in which they were added to @batch), and +returns a list of #GObject objects, at most one #GObject for each statement; see gda_connection_statement_execute() +for details about the returned objects. +If one of the statement fails, then none of the subsequent statement will be executed, and the method returns +the list of #GObject created by the correct execution of the previous statements. If a transaction is required, +then it should be started before calling this method. + + a new list of #GObject objects + + + + + + + a #GdaBatch object which contains all the statements to execute + + + + a #GdaSet object (which can be obtained using gda_batch_get_parameters()), or %NULL + + + + specifies how the returned data model(s) will be used, as a #GdaStatementModelUsage enum + + + + + + Use this method to get a correctly quoted (if necessary) SQL identifier which can be used +in SQL statements, from @id. If @id is already correctly quoted for @cnc, then a copy of @id +may be returned. +This method may add double quotes (or other characters) around @id: +<itemizedlist> +<listitem><para>if @id is a reserved SQL keyword (such as SELECT, INSERT, ...)</para></listitem> +<listitem><para>if @id contains non allowed characters such as spaces, or if it starts with a digit</para></listitem> +<listitem><para>in any other event as necessary for @cnc, depending on the the options passed when opening the @cnc +connection, and specifically the <link linkend="GDA-CONNECTION-OPTIONS-SQL-IDENTIFIERS-CASE-SENSITIVE:CAPS"> +GDA_CONNECTION_OPTIONS_SQL_IDENTIFIERS_CASE_SENSITIVE</link> option.</para></listitem> +</itemizedlist> +One can safely pass an already quoted @id to this method, either with quoting characters allowed by @cnc or using the +double quote (") character. + + a new string, to free with g_free() once not needed anymore + + + + + an SQL identifier + + + + + + Renders @stmt as an SQL statement, adapted to the SQL dialect used by @cnc + + a new string, or %NULL if an error occurred + + + + + a #GdaStatement object + + + + a #GdaSet object (which can be obtained using gda_statement_get_parameters()), or %NULL + + + + SQL rendering flags, as #GdaStatementSqlFlag OR'ed values + + + + a place to store the list of individual #GdaHolder objects within @params which have been used + + + + + + + + Ask the database accessed through the @cnc connection to prepare the usage of @stmt. This is only useful +if @stmt will be used more than once (however some database providers may always prepare statements +before executing them). +This function is also useful to make sure @stmt is fully understood by the database before actually executing it. +Note however that it is also possible that gda_connection_statement_prepare() fails when +gda_connection_statement_execute() does not fail (this will usually be the case with statements such as +<![CDATA["SELECT * FROM ##tablename::string"]]> because database usually don't allow variables to be used in place of a +table name). + + TRUE if no error occurred. + + + + + a #GdaStatement object + + + + + + Executes @stmt. +As @stmt can, by desing (and if not abused), contain only one SQL statement, the +return object will either be: +<itemizedlist> +<listitem><para>a #GdaDataSelect object (which is also a #GdaDataModel) if @stmt is a SELECT statement +(usually a GDA_SQL_STATEMENT_SELECT, see #GdaSqlStatementType) +containing the results of the SELECT. The resulting data model is by default read only, but +modifications can be enabled, see the #GdaDataSelect's documentation for more information.</para></listitem> +<listitem><para>a #GdaSet for any other SQL statement which correctly executed. In this case +(if the provider supports it), then the #GdaSet may contain value holders named: +<itemizedlist> +<listitem><para>a (gint) #GdaHolder named "IMPACTED_ROWS"</para></listitem> +<listitem><para>a (GObject) #GdaHolder named "EVENT" which contains a #GdaConnectionEvent</para></listitem> +</itemizedlist></para></listitem> +</itemizedlist> +If @last_insert_row is not %NULL and @stmt is an INSERT statement, then it will contain (if the +provider used by @cnc supports it) a new #GdaSet object composed of value holders named "+&lt;column number&gt;" +starting at column 0 which contain the actual inserted values. For example if a table is composed of an 'id' column +which is auto incremented and a 'name' column then the execution of a "INSERT INTO mytable (name) VALUES ('joe')" +query will return a #GdaSet with two holders: +<itemizedlist> +<listitem><para>one with the '+0' ID which may for example contain 1 (note that its "name" property should be "id")</para></listitem> +<listitem><para>one with the '+1' ID which will contain 'joe' (note that its "name" property should be "name")</para></listitem> +</itemizedlist> +This method may fail with a %GDA_SERVER_PROVIDER_ERROR domain error (see the #GdaServerProviderError error codes). +be executed and this method will return %NULL. +invalid parameters, then the statement can't be executed and this method will return %NULL, unless the +invalid parameters and if @model_usage has the GDA_STATEMENT_MODEL_ALLOW_NOPARAM flag, then the returned +data model will contain no row but will have all the correct columns (even though some of the columns might +report as GDA_TYPE_NULL). In this case, if (after this method call) any of @params' parameters change +then the resulting data model will re-run itself, see the GdaDataSelect's +<link linkend="GdaDataSelect--auto-reset">auto-reset</link> property for more information. +GDA_STATEMENT_MODEL_CURSOR_FORWARD flags, then the default will be to return a random access data model +transaction will have been started by the database provider, and it's up to the caller to close the transaction +(which will then be locked) once all the blob ressources have been +liberated (when the returned data model is destroyed). See the section about +<link linkend="gen:blobs">Binary large objects (BLOBs)</link> for more information. +Also see the <link linkend="limitations">provider's limitations</link>, and the +<link linkend="data-select">Advanced GdaDataSelect usage</link> sections. + + a #GObject, or %NULL if an error occurred + + + + + a #GdaStatement object + + + + a #GdaSet object (which can be obtained using gda_statement_get_parameters()), or %NULL + + + + in the case where @stmt is a SELECT statement, specifies how the returned data model will be used + + + + a place to store a new #GdaSet object which contains the values of the last inserted row, or %NULL + + + + + + Executes a selection command on the given connection. The gda_execute_select_command() method can be easier +to use if one prefers to use some SQL directly. +This function returns a #GdaDataModel resulting from the SELECT statement, or %NULL +if an error occurred. +This function is just a convenience function around the gda_connection_statement_execute() +function. +See the documentation of the gda_connection_statement_execute() for information +about the @params list of parameters. +data source, or %NULL if an error occurred + + a #GdaDataModel containing the data returned by the + + + + + a #GdaStatement object. + + + + a #GdaSet object (which can be obtained using gda_statement_get_parameters()), or %NULL + + + + + + Executes a selection command on the given connection. +This function returns a #GdaDataModel resulting from the SELECT statement, or %NULL +if an error occurred. +This function is just a convenience function around the gda_connection_statement_execute() +function. +See the documentation of the gda_connection_statement_execute() for information +about the @params list of parameters. +data source, or %NULL if an error occurred + + a #GdaDataModel containing the data returned by the + + + + + a #GdaStatement object. + + + + a #GdaSet object (which can be obtained using gda_statement_get_parameters()), or %NULL + + + + specifies how the returned data model will be used as a #GdaStatementModelUsage enum + + + + a place to store an error, or %NULL + + + + + + + + + + Executes a selection command on the given connection. +This function returns a #GdaDataModel resulting from the SELECT statement, or %NULL +if an error occurred. +This function is just a convenience function around the gda_connection_statement_execute() +function. +See the documentation of the gda_connection_statement_execute() for information +about the @params list of parameters. +data source, or %NULL if an error occurred + + a #GdaDataModel containing the data returned by the + + + + + a #GdaStatement object. + + + + a #GdaSet object (which can be obtained using gda_statement_get_parameters()), or %NULL + + + + specifies how the returned data model will be used as a #GdaStatementModelUsage enum + + + + an array of GType to request each returned #GdaDataModel's column's GType, terminated with the G_TYPE_NONE value. Any value left to 0 will make the database provider determine the real GType. @col_types can also be %NULL if no column type is specified. + + + + + + + + Executes a non-selection statement on the given connection. The gda_execute_non_select_command() method can be easier +to use if one prefers to use some SQL directly. +This function returns the number of rows affected by the execution of @stmt, or -1 +if an error occurred, or -2 if the connection's provider does not return the number of rows affected. +This function is just a convenience function around the gda_connection_statement_execute() +function. +See the documentation of the gda_connection_statement_execute() for information +about the @params list of parameters. +See gda_connection_statement_execute() form more information about @last_insert_row. + + the number of rows affected (&gt;=0) or -1 or -2 + + + + + a #GdaStatement object. + + + + a #GdaSet object (which can be obtained using gda_statement_get_parameters()), or %NULL + + + + a place to store a new #GdaSet object which contains the values of the last inserted row, or %NULL + + + + + + This method is similar to gda_connection_statement_execute() but is asynchronous as it method returns +immediately with a task ID. It's up to the caller to use gda_connection_async_fetch_result() regularly to check +if the statement's execution is finished. +It is possible to call the method several times to request several statements to be executed asynchronously, the +statements will be executed in the order in which they were requested. +The parameters, if present, are copied and can be discarded or modified before the statement is actually executed. +The @stmt object is not copied but simply referenced (for performance reasons), and if it is modified before +it is actually executed, then its execution will not occur. It is however safe to call g_object_unref() on it if +it's not needed anymore. +The execution failure of any statement has no impact on the execution of other statements except for example if +the connection has a transaction started and the failure invalidates the transaction (as decided by the database +server). +but any other error) + + a task ID, or 0 if an error occurred (not an error regarding @stmt itself as its execution has not yet started + + + + + a #GdaStatement object + + + + a #GdaSet object (which can be obtained using gda_statement_get_parameters()), or %NULL + + + + in the case where @stmt is a SELECT statement, specifies how the returned data model will be used + + + + an array of GType to request each returned #GdaDataModel's column's GType, terminated with the G_TYPE_NONE + + + + + + TRUE if the values of the last interted row must be computed + + + + + + Use this method to obtain the result of the execution of a statement which has been executed asynchronously by +calling gda_connection_async_statement_execute(). This function is non locking and will return %NULL (and no +error will be set) if the statement has not been executed yet. +If the statement has been executed, this method returns the same value as gda_connection_statement_execute() +would have if the statement had been +executed synchronously. + + a #GObject, or %NULL if an error occurred + + + + + a task ID returned by gda_connection_async_statement_execute() + + + + a place to store a new #GdaSet object which contains the values of the last inserted row, or %NULL + + + + + + Requests that a task be cancelled. This operation may of may not have any effect +depending on the task's status, even if it returns %TRUE. If it returns %FALSE, +then the task has not been cancelled. + + TRUE if no error occurred + + + + + a task ID returned by gda_connection_async_statement_execute() + + + + + + Executes the statement upon which @rstmt is built. Note that as several statements can actually be executed by this +method, it is recommended to be within a transaction. +If @error is not %NULL and @stop_on_error is %FALSE, then it may contain the last error which occurred. +represent), one for each actual execution of the statement upon which @rstmt is built. If @stop_on_error is %FALSE, then +the list may contain some %NULL pointers which refer to statements which failed to execute. + + a new list of #GObject pointers (see gda_connection_statement_execute() for more information about what they + + + + + + + a #GdaRepetitiveStatement object + + + + specifies how the returned data model will be used as a #GdaStatementModelUsage enum + + + + an array of GType to request each returned GdaDataModel's column's GType, see gda_connection_statement_execute_select_full() for more information + + + + + + set to TRUE if the method has to stop on the first error. + + + + + + Starts a transaction on the data source, identified by the +Before starting a transaction, you can check whether the underlying +provider does support transactions or not by using the +gda_connection_supports_feature() function. +otherwise. + + %TRUE if the transaction was started successfully, %FALSE + + + + + the name of the transation to start, or %NULL + + + + the requested transaction level (%GDA_TRANSACTION_ISOLATION_UNKNOWN if not specified) + + + + + + Commits the given transaction to the backend database. You need to call +gda_connection_begin_transaction() first. +%FALSE otherwise. + + %TRUE if the transaction was finished successfully, + + + + + the name of the transation to commit, or %NULL + + + + + + Rollbacks the given transaction. This means that all changes +made to the underlying data source since the last call to +#gda_connection_begin_transaction() or #gda_connection_commit_transaction() +will be discarded. + + %TRUE if the operation was successful, %FALSE otherwise. + + + + + the name of the transation to commit, or %NULL + + + + + + Adds a SAVEPOINT named @name. + + TRUE if no error occurred + + + + + name of the savepoint to add + + + + + + Rollback all the modifications made after the SAVEPOINT named @name. + + TRUE if no error occurred + + + + + name of the savepoint to rollback to + + + + + + Delete the SAVEPOINT named @name when not used anymore. + + TRUE if no error occurred + + + + + name of the savepoint to delete + + + + + + Get the status of @cnc regarding transactions. The returned object should not be modified +or destroyed; however it may be modified or destroyed by the connection itself. +If %NULL is returned, then no transaction has been associated with @cnc + + a #GdaTransactionStatus object, or %NULL + + + + + + + + + + + + + + + Asks the underlying provider for if a specific feature is supported. + + %TRUE if the provider supports it, %FALSE if not. + + + + + feature to ask for. + + + + + + Get or initializes the #GdaMetaStore associated to @cnc + + a #GdaMetaStore object + + + + + Updates @cnc's associated #GdaMetaStore. If @context is not %NULL, then only the parts described by +explanations follow: +In order to keep the meta store's contents in a consistent state, the update process involves updating +the contents of all the tables related to one where the contents change. For example the "_columns" +table (which lists all the columns of a table) depends on the "_tables" table (which lists all the tables +in a schema), so if a row is added, removed or modified in the "_tables", then the "_columns" table's contents +needs to be updated as well regarding that row. +If @context is %NULL, then the update process will simply overwrite any data that was present in all the +meta store's tables with new (up to date) data even if nothing has changed, without having to build the +tables' dependency tree. This is the recommended way of proceeding when dealing with a meta store which +might be outdated. +On the other hand, if @context is not %NULL, then a tree of the dependencies has to be built (depending on +context may be useful for example in the following situations: +<itemizedlist> +<listitem><para>One knows that a database object has changed (for example a table created), and +may use the @context to request that only the information about that table be updated +</para></listitem> +<listitem><para>One is only interrested in the list of views, and may request that only the information +about views may be updated</para></listitem> +</itemizedlist> +When @context is not %NULL, and contains specified SQL identifiers (for example the "table_name" of the "_tables" +table), then each SQL identifier has to match the convention the #GdaMetaStore has adopted regarding +case sensitivity, using gda_connection_quote_sql_identifier() or gda_meta_store_sql_identifier_quote(). +see the <link linkend="information_schema:sql_identifiers"> +meta data section about SQL identifiers</link> for more information, and the documentation about the +gda_sql_identifier_quote() function which will be most useful. +Note however that usually <emphasis>more</emphasis> information will be updated than strictly requested by +the @context argument. +For more information, see the <link linkend="information_schema">Database structure</link> section, and +the <link linkend="howto-meta2">Update the meta data about a table</link> howto. + + TRUE if no error occurred + + + + + description of which part of @cnc's associated #GdaMetaStore should be updated, or %NULL + + + + + + Retrieves data stored in @cnc's associated #GdaMetaStore object. This method is useful +to easily get some information about the meta-data associated to @cnc, such as the list of +tables, views, and other database objects. +is up to date using gda_connection_update_meta_store() (it can become outdated if the database's schema +is modified). +For more information about the returned data model's attributes, or about the @meta_type and ... filter arguments, +see <link linkend="GdaConnectionMetaTypeHead">this description</link>. +Also, when using filters involving data which are SQL identifiers, make sure each SQL identifier +is represented using the #GdaMetaStore convention, using gda_meta_store_sql_identifier_quote() or +gda_meta_store_sql_identifier_quote(). +See the <link linkend="information_schema:sql_identifiers"> +meta data section about SQL identifiers</link> for more information, and the documentation about the +gda_sql_identifier_quote() function which will be most useful. +for freeing the returned model using g_object_unref(). + + a #GdaDataModel containing the data required. The caller is responsible + + + + + describes which data to get. + + + + a place to store errors, or %NULL + + + + the number of filters in the @... argument + + + + + + + + + + see #gda_connection_get_meta_store_data +for freeing the returned model using g_object_unref(). + + a #GdaDataModel containing the data required. The caller is responsible + + + + + describes which data to get. + + + + a #GList of #GdaHolder objects + + + + + + + + set opaque @data, you'll have to do it yourself. + + + + + + an opaque structure, known only to the provider for which @cnc is opened + + + + function to call when the connection closes and @data needs to be destroyed + + + + + + Get the opaque pointer previously set using gda_connection_internal_set_provider_data(). +If it's not set, then add a connection event and returns %NULL + + the pointer to the opaque structure set using gda_connection_internal_set_provider_data() + + + + + Adds an event to the given connection. This function is usually +called by providers, to inform clients of events that happened +during some operation. +As soon as a provider (or a client, it does not matter) calls this +function with an @event object which is an error, +the connection object emits the "error" signal, to which clients can connect to be +informed of events. + + + + + + is stored internally, so you don't need to unref it. + + + + + + Adds a new error to the given connection object. This is just a convenience +function that simply creates a #GdaConnectionEvent and then calls +#gda_server_connection_add_error. + + a new #GdaConnectionEvent object, however the caller does not hold a reference to the returned object, and if need be the caller must call g_object_ref() on it. + + + + + a format string (see the printf(3) documentation). + + + + + + + + + + This function lets you clear the list of #GdaConnectionEvent's of the +given connection. + + + + + + Internal functions to be called by database providers when a transaction has been started +to keep track of the transaction status of the connection. +has already been called because a statement's execution was necessary to perform +the action. + + + + + + name of the parent transaction, or %NULL + + + + transaction's name, or %NULL + + + + isolation level. + + + + + + Internal functions to be called by database providers when a transaction has been rolled +back to keep track of the transaction status of the connection +has already been called because a statement's execution was necessary to perform +the action. + + + + + + transaction's name, or %NULL + + + + + + Internal functions to be called by database providers when a transaction has been committed +to keep track of the transaction status of the connection +has already been called because a statement's execution was necessary to perform +the action. + + + + + + transaction's name, or %NULL + + + + + + Internal functions to be called by database providers when a statement has been executed +to keep track of the transaction status of the connection + + + + + + a #GdaStatement which has been executed + + + + execution's parameters + + + + a #GdaConnectionEvent if the execution failed, or %NULL + + + + + + Internal functions to be called by database providers when a savepoint has been added +to keep track of the transaction status of the connection +has already been called because a statement's execution was necessary to perform +the action. + + + + + + name of the parent transaction, or %NULL + + + + savepoint's name, or %NULL + + + + + + Internal functions to be called by database providers when a savepoint has been rolled back +to keep track of the transaction status of the connection +has already been called because a statement's execution was necessary to perform +the action. + + + + + + savepoint's name, or %NULL + + + + + + Internal functions to be called by database providers when a savepoint has been removed +to keep track of the transaction status of the connection +has already been called because a statement's execution was necessary to perform +the action. + + + + + + savepoint's name, or %NULL + + + + + + Internal function to be called by database providers to force a transaction status +change. + + + + + + the new state + + + + + + Internal function to be called by database providers to reset the transaction status. + + + + + + Declares that @prepared_stmt is a prepared statement object associated to @gda_stmt within the connection +(meaning the connection increments the reference counter of @prepared_stmt). +If @gda_stmt changes or is destroyed, the the association will be lost and the connection will lose the +reference it has on @prepared_stmt. + + + + + + a #GdaStatement object + + + + a prepared statement object (as a #GdaPStmt object, or more likely a descendant) + + + + + + gda_connection_add_prepared_statement() does. + + + + + + a #GdaStatement object + + + + + + Retrieves a pointer to an object representing a prepared statement for @gda_stmt within @cnc. The +association must have been done using gda_connection_add_prepared_statement(). + + the prepared statement, or %NULL if no association exists + + + + + a #GdaStatement object + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Creates a new uninitialized event object. This class is used for communicating +events from the different providers to the clients. + + the event object. + + + + + the type of event + + + + + + Sets @event's severity (from a simple notice to a fatal event) +This function should not be called directly. + + + + + + the severity of the event + + + + + + Get @event's severity (from a simple notice to a fatal event) + + the event type + + + + + Get the description of the event. Note that is @event's type is GDA_CONNECTION_EVENT_COMMAND, +the the description is the SQL of the command. + + @event's description. + + + + + Sets @event's @description. This function should not be called directly. + + + + + + a description. + + + + + + + @event's code (the code is specific to the provider being used) + + + + + If you want to have a common understanding of the event codes, use +gda_connection_event_get_gda_code() instead. +This function should not be called directly + + + + + + a code. + + + + + + Retrieve the code associated to @event. + + the #GdaConnectionEventCode event's code + + + + + library. If you want to specify the corresponding provider specific code, +use gda_connection_event_get_code() or gda_connection_event_get_sqlstate() instead. +This function should not be called directly + + + + + + a code + + + + + + + @event's source. + + + + + Sets @event's @source; this function should not be called directly + + + + + + a source. + + + + + + Get the SQLSTATE value of @event. Even though the SQLSTATE values are specified by ANSI SQL and ODBC, +consult each DBMS for the possible values. However, the "00000" (success) value means that there is no error, +and the "HY000" (general error) value means an error but no better error code available. + + @event's SQL state. + + + + + Changes the SQLSTATE code of @event, this function should not be called directly +Sets @event's SQL state. + + + + + + SQL state. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Used with gda_connection_get_meta_store_data() to describe what meta data to extract from +a connection's associated #GdaMetaStore. + + + + + + + + + Specifies some aspects of a connection when opening it. +Additional information about the GDA_CONNECTION_OPTIONS_SQL_IDENTIFIERS_CASE_SENSITIVE flag: +<itemizedlist> +<listitem><para>For example without this flag, if the table +name specified in a #GdaServerOperation to create a table is +<emphasis>MyTable</emphasis>, then usually the database will create a table named +<emphasis>mytable</emphasis>, whereas with this flag, the table will be created +as <emphasis>MyTable</emphasis> (note that in the end the database may still decide +to name the table <emphasis>mytable</emphasis> or differently if it can't do +otherwise).</para></listitem> +<listitem><para>Libgda will not apply this rule when parsing SQL code, the SQL code being parsed +has to be conform to the database it will be used with</para></listitem> +</itemizedlist> +Additional information about the GDA_CONNECTION_OPTIONS_THREAD_SAFE and GDA_CONNECTION_OPTIONS_THREAD_ISOLATED flags: +The GDA_CONNECTION_OPTIONS_THREAD_SAFE flag specifies that it has to be able to use the returned connection object from +several threads at once (locking is ensured by the #GdaConnection itself). Depending on the database provider's +implementation and on the native libraries it uses, the "normal" connection object might not respect this requirement, +and in this case a specific thread is started and used as the unique thread which will manipulate the actual connection, +while a "wrapper connection" is actually returned and used by the caller (that wrapper connection passes method calls +from the calling thread to the actual connection's specific thread, and gets the results back). +The GDA_CONNECTION_OPTIONS_THREAD_ISOLATED forces using a specific thread and a "wrapper connection" even if the +"normal" connection would itself be thread safe; this is usefull for example to be sure the asynchronous API can +always be used (see gda_connection_async_statement_execute()). +Having a specific thread and a "wrapper connection" definitely has an impact on the performances (because it involves +messages passing between threads for every method call), so using the +GDA_CONNECTION_OPTIONS_THREAD_SAFE or GDA_CONNECTION_OPTIONS_THREAD_ISOLATED flags should be carefully considered. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Creates a new #GdaDataModel object which buffers the rows of @model. This object is useful +only if @model can only be accessed using cursor based method. + + a pointer to the newly created #GdaDataModel. + + + + + a #GdaDataModel + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + all the computed differences (as #GdaDiff structures) to @old_model, the resulting data model +should have the same contents as @new_model. + + a new #GdaDataComparator object + + + + + Data model to which the modifications should be applied + + + + Target data model. + + + + + + Defines the columns which will be used as a key when searching data. This is not mandatory but +will speed things up as less data will be processed. + + + + + + an array of @nb_cols values + + + + + + the size of the @col_numbers array + + + + + + Actually computes the differences between the data models for which @comp is defined. +For each difference computed, stored in a #GdaDiff structure, the "diff-computed" signal is emitted. +If one connects to this signal and returns FALSE in the signal handler, then computing differences will be +stopped and an error will be returned. + + TRUE if all the differences have been sucessfully computed, and FALSE if an error occurred + + + + + Get the number of differences as computed by the last time gda_data_comparator_compute_diff() was called. + + the number of computed differences + + + + + Get a pointer to the #GdaDiff structure representing the difference which number is @pos + + a pointer to a #GdaDiff, or %NULL if @pos is invalid + + + + + the requested difference number (starting at 0) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Get the attributes of @model such as how to access the data it contains if it's modifiable, etc. + + an ORed value of #GdaDataModelAccessFlags flags + + + + + + the number of rows in the given data model, or -1 if the number of rows is not known + + + + + + the number of columns in the given data model. + + + + + Queries the underlying data model implementation for a description +of a given column. That description is returned in the form of +a #GdaColumn structure, which contains all the information +about the given column in the data model. +and should not be destroyed; any modification will affect the whole data model. + + the description of the column. + + + + + column number. + + + + + + Get the index of the first column named @name in @model. + + the column index, or -1 if no column named @name was found + + + + + a column name + + + + + + + the name for the given column in a data model object. + + + + + column number. + + + + + + Sets the @name of the given @col in @model, and if its title is not set, also sets the +title to @name. + + + + + + column number + + + + name for the given column. + + + + + + + the title for the given column in a data model object. + + + + + column number. + + + + + + Sets the @title of the given @col in @model. + + + + + + column number + + + + title for the given column. + + + + + + Retrieves the data stored in the given position (identified by +the @col and @row parameters) on a data model. +This is the main function for accessing data in a model which allows random access to its data. +To access data in a data model using a cursor, use a #GdaDataModelIter object, obtained using +gda_data_model_create_iter(). +occur if you do so). +which means if you want to keep the value, a copy must be made, however it will remain valid +as long as the only Libgda usage is calling gda_data_model_get_value_at() for different values +of the same row. +If you want to modify a value stored in a #GdaDataModel, use the gda_data_model_set_value_at() or +gda_data_model_set_values() methods. +position, or %NULL on error (out-of-bound position, etc). + + a #GValue containing the value stored in the given + + + + + a valid column number. + + + + a valid row number. + + + + + + This method is similar to gda_data_model_get_value_at(), except that it also allows one to specify the expected +#GType of the value to get: if the data model returned a #GValue of a type different than the expected one, then +this method returns %NULL and an error code. +position, or %NULL on error (out-of-bound position, wrong data type, etc). + + a #GValue containing the value stored in the given + + + + + a valid column number. + + + + a valid row number. + + + + the expected data type of the returned value + + + + if TRUE, then NULL values (value of type %GDA_TYPE_NULL) will not generate any error + + + + + + Get the attributes of the value stored at (row, col) in @model, which +is an ORed value of #GdaValueAttribute flags. As a special case, if +if a row was added to @model. + + the attributes as an ORed value of #GdaValueAttribute + + + + + a valid column number + + + + a valid row number, or -1 + + + + + + Creates a new iterator object #GdaDataModelIter object which can be used to iterate through +rows in @model. +Depending on the data model's implementation, a new #GdaDataModelIter object may be created, +or a reference to an already existing #GdaDataModelIter may be returned. +If a new #GdaDataModelIter is created, then the row it represents is undefined. +For models which can be accessed +randomly, any row can be set using gda_data_model_iter_move_to_row(), +and for models which are accessible sequentially only then use +gda_data_model_iter_move_next() (and gda_data_model_iter_move_prev() if +supported). + + a #GdaDataModelIter object, or %NULL if an error occurred + + + + + Disables notifications of changes on the given data model. To +re-enable notifications again, you should call the +#gda_data_model_thaw function. + + + + + + Re-enables notifications of changes on the given data model. + + + + + + Modifies a value in @model, at (@col, @row). + + TRUE if the value in the data model has been updated and no error occurred + + + + + column number. + + + + row number. + + + + a #GValue (not %NULL) + + + + + + In a similar way to gda_data_model_set_value_at(), this method modifies a data model's contents +by setting several values at once. +If any value in @values is actually %NULL, then the value in the corresponding column is left +unchanged. + + TRUE if the value in the data model has been updated and no error occurred + + + + + row number. + + + + a list of #GValue, one for at most the number of columns of @model + + + + + + + + Appends a row to the data model (the new row will possibly have NULL values for all columns, +or some other values depending on the data model implementation) + + the number of the added row, or -1 if an error occurred + + + + + Appends a row to the given data model. If any value in @values is actually %NULL, then +it is considered as a default value. + + the number of the added row, or -1 if an error occurred + + + + + #GList of #GValue* representing the row to add. The length must match model's column count. These #GValue are value-copied (the user is still responsible for freeing them). + + + + + + + + Removes a row from the data model. + + %TRUE if successful, %FALSE otherwise. + + + + + the row number to be removed. + + + + + + Returns the first row where all the values in @values at the columns identified at + + the requested row number, of -1 if not found + + + + + a list of #GValue values (no %NULL is allowed) + + + + + + an array of #gint containing the column number to match each value of @values + + + + + + + + Sends a hint to the data model. The hint may or may not be handled by the data +model, depending on its implementation + + + + + + a hint to send to the model + + + + an optional value to specify the hint, or %NULL + + + + + + Exports data contained in @model to a string; the format is specified using the @format argument, see the +gda_data_model_export_to_file() documentation for more information about the @options argument (except for the +"OVERWRITE" option). + + a new string. + + + + + the format in which to export data + + + + an array containing which columns of @model will be exported, or %NULL for all columns + + + + + + the number of columns in @cols + + + + an array containing which rows of @model will be exported, or %NULL for all rows + + + + + + the number of rows in @rows + + + + list of options for the export + + + + + + Exports data contained in @model to the @file file; the format is specified using the @format argument. +Specifically, the parameters in the @options list can be: +<itemizedlist> +<listitem><para>"SEPARATOR": a string value of which the first character is used as a separator in case of CSV export +</para></listitem> +<listitem><para>"QUOTE": a string value of which the first character is used as a quote character in case of CSV export +</para></listitem> +<listitem><para>"FIELD_QUOTE": a boolean value which can be set to FALSE if no quote around the individual fields +is requeted, in case of CSV export</para></listitem> +<listitem><para>"NAME": a string value used to name the exported data if the export format is XML</para></listitem> +<listitem><para>"OVERWRITE": a boolean value which tells if the file must be over-written if it already exists. +</para></listitem> +</itemizedlist> + + TRUE if no error occurred + + + + + the format in which to export data + + + + the filename to export to + + + + an array containing which columns of @model will be exported, or %NULL for all columns + + + + + + the number of columns in @cols + + + + an array containing which rows of @model will be exported, or %NULL for all rows + + + + + + the number of rows in @rows + + + + list of options for the export + + + + + + Copy the contents of the @from data model to the @to data model. The copy stops as soon as an error +orrurs. +The @cols_trans is a hash table for which keys are @to columns numbers and the values are +the corresponding column numbers in the @from data model. To set the values of a column in @to to NULL, +create an entry in the hash table with a negative value. + + TRUE if no error occurred. + + + + + the source #GdaDataModel + + + + TRUE if @to is completely overwritten by @from's data, and FALSE if @from's data is appended to @to + + + + a #GHashTable for columns translating, or %NULL + + + + + + + + + Loads the data from @string into @model. + + TRUE if no error occurred. + + + + + the string to import data from + + + + a hash table containing which columns of @model will be imported, or %NULL for all columns, see gda_data_model_import_from_model() + + + + + + + list of options for the export + + + + + + Imports data contained in the @file file into @model; the format is detected. + + TRUE if no error occurred + + + + + the filename to import from + + + + a #GHashTable for columns translating, or %NULL, see gda_data_model_import_from_model() + + + + + + + list of options for the export + + + + + + Dumps a textual representation of the @model into a new string +The following environment variables can affect the resulting output: +<itemizedlist> +<listitem><para>GDA_DATA_MODEL_DUMP_ROW_NUMBERS: if set, the first column of the output will contain row numbers</para></listitem> +<listitem><para>GDA_DATA_MODEL_DUMP_TITLE: if set, also dump the data model's title</para></listitem> +<listitem><para>GDA_DATA_MODEL_DUMP_NULL_AS_EMPTY: if set, replace the 'NULL' string with an empty string for NULL values </para></listitem> +</itemizedlist> + + a new string. + + + + + Makes a copy of @src into a new #GdaDataModelArray object + + a new data model, or %NULL if an error occurred + + + + + Emits the 'row_inserted' and 'changed' signals on @model. +This method should only be used by #GdaDataModel implementations to +signal that a row has been inserted. + + + + + + row number. + + + + + + Emits the 'row_updated' and 'changed' signals on @model. +This method should only be used by #GdaDataModel implementations to +signal that a row has been updated. + + + + + + row number. + + + + + + Emits the 'row_removed' and 'changed' signal on @model. +This method should only be used by #GdaDataModel implementations to +signal that a row has been removed + + + + + + row number. + + + + + + Emits the 'reset' and 'changed' signal on @model. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Adds the data from an XML node to the given data model (see the DTD for that node +in the $prefix/share/libgda/dtd/libgda-array.dtd file). + + %TRUE if successful, %FALSE otherwise. + + + + + an XML node representing a &lt;gda_array_data&gt; XML node. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Creates a new #GdaDataModel object with the column types as +specified. + + a pointer to the newly created #GdaDataModel. + + + + + number of columns for rows in this data model. + + + + + + + + + + Creates a new #GdaDataModel object without initializing the column +types. Using gda_data_model_array_new_with_g_types() is usually better. + + a pointer to the newly created #GdaDataModel. + + + + + number of columns for rows in this data model. + + + + + + Get a pointer to a row in @model + + the #GdaRow, or %NULL if an error occurred + + + + + row number (starting from 0) + + + + + + Sets the number of columns for rows inserted in this model. +Also clears @model's contents. + + + + + + number of columns for rows this data model should use. + + + + + + Frees all the rows in @model. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Creates a new #GdaDataModel object to access the contents of the Berkeley DB file @file, +for the database @db_name if not %NULL + + a new #GdaDataModel + + + + + name of the file containing the database + + + + the name of the database within @filename, or %NULL + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Get the list of errors which have occurred while using @model + + a read-only list of #GError pointers, or %NULL if no error has occurred + + + + + + + Reset the list of errors which have occurred while using @model + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Struture to hold information about each database object (tables, views, ...), +its contents must not be modified. +one must use gda_sql_identifier_quote() to know if is it is necessary to surround by double quotes +before using in an SQL statement + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Get an ordered list of the tables @store knows about. The tables are ordered in a way that tables dependencies +list. +but the strings present in the list must not be modified. + + a new list of tables names (as gchar*), the list must be freed when no longer needed, + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + This structure specifies a #GdaMetaDbObject to represent a table's specific attributes, +its contents must not be modified. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + This structure represents a table of view's column, its contents must not be modified. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + This structure represents a foreign key constraint, its contents must not be modified. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + This structure specifies a #GdaMetaDbObject to represent a view's specific attributes, +its contents must not be modified. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Creates a new #GdaSet object, and populates it with the list given as argument. +The list can then be freed as it is copied. All the value holders in @holders are referenced counted +and modified, so they should not be used anymore afterwards. + + a new #GdaSet object + + + + + a list of #GdaHolder objects + + + + + + + + Creates a new #GdaSet containing holders defined by each triplet in ... +For each triplet (id, Glib type and value), +the value must be of the correct type (gchar * if type is G_STRING, ...) +Note that this function is a utility function and that only a limited set of types are supported. Trying +to use an unsupported type will result in a warning, and the returned value holder holding a safe default +value. + + a new #GdaSet object + + + + + the number of value holders which will be contained in the new #GdaSet + + + + + + + + + + Creates a new #GdaSet object from the @xml_spec +specifications + + a new object, or %NULL if an error occurred + + + + + a string + + + + + + Creates a new #GdaSet object from the @xml_spec +specifications + + a new object, or %NULL if an error occurred + + + + + a #xmlNodePtr for a &lt;holders&gt; tag + + + + + + Creates a new #GdaSet object, copy of @set + + a new #GdaSet object + + + + + Set the value of the #GdaHolder which ID is @holder_id to a specified value + + TRUE if no error occurred and the value was set correctly + + + + + a place to store errors, or %NULL + + + + the ID of the holder to set the value + + + + + + + + + + Get the value of the #GdaHolder which ID is @holder_id + + the requested GValue, or %NULL (see gda_holder_get_value()) + + + + + the ID of the holder to set the value + + + + + + Finds a #GdaHolder using its ID + + the requested #GdaHolder or %NULL + + + + + the ID of the requested value holder + + + + + + Finds a #GdaHolder using its position + + the requested #GdaHolder or %NULL + + + + + the position of the requested #GdaHolder, starting at %0 + + + + + + Adds @holder to the list of holders managed within @set. +will not be added to the set (even if @holder's type or value is not the same as the +one already in @set). +with the same ID) + + TRUE if @holder has been added to @set (and FALSE if it has not been added because there is another #GdaHolder + + + + + a #GdaHolder object + + + + + + Removes a #GdaHolder from the list of holders managed by @set + + + + + + the #GdaHolder to remove from @set + + + + + + Add to @set all the holders of @set_to_merge. + + + + + + a #GdaSet object + + + + + + This method tells if all @set's #GdaHolder objects are valid, and if +they represent a valid combination of values, as defined by rules +error, then the returned value is TRUE, otherwise the return value is FALSE as soon as a signal handler +returns an error. + + TRUE if the set is valid + + + + + Finds a #GdaSetNode holding information for @holder, don't modify the returned structure + + the requested #GdaSetNode or %NULL + + + + + a #GdaHolder object + + + + + + Finds the #GdaSetSource structure used in @set for which @model is a +the data model (the returned structure should not be modified). + + the requested #GdaSetSource pointer or %NULL. + + + + + a #GdaDataModel object + + + + + + Finds a #GdaSetSource which contains the #GdaDataModel restricting the possible values of + + the requested #GdaSetSource or %NULL + + + + + a #GdaHolder object + + + + + + Finds a #GdaSetGroup which lists a #GdaSetNode containing @holder, +don't modify the returned structure. + + the requested #GdaSetGroup or %NULL + + + + + a #GdaHolder object + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Creates a new #GdaSqlParser object + + the new object + + + + + contains more than one statement, then the remaining part of the string is not parsed at all, and @remain (if +not %NULL) will point at the first non parsed character. +To include variables in the @sql string, see the +<link linkend="GdaSqlParser.description">GdaSqlParser's object description</link>. + + a new #GdaStatement object, or %NULL if an error occurred + + + + + the SQL string to parse + + + + location to store a pointer to remaining part of @sql in case @sql has multiple statement, or %NULL + + + + + + Parse @sql and creates a #GdaBatch object which contains all the #GdaStatement objects created while parsing (one object +per SQL statement). Empty statements (composed of spaces only) do not appear in the resulting object. +at some point, then the parsing stops and @remain may contain a non %NULL pointer, @error may be set, and %NULL +is returned. +if @sql is %NULL, then the returned #GdaBatch object will contain no statement. +To include variables in the @sql string, see the +<link linkend="GdaSqlParser.description">GdaSqlParser's object description</link>. + + a new #GdaBatch object, or %NULL if an error occurred + + + + + the SQL string to parse + + + + location to store a pointer to remaining part of @sql in case an error occurred while parsing @sql, or %NULL + + + + + + Parse @filename's contents and creates a #GdaBatch object which contains all the +#GdaStatement objects created while parsing (one object per SQL statement). +at some point, then the parsing stops, @error may be set and %NULL is returned +if @sql is %NULL, then the returned #GdaBatch object will contain no statement. + + a new #GdaBatch object, or %NULL if an error occurred + + + + + name of the file to parse + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Creates a new #GdaStatement object + + the new object + + + + + Copy constructor + + a the new copy of @orig + + + + + Creates a string representing the contents of @stmt. + + a string containing the serialized version of @stmt + + + + + Get a new #GdaSet object which groups all the execution parameters +which @stmt needs. This new object is returned though @out_params. +Note that if @stmt does not need any parameter, then @out_params is set to %NULL. + + TRUE if no error occurred. + + + + + a place to store a new #GdaSet object, or %NULL + + + + + + Renders @stmt as an SQL statement, with some control on how it is rendered. +If @cnc is not %NULL, then the rendered SQL will better be suited to be used by @cnc (in particular +it may include some SQL tweaks and/or proprietary extensions specific to the database engine used by @cnc): +in this case the result is similar to calling gda_connection_statement_to_sql(). + + a new string if no error occurred + + + + + a #GdaConnection object, or %NULL + + + + parameters contained in a single #GdaSet object + + + + a set of flags to control the rendering + + + + a place to store the list of actual #GdaHolder objects in @params used to do the rendering, or %NULL + + + + + + + + Get the type of statement held by @stmt. It returns GDA_SQL_STATEMENT_NONE if + + the statement type + + + + + Tells if @stmt is composed only of spaces (that is it has no real SQL code), and is completely +useless as such. + + TRUE if executing @stmt does nothing + + + + + Checks that @stmt's structure is correct. + + TRUE if @stmt's structure is correct + + + + + If @cnc is not %NULL then checks that every object (table, field, function) used in @stmt +actually exists in @cnc's database +If @cnc is %NULL, then cleans anything related to @cnc in @stmt. +See gda_sql_statement_check_validity() for more information. + + TRUE if every object actually exists in @cnc's database + + + + + a #GdaConnection object, or %NULL + + + + + + "Normalizes" some parts of @stmt, see gda_sql_statement_normalize() for more +information. + + TRUE if no error occurred + + + + + a #GdaConnection object + + + + + + Renders @stmt to its SQL representation, using @context to specify how each part of @stmt must +be rendered. This function is mainly used by database provider's implementations which require +to specialize some aspects of SQL rendering to be adapted to the database,'s own SQL dialect +(for example SQLite rewrites the 'FALSE' and 'TRUE' literals as '0' and 'NOT 0'). + + a new string, or %NULL if an error occurred + + + + + a #GdaSqlRenderingContext context + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Gdaui-4.0.gir b/Gdaui-4.0.gir new file mode 100644 index 0000000..51792db --- /dev/null +++ b/Gdaui-4.0.gir @@ -0,0 +1,4561 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Creates a new #GdauiDataCellRendererBin. Adjust rendering +parameters using object properties. Object properties can be set +globally (with g_object_set()). Also, with #GtkTreeViewColumn, you +can bind a property to a value in a #GtkTreeModel. For example, you +can bind the "active" property on the cell renderer to a bin value +in the model, thus causing the check button to reflect the state of +the model. + + the new cell renderer + + + + + a #GdaDataHandler object + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Creates a new #GdauiDataCellRendererBoolean. Adjust rendering +parameters using object properties. Object properties can be set +globally (with g_object_set()). Also, with #GtkTreeViewColumn, you +can bind a property to a value in a #GtkTreeModel. For example, you +can bind the "active" property on the cell renderer to a boolean value +in the model, thus causing the check button to reflect the state of +the model. + + the new cell renderer + + + + + a #GdaDataHandler object + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Creates a new #GdauiDataCellRendererInfo. Adjust rendering +parameters using object properties. Object properties can be set +globally (with g_object_set()). Also, with #GtkTreeViewColumn, you +can bind a property to a value in a #GtkTreeModel. For example, you +can bind the "active" property on the cell renderer to a boolean value +in the model, thus causing the check button to reflect the state of +the model. + + the new cell renderer + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Creates a new #GdauiEntry widget. + + the newly created #GdauiEntry widget. + + + + + a prefix (not modifiable) string, or %NULL + + + + a suffix (not modifiable) string, or %NULL + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Get a new string containing the contents of the widget as a string without the +prefix and/or suffix and/or format if they have been specified. This method differs +from calling gtk_entry_get_text() since the latest will return the complete text +in @entry including prefix and/or suffix and/or format. +internal modifications, or if gdaui_entry_set_text() was called with a %NULL +as its @text argument. + + a new string, or %NULL + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Creates a new #GdauiFormattedEntry widget. +Characters in @format are of two types: +Possible values for writeable characters are: +<itemizedlist> +<listitem><para>'0': digits</para></listitem> +<listitem><para>'9': digits excluded 0</para></listitem> +<listitem><para>'@': alpha</para></listitem> +<listitem><para>'^': alpha converted to upper case</para></listitem> +<listitem><para>'#': alphanumeric</para></listitem> +<listitem><para>'*': any char</para></listitem> +</itemizedlist> +if @mask is not %NULL, then it should only contains the follogin characters, which are used side by side with +<itemizedlist> +<listitem><para>'_': the corresponding character in @format is actually used as a writable character</para></listitem> +<listitem><para>'-': the corresponding character in @format is actually used as a writable character, but +the character will be removed from gdaui_formatted_entry_get_text()'s result if it was not +filled by the user</para></listitem> +<listitem><para>' ': the corresponding character in @format will not be considered as a writable character +but as a non writable character</para></listitem> +</itemizedlist> +position in @mask is the space character (' '), then C will not interpreted as a writable format +character as defined above. @mask does not be to have the same length as @format. + + the newly created #GdauiFormattedEntry widget. + + + + + a format string + + + + a mask string, or %NULL + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Creates a new #GdauiNumericEntry widget. + + the newly created #GdauiNumericEntry widget. + + + + + the numeric type + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Structure representing a plugin. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Creates a #GtkTreeModel interface with a #GdaTree, mapping columns to attributes' values. +For more information and limitations, see gdaui_tree_store_new(). + + the new object, or %NULL if an inconsistency exists in the parameters + + + + + a #GdaTree object + + + + number of columns in the tree store + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Gdk-2.0.gir b/Gdk-2.0.gir new file mode 100644 index 0000000..fa1ad78 --- /dev/null +++ b/Gdk-2.0.gir @@ -0,0 +1,23493 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Creates a new #GdkAppLaunchContext. + + a new #GdkAppLaunchContext + + + + + Sets the display on which applications will be launched when +using this context. See also gdk_app_launch_context_set_screen(). + + + + + + a #GdkDisplay + + + + + + Sets the screen on which applications will be launched when +using this context. See also gdk_app_launch_context_set_display(). +If both @screen and @display are set, the @screen takes priority. +If neither @screen or @display are set, the default screen and +display are used. + + + + + + a #GdkScreen + + + + + + Sets the workspace on which applications will be launched when +using this context when running under a window manager that +supports multiple workspaces, as described in the +<ulink url="http://www.freedesktop.org/Standards/wm-spec">Extended +Window Manager Hints</ulink>. +When the workspace is not specified or @desktop is set to -1, +it is up to the window manager to pick one, typically it will +be the current workspace. + + + + + + the number of a workspace, or -1 + + + + + + Sets the timestamp of @context. The timestamp should ideally +be taken from the event that triggered the launch. +Window managers can use this information to avoid moving the +focus to the newly launched application when the user is busy +typing in another window. This is also known as 'focus stealing +prevention'. + + + + + + a timestamp + + + + + + Sets the icon for applications that are launched with this +context. +Window Managers can use this information when displaying startup +notification. +See also gdk_app_launch_context_set_icon_name(). + + + + + + a #GIcon, or %NULL + + + + + + Sets the icon for applications that are launched with this context. +The @icon_name will be interpreted in the same way as the Icon field +in desktop files. See also gdk_app_launch_context_set_icon(). +If both @icon and @icon_name are set, the @icon_name takes priority. +If neither @icon or @icon_name is set, the icon is taken from either +the file that is passed to launched application or from the #GAppInfo +for the launched application itself. + + + + + + an icon name, or %NULL + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Makes a copy of a color structure. The result +must be freed using gdk_color_free(). + + a copy of @color. + + + + + Frees a color structure created with +gdk_color_copy(). + + + + + + A hash function suitable for using for a hash +table that stores #GdkColor's. + + The hash function applied to @colora + + + + + Compares two colors. + + %TRUE if the two colors compare equal + + + + + another #GdkColor. + + + + + + Returns a textual specification of @color in the hexadecimal form +<literal>&num;rrrrggggbbbb</literal>, where <literal>r</literal>, +<literal>g</literal> and <literal>b</literal> are hex digits +representing the red, green and blue components respectively. + + a newly-allocated text string + + + + + + + Creates a new colormap for the given visual. + + the new #GdkColormap. + + + + + a #GdkVisual. + + + + if %TRUE, the newly created colormap will be a private colormap, and all colors in it will be allocated for the applications use. + + + + + + Gets the system's default colormap for the default screen. (See +gdk_colormap_get_system_for_screen ()) + + the default colormap. + + + + + Returns the size of the system's default colormap. +(See the description of struct #GdkColormap for an +explanation of the size of a colormap.) + + the size of the system's default colormap. + + + + + Deprecated function; use g_object_ref() instead. + + the colormap + + + + + Deprecated function; use g_object_unref() instead. + + + + + + Gets the screen for which this colormap was created. + + the screen for which this colormap was created. + + + + + Changes the value of the first @ncolors in a private colormap +to match the values in the <structfield>colors</structfield> +array in the colormap. This function is obsolete and +should not be used. See gdk_color_change(). + + + + + + the number of colors to change. + + + + + + Allocates colors from a colormap. +allocated. + + The number of colors that were not successfully + + + + + The color values to allocate. On return, the pixel values for allocated colors will be filled in. + + + + The number of colors in @colors. + + + + If %TRUE, the colors are allocated writeable (their values can later be changed using gdk_color_change()). Writeable colors cannot be shared between applications. + + + + If %TRUE, GDK will attempt to do matching against existing colors if the colors cannot be allocated as requested. + + + + An array of length @ncolors. On return, this indicates whether the corresponding color in @colors was successfully allocated or not. + + + + + + Allocates a single color from a colormap. + + %TRUE if the allocation succeeded. + + + + + the color to allocate. On return the <structfield>pixel</structfield> field will be filled in if allocation succeeds. + + + + If %TRUE, the color is allocated writeable (their values can later be changed using gdk_color_change()). Writeable colors cannot be shared between applications. + + + + If %TRUE, GDK will attempt to do matching against existing colors if the color cannot be allocated as requested. + + + + + + Frees previously allocated colors. + + + + + + the colors to free. + + + + the number of colors in @colors. + + + + + + Locates the RGB color in @colormap corresponding to the given +hardware pixel @pixel. @pixel must be a valid pixel in the +colormap; it's a programmer error to call this function with a +pixel which is not in the colormap. Hardware pixels are normally +obtained from gdk_colormap_alloc_colors(), or from a #GdkImage. (A +#GdkImage contains image data in hardware format, a #GdkPixbuf +contains image data in a canonical 24-bit RGB format.) +This function is rarely useful; it's used for example to +implement the eyedropper feature in #GtkColorSelection. + + + + + + pixel value in hardware display format + + + + #GdkColor with red, green, blue fields initialized + + + + + + Returns the visual for which a given colormap was created. + + the visual of the colormap. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Creates a new cursor from the set of builtin cursors. +Some useful ones are: +<itemizedlist> +<listitem><para> +<inlinegraphic format="PNG" fileref="right_ptr.png"></inlinegraphic> #GDK_RIGHT_PTR (right-facing arrow) +</para></listitem> +<listitem><para> +<inlinegraphic format="PNG" fileref="crosshair.png"></inlinegraphic> #GDK_CROSSHAIR (crosshair) +</para></listitem> +<listitem><para> +<inlinegraphic format="PNG" fileref="xterm.png"></inlinegraphic> #GDK_XTERM (I-beam) +</para></listitem> +<listitem><para> +<inlinegraphic format="PNG" fileref="watch.png"></inlinegraphic> #GDK_WATCH (busy) +</para></listitem> +<listitem><para> +<inlinegraphic format="PNG" fileref="fleur.png"></inlinegraphic> #GDK_FLEUR (for moving objects) +</para></listitem> +<listitem><para> +<inlinegraphic format="PNG" fileref="hand1.png"></inlinegraphic> #GDK_HAND1 (a right-pointing hand) +</para></listitem> +<listitem><para> +<inlinegraphic format="PNG" fileref="hand2.png"></inlinegraphic> #GDK_HAND2 (a left-pointing hand) +</para></listitem> +<listitem><para> +<inlinegraphic format="PNG" fileref="left_side.png"></inlinegraphic> #GDK_LEFT_SIDE (resize left side) +</para></listitem> +<listitem><para> +<inlinegraphic format="PNG" fileref="right_side.png"></inlinegraphic> #GDK_RIGHT_SIDE (resize right side) +</para></listitem> +<listitem><para> +<inlinegraphic format="PNG" fileref="top_left_corner.png"></inlinegraphic> #GDK_TOP_LEFT_CORNER (resize northwest corner) +</para></listitem> +<listitem><para> +<inlinegraphic format="PNG" fileref="top_right_corner.png"></inlinegraphic> #GDK_TOP_RIGHT_CORNER (resize northeast corner) +</para></listitem> +<listitem><para> +<inlinegraphic format="PNG" fileref="bottom_left_corner.png"></inlinegraphic> #GDK_BOTTOM_LEFT_CORNER (resize southwest corner) +</para></listitem> +<listitem><para> +<inlinegraphic format="PNG" fileref="bottom_right_corner.png"></inlinegraphic> #GDK_BOTTOM_RIGHT_CORNER (resize southeast corner) +</para></listitem> +<listitem><para> +<inlinegraphic format="PNG" fileref="top_side.png"></inlinegraphic> #GDK_TOP_SIDE (resize top side) +</para></listitem> +<listitem><para> +<inlinegraphic format="PNG" fileref="bottom_side.png"></inlinegraphic> #GDK_BOTTOM_SIDE (resize bottom side) +</para></listitem> +<listitem><para> +<inlinegraphic format="PNG" fileref="sb_h_double_arrow.png"></inlinegraphic> #GDK_SB_H_DOUBLE_ARROW (move vertical splitter) +</para></listitem> +<listitem><para> +<inlinegraphic format="PNG" fileref="sb_v_double_arrow.png"></inlinegraphic> #GDK_SB_V_DOUBLE_ARROW (move horizontal splitter) +</para></listitem> +<listitem><para> +#GDK_BLANK_CURSOR (Blank cursor). Since 2.16 +</para></listitem> +</itemizedlist> + + a new #GdkCursor + + + + + the #GdkDisplay for which the cursor will be created + + + + cursor to create + + + + + + Creates a new cursor from the set of builtin cursors for the default display. +See gdk_cursor_new_for_display(). +To make the cursor invisible, use %GDK_BLANK_CURSOR. + + a new #GdkCursor + + + + + cursor to create + + + + + + Creates a new cursor from a given pixmap and mask. Both the pixmap and mask +must have a depth of 1 (i.e. each pixel has only 2 values - on or off). +The standard cursor size is 16 by 16 pixels. You can create a bitmap +from inline data as in the below example. +<example><title>Creating a custom cursor</title> +<programlisting> +/<!-- -->* This data is in X bitmap format, and can be created with the 'bitmap' +utility. *<!-- -->/ +&num;define cursor1_width 16 +&num;define cursor1_height 16 +static unsigned char cursor1_bits[] = { +0x80, 0x01, 0x40, 0x02, 0x20, 0x04, 0x10, 0x08, 0x08, 0x10, 0x04, 0x20, +0x82, 0x41, 0x41, 0x82, 0x41, 0x82, 0x82, 0x41, 0x04, 0x20, 0x08, 0x10, +0x10, 0x08, 0x20, 0x04, 0x40, 0x02, 0x80, 0x01}; +static unsigned char cursor1mask_bits[] = { +0x80, 0x01, 0xc0, 0x03, 0x60, 0x06, 0x30, 0x0c, 0x18, 0x18, 0x8c, 0x31, +0xc6, 0x63, 0x63, 0xc6, 0x63, 0xc6, 0xc6, 0x63, 0x8c, 0x31, 0x18, 0x18, +0x30, 0x0c, 0x60, 0x06, 0xc0, 0x03, 0x80, 0x01}; +GdkCursor *cursor; +GdkPixmap *source, *mask; +GdkColor fg = { 0, 65535, 0, 0 }; /<!-- -->* Red. *<!-- -->/ +GdkColor bg = { 0, 0, 0, 65535 }; /<!-- -->* Blue. *<!-- -->/ +source = gdk_bitmap_create_from_data (NULL, cursor1_bits, +cursor1_width, cursor1_height); +mask = gdk_bitmap_create_from_data (NULL, cursor1mask_bits, +cursor1_width, cursor1_height); +cursor = gdk_cursor_new_from_pixmap (source, mask, &amp;fg, &amp;bg, 8, 8); +g_object_unref (source); +g_object_unref (mask); +gdk_window_set_cursor (widget->window, cursor); +</programlisting> +</example> + + a new #GdkCursor. + + + + + the pixmap specifying the cursor. + + + + the pixmap specifying the mask, which must be the same size as + + + + the foreground color, used for the bits in the source which are 1. The color does not have to be allocated first. + + + + the background color, used for the bits in the source which are 0. The color does not have to be allocated first. + + + + the horizontal offset of the 'hotspot' of the cursor. + + + + the vertical offset of the 'hotspot' of the cursor. + + + + + + Creates a new cursor from a pixbuf. +Not all GDK backends support RGBA cursors. If they are not +supported, a monochrome approximation will be displayed. +The functions gdk_display_supports_cursor_alpha() and +gdk_display_supports_cursor_color() can be used to determine +whether RGBA cursors are supported; +gdk_display_get_default_cursor_size() and +gdk_display_get_maximal_cursor_size() give information about +cursor sizes. +On the X backend, support for RGBA cursors requires a +sufficently new version of the X Render extension. + + a new #GdkCursor. + + + + + the #GdkDisplay for which the cursor will be created + + + + the #GdkPixbuf containing the cursor image + + + + the horizontal offset of the 'hotspot' of the cursor. + + + + the vertical offset of the 'hotspot' of the cursor. + + + + + + Creates a new cursor by looking up @name in the current cursor +theme. +the given name + + a new #GdkCursor, or %NULL if there is no cursor with + + + + + the #GdkDisplay for which the cursor will be created + + + + the name of the cursor + + + + + + + + + + + Adds a reference to @cursor. + + Same @cursor that was passed in + + + + + Removes a reference from @cursor, deallocating the cursor +if no references remain. + + + + + + Returns a #GdkPixbuf with the image used to display the cursor. +Note that depending on the capabilities of the windowing system and +on the cursor, GDK may not be able to obtain the image data. In this +case, %NULL is returned. + + a #GdkPixbuf representing @cursor, or %NULL + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Frees an array of #GdkTimeCoord that was returned by gdk_device_get_history(). + + + + + + an array of #GdkTimeCoord. + + + + the length of the array. + + + + + + Returns the core pointer device for the default display. +display and should not be freed. + + the core pointer device; this is owned by the + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Gets the current state of a device. + + + + + + a #GdkWindow. + + + + an array of doubles to store the values of the axes of @device in, or %NULL. + + + + location to store the modifiers, or %NULL. + + + + + + Obtains the motion history for a device; given a starting and +ending timestamp, return all events in the motion history for +the device in the given range of time. Some windowing systems +do not support motion history, in which case, %FALSE will +be returned. (This is not distinguishable from the case where +motion history is supported and no events were found.) +at least one event was found. + + %TRUE if the windowing system supports motion history and + + + + + the window with respect to which which the event coordinates will be reported + + + + starting timestamp for range of events to return + + + + ending timestamp for the range of events to return + + + + location to store a newly-allocated array of #GdkTimeCoord, or %NULL + + + + + + location to store the length of @events, or %NULL + + + + + + Interprets an array of double as axis values for a given device, +and locates the value in the array for a given axis use. + + %TRUE if the given axis use was found, otherwise %FALSE + + + + + pointer to an array of axes + + + + the use to look for + + + + location to store the found value. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Opens a display. + + a #GdkDisplay, or %NULL if the display could not be opened. + + + + + the name of the display to open + + + + + + Gets the default #GdkDisplay. This is a convenience +function for +<literal>gdk_display_manager_get_default_display (gdk_display_manager_get ())</literal>. +display. + + a #GdkDisplay, or %NULL if there is no default + + + + + Opens the default display specified by command line arguments or +environment variables, sets it as the default display, and returns +it. gdk_parse_args must have been called first. If the default +display has previously been set, simply returns that. An internal +function that should not be used by applications. +otherwise %NULL. + + the default display, if it could be opened, + + + + + + + + + + Gets the number of screen managed by the @display. + + number of screens. + + + + + Returns a screen object for one of the screens of the display. + + the #GdkScreen object + + + + + the screen number + + + + + + Get the default #GdkScreen for @display. + + the default #GdkScreen object for @display + + + + + Gets the name of the display. +by GDK and should not be modified or freed. + + a string representing the display name. This string is owned + + + + + Gets the number of screen managed by the @display. + + number of screens. + + + + + Returns a screen object for one of the screens of the display. + + the #GdkScreen object + + + + + the screen number + + + + + + Get the default #GdkScreen for @display. + + the default #GdkScreen object for @display + + + + + Release any pointer grab. + + + + + + a timestap (e.g. %GDK_CURRENT_TIME). + + + + + + Release any keyboard grab + + + + + + a timestap (e.g #GDK_CURRENT_TIME). + + + + + + Test if the pointer is grabbed. + + %TRUE if an active X pointer grab is in effect + + + + + Emits a short beep on @display + + + + + + Flushes any requests queued for the windowing system and waits until all +requests have been handled. This is often used for making sure that the +display is synchronized with the current state of the program. Calling +gdk_display_sync() before gdk_error_trap_pop() makes sure that any errors +generated from earlier requests are handled before the error trap is +removed. +This is most useful for X11. On windowing systems where requests are +handled synchronously, this function will do nothing. + + + + + + Flushes any requests queued for the windowing system; this happens automatically +when the main loop blocks waiting for new events, but if your application +is drawing without returning control to the main loop, you may need +to call this function explicitely. A common case where this function +needs to be called is when an application is executing drawing commands +from a thread other than the thread where the main loop is running. +This is most useful for X11. On windowing systems where requests are +handled synchronously, this function will do nothing. + + + + + + Closes the connection to the windowing system for the given display, +and cleans up associated resources. + + + + + + Returns the list of available input devices attached to @display. +The list is statically allocated and should not be freed. + + a list of #GdkDevice + + + + + + + Gets the next #GdkEvent to be processed for @display, fetching events from the +windowing system if necessary. +are pending. The returned #GdkEvent should be freed with gdk_event_free(). + + the next #GdkEvent to be processed, or %NULL if no events + + + + + Gets a copy of the first #GdkEvent in the @display's event queue, without +removing the event from the queue. (Note that this function will +not get more events from the windowing system. It only checks the events +that have already been moved to the GDK event queue.) +if no events are in the queue. The returned #GdkEvent should be freed with +gdk_event_free(). + + a copy of the first #GdkEvent on the event queue, or %NULL + + + + + Appends a copy of the given event onto the front of the event +queue for @display. + + + + + + a #GdkEvent. + + + + + + Adds a filter to be called when X ClientMessage events are received. +See gdk_window_add_filter() if you are interested in filtering other +types of events. + + + + + + the type of ClientMessage events to receive. This will be checked against the @message_type field of the XClientMessage event struct. + + + + the function to call to process the event. + + + + user data to pass to @func. + + + + + + Sets the double click time (two clicks within this time interval +count as a double click and result in a #GDK_2BUTTON_PRESS event). +Applications should <emphasis>not</emphasis> set this, it is a global +user-configured setting. + + + + + + double click time in milliseconds (thousandths of a second) + + + + + + Sets the double click distance (two clicks within this distance +count as a double click and result in a #GDK_2BUTTON_PRESS event). +See also gdk_display_set_double_click_time(). +Applications should <emphasis>not</emphasis> set this, it is a global +user-configured setting. + + + + + + distance in pixels + + + + + + Returns the core pointer device for the given display +display and should not be freed. + + the core pointer device; this is owned by the + + + + + Gets the current location of the pointer and the current modifier +mask for a given display. + + + + + + location to store the screen that the cursor is on, or %NULL. + + + + location to store root window X coordinate of pointer, or %NULL. + + + + location to store root window Y coordinate of pointer, or %NULL. + + + + location to store current modifier mask, or %NULL + + + + + + Obtains the window underneath the mouse pointer, returning the location +of the pointer in that window in @win_x, @win_y for @screen. Returns %NULL +if the window under the mouse pointer is not known to GDK (for example, +belongs to another application). + + the window under the mouse pointer, or %NULL + + + + + return location for x coordinate of the pointer location relative to the window origin, or %NULL + + + + return location for y coordinate of the pointer location relative + + + + + + Warps the pointer of @display to the point @x,@y on +the screen @screen, unless the pointer is confined +to a window by a grab, in which case it will be moved +as far as allowed by the grab. Warping the pointer +creates events as if the user had moved the mouse +instantaneously to the destination. +Note that the pointer should normally be under the +control of the user. This function was added to cover +some rare use cases like keyboard navigation support +for the color picker in the #GtkColorSelectionDialog. + + + + + + the screen of @display to warp the pointer to + + + + the x coordinate of the destination + + + + the y coordinate of the destination + + + + + + This function allows for hooking into the operation +of getting the current location of the pointer on a particular +display. This is only useful for such low-level tools as an +event recorder. Applications should never have any +reason to use this facility. + + the previous pointer hook table + + + + + a table of pointers to functions for getting quantities related to the current pointer position, or %NULL to restore the default table. + + + + + + Returns %TRUE if cursors can use an 8bit alpha channel +on @display. Otherwise, cursors are restricted to bilevel +alpha (i.e. a mask). + + whether cursors can have alpha channels. + + + + + Returns %TRUE if multicolored cursors are supported +on @display. Otherwise, cursors have only a forground +and a background color. + + whether cursors can have multiple colors. + + + + + Returns the default size to use for cursors on @display. + + the default cursor size. + + + + + Gets the maximal size to use for cursors on @display. + + + + + + the return location for the maximal cursor width + + + + the return location for the maximal cursor height + + + + + + Returns the default group leader window for all toplevel windows +on @display. This window is implicitly created by GDK. +See gdk_window_set_group(). + + The default group leader window for @display + + + + + Returns whether #GdkEventOwnerChange events will be +sent when the owner of a selection changes. +be sent. + + whether #GdkEventOwnerChange events will + + + + + Request #GdkEventOwnerChange events for ownership changes +of the selection named by the given atom. +be sent. + + whether #GdkEventOwnerChange events will + + + + + the #GdkAtom naming the selection for which ownership change notification is requested + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Returns %TRUE if gdk_window_shape_combine_mask() can +be used to create shaped windows on @display. + + %TRUE if shaped windows are supported + + + + + Returns %TRUE if gdk_window_input_shape_combine_mask() can +be used to modify the input shape of windows on @display. + + %TRUE if windows with modified input shape are supported + + + + + Returns %TRUE if gdk_window_set_composited() can be used +to redirect drawing on the window using compositing. +Currently this only works on X11 with XComposite and +XDamage extensions available. + + %TRUE if windows may be composited. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The ::closed signal is emitted when the connection to the windowing +system for @display is closed. + + + + + + %TRUE if the display was closed due to an error + + + + + + + + + + + + + + + + + + + + + + + + + number of screens. + + + + + + + + + + + + + the #GdkScreen object + + + + + + + + the screen number + + + + + + + + + the default #GdkScreen object for @display + + + + + + + + + + + + + + + + + + + + + + + + + + + + Gets the singleton #GdkDisplayManager object. +gdk_init(), or gdk_init_check() must have been called first. + + The global #GdkDisplayManager singleton; gdk_parse_pargs(), + + + + + Gets the default #GdkDisplay. +display. + + a #GdkDisplay, or %NULL if there is no default + + + + + Sets @display as the default display. + + + + + + a #GdkDisplay + + + + + + List all currently open displays. +Free this list with g_slist_free() when you are done with it. + + a newly allocated #GSList of #GdkDisplay objects. + + + + + + + + + + The ::display_opened signal is emitted when a display is opened. + + + + + + the opened display + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Creates a new #GdkDragContext. + + the newly created #GdkDragContext. + + + + + Deprecated function; use g_object_ref() instead. + + + + + + Deprecated function; use g_object_unref() instead. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Obtains the bit depth of the drawable, that is, the number of bits +that make up a pixel in the drawable's visual. Examples are 8 bits +per pixel, 24 bits per pixel, etc. + + number of bits per pixel + + + + + Fills *@width and *@height with the size of @drawable. +On the X11 platform, if @drawable is a #GdkWindow, the returned +size is the size reported in the most-recently-processed configure +event, rather than the current size on the X server. + + + + + + location to store drawable's width, or %NULL + + + + location to store drawable's height, or %NULL + + + + + + + + + + + + + + + + Gets the colormap for @drawable, if one is set; returns +%NULL otherwise. + + the colormap, or %NULL + + + + + Gets the #GdkVisual describing the pixel format of @drawable. + + a #GdkVisual + + + + + Gets the #GdkScreen associated with a #GdkDrawable. + + the #GdkScreen associated with @drawable + + + + + 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. +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. + + a #GdkImage containing the contents of @drawable + + + + + x coordinate on @drawable + + + + y coordinate on @drawable + + + + width of region to get + + + + height or region to get + + + + + + Computes the region of a drawable that potentially can be written +to by drawing primitives. This region will not take into account +the clip region for the GC, and may also not take into account +other factors such as if the window is obscured by other windows, +but no area outside of this region will be affected by drawing +primitives. +when you are done. + + a #GdkRegion. This must be freed with gdk_region_destroy() + + + + + Computes the region of a drawable that is potentially visible. +This does not necessarily take into account if the window is +obscured by other windows, but no area outside of this region +is visible. +when you are done. + + a #GdkRegion. This must be freed with gdk_region_destroy() + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Copies a portion of @drawable into the client side image structure +and copies into that. See gdk_drawable_get_image() for further details. +of @drawable + + @image, or a new a #GdkImage containing the contents + + + + + a #GdkDrawable, or %NULL if a new @image should be created. + + + + x coordinate on @drawable + + + + y coordinate on @drawable + + + + x coordinate within @image. Must be 0 if @image is %NULL + + + + y coordinate within @image. Must be 0 if @image is %NULL + + + + width of region to get + + + + height or region to get + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + This function is equivalent to g_object_set_data(), +the #GObject variant should be used instead. + + + + + + name to store the data under + + + + arbitrary data + + + + function to free @data, or %NULL + + + + + + Equivalent to g_object_get_data(); the #GObject variant should be +used instead. + + the data stored at @key + + + + + name the data was stored under + + + + + + Fills *@width and *@height with the size of @drawable. +On the X11 platform, if @drawable is a #GdkWindow, the returned +size is the size reported in the most-recently-processed configure +event, rather than the current size on the X server. + + + + + + location to store drawable's width, or %NULL + + + + location to store drawable's height, or %NULL + + + + + + Sets the colormap associated with @drawable. Normally this will +happen automatically when the drawable is created; you only need to +use this function if the drawable-creating function did not have a +way to determine the colormap, and you then use drawable operations +that require a colormap. The colormap for all drawables and +graphics contexts you intend to use together should match. i.e. +when using a #GdkGC to draw to a drawable, or copying one drawable +to another, the colormaps should match. + + + + + + a #GdkColormap + + + + + + Gets the colormap for @drawable, if one is set; returns +%NULL otherwise. + + the colormap, or %NULL + + + + + Gets the #GdkVisual describing the pixel format of @drawable. + + a #GdkVisual + + + + + Obtains the bit depth of the drawable, that is, the number of bits +that make up a pixel in the drawable's visual. Examples are 8 bits +per pixel, 24 bits per pixel, etc. + + number of bits per pixel + + + + + Gets the #GdkScreen associated with a #GdkDrawable. + + the #GdkScreen associated with @drawable + + + + + Gets the #GdkDisplay associated with a #GdkDrawable. + + the #GdkDisplay associated with @drawable + + + + + Deprecated equivalent of calling g_object_ref() on @drawable. +(Drawables were not objects in previous versions of GDK.) + + the same @drawable passed in + + + + + Deprecated equivalent of calling g_object_unref() on @drawable. + + + + + + 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. +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. + + a #GdkImage containing the contents of @drawable + + + + + x coordinate on @drawable + + + + y coordinate on @drawable + + + + width of region to get + + + + height or region to get + + + + + + Copies a portion of @drawable into the client side image structure +and copies into that. See gdk_drawable_get_image() for further details. +of @drawable + + @image, or a new a #GdkImage containing the contents + + + + + a #GdkDrawable, or %NULL if a new @image should be created. + + + + x coordinate on @drawable + + + + y coordinate on @drawable + + + + x coordinate within @image. Must be 0 if @image is %NULL + + + + y coordinate within @image. Must be 0 if @image is %NULL + + + + width of region to get + + + + height or region to get + + + + + + Computes the region of a drawable that potentially can be written +to by drawing primitives. This region will not take into account +the clip region for the GC, and may also not take into account +other factors such as if the window is obscured by other windows, +but no area outside of this region will be affected by drawing +primitives. +when you are done. + + a #GdkRegion. This must be freed with gdk_region_destroy() + + + + + Computes the region of a drawable that is potentially visible. +This does not necessarily take into account if the window is +obscured by other windows, but no area outside of this region +is visible. +when you are done. + + a #GdkRegion. This must be freed with gdk_region_destroy() + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + number of bits per pixel + + + + + + + + + + + + + + + + + + + + location to store drawable's width, or %NULL + + + + location to store drawable's height, or %NULL + + + + + + + + + + + + + + + + + + + + + + + + the colormap, or %NULL + + + + + + + + + + + + + a #GdkVisual + + + + + + + + + + + + + the #GdkScreen associated with @drawable + + + + + + + + + + + + + a #GdkImage containing the contents of @drawable + + + + + + + + x coordinate on @drawable + + + + y coordinate on @drawable + + + + width of region to get + + + + height or region to get + + + + + + + + + a #GdkRegion. This must be freed with gdk_region_destroy() + + + + + + + + + + + + + a #GdkRegion. This must be freed with gdk_region_destroy() + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @image, or a new a #GdkImage containing the contents + + + + + + + + a #GdkDrawable, or %NULL if a new @image should be created. + + + + x coordinate on @drawable + + + + y coordinate on @drawable + + + + x coordinate within @image. Must be 0 if @image is %NULL + + + + y coordinate within @image. Must be 0 if @image is %NULL + + + + width of region to get + + + + height or region to get + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Creates a new event of the given type. All fields are set to 0. +should be freed with gdk_event_free(). + + a newly-allocated #GdkEvent. The returned #GdkEvent + + + + + a #GdkEventType + + + + + + Appends a copy of the given event onto the front of the event +queue for event->any.window's display, or the default event +queue if event->any.window is %NULL. See gdk_display_put_event(). + + + + + + Copies a #GdkEvent, copying or incrementing the reference count of the +resources associated with it (e.g. #GdkWindow's and strings). +gdk_event_free(). + + a copy of @event. The returned #GdkEvent should be freed with + + + + + Frees a #GdkEvent, freeing or decrementing any resources associated with it. +Note that this function should only be called with events returned from +functions such as gdk_event_peek(), gdk_event_get(), +gdk_event_get_graphics_expose() and gdk_event_copy() and gdk_event_new(). + + + + + + Returns the time stamp from @event, if there is one; otherwise +returns #GDK_CURRENT_TIME. If @event is %NULL, returns #GDK_CURRENT_TIME. + + time stamp field from @event + + + + + If the event contains a "state" field, puts that field in @state. Otherwise +stores an empty state (0). Returns %TRUE if there was a state field +in the event. @event may be %NULL, in which case it's treated +as if the event had no state field. + + %TRUE if there was a state field in the event + + + + + return location for state + + + + + + Extract the event window relative x/y coordinates from an event. + + %TRUE if the event delivered event window coordinates + + + + + location to put event window x coordinate + + + + location to put event window y coordinate + + + + + + Extract the root window relative x/y coordinates from an event. + + %TRUE if the event delivered root window coordinates + + + + + location to put root window x coordinate + + + + location to put root window y coordinate + + + + + + Extract the axis value for a particular axis use from +an event structure. + + %TRUE if the specified axis was found, otherwise %FALSE + + + + + the axis use to look for + + + + location to store the value found + + + + + + Sets the screen for @event to @screen. The event must +have been allocated by GTK+, for instance, by +gdk_event_copy(). + + + + + + a #GdkScreen + + + + + + Returns the screen for the event. The screen is +typically the screen for <literal>event->any.window</literal>, but +for events such as mouse events, it is the screen +where the pointer was when the event occurs - +that is, the screen which has the root window +to which <literal>event->motion.x_root</literal> and +<literal>event->motion.y_root</literal> are relative. + + the screen for the event + + + + + Sends an X ClientMessage event to a given window (which must be +on the default #GdkDisplay.) +This could be used for communicating between different applications, +though the amount of data is limited to 20 bytes. + + non-zero on success. + + + + + the window to send the X ClientMessage event to. + + + + + + Sends an X ClientMessage event to all toplevel windows on the default +#GdkScreen. +Toplevel windows are determined by checking for the WM_STATE property, as +described in the Inter-Client Communication Conventions Manual (ICCCM). +If no windows are found with the WM_STATE property set, the message is sent +to all children of the root window. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Increases the reference count of a font by one. + + @font + + + + + Decreases the reference count of a font by one. +If the result is zero, destroys the font. + + + + + + Returns the X Font ID for the given font. + + the numeric X Font ID + + + + + Compares two fonts for equality. Single fonts compare equal +if they have the same X font ID. This operation does +not currently work correctly for fontsets. + + %TRUE if the fonts are equal. + + + + + another #GdkFont. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Create a new graphics context with default values. + + the new graphics context. + + + + + a #GdkDrawable. The created GC must always be used with drawables of the same depth as this one. + + + + + + Create a new GC with the given initial values. + + the new graphics context. + + + + + a #GdkDrawable. The created GC must always be used with drawables of the same depth as this one. + + + + a structure containing initial values for the GC. + + + + a bit mask indicating which fields in @values are set. + + + + + + Retrieves the current values from a graphics context. Note that +only the pixel values of the @values->foreground and @values->background +are filled, use gdk_colormap_query_color() to obtain the rgb values +if you need them. + + + + + + the #GdkGCValues structure in which to store the results. + + + + + + + + + + + + + + + + + + + Sets the way dashed-lines are drawn. Lines will be +drawn with alternating on and off segments of the +lengths specified in @dash_list. The manner in +which the on and off segments are drawn is determined +by the @line_style value of the GC. (This can +be changed with gdk_gc_set_line_attributes().) +The @dash_offset defines the phase of the pattern, +specifying how many pixels into the dash-list the pattern +should actually begin. + + + + + + the phase of the dash pattern. + + + + an array of dash lengths. + + + + the number of elements in @dash_list. + + + + + + Deprecated function; use g_object_ref() instead. + + the gc. + + + + + Decrement the reference count of @gc. + + + + + + Retrieves the current values from a graphics context. Note that +only the pixel values of the @values->foreground and @values->background +are filled, use gdk_colormap_query_color() to obtain the rgb values +if you need them. + + + + + + the #GdkGCValues structure in which to store the results. + + + + + + Sets attributes of a graphics context in bulk. For each flag set in +set as the new value for @gc. If you're only setting a few values +on @gc, calling individual "setter" functions is likely more +convenient. + + + + + + struct containing the new values + + + + mask indicating which struct fields are to be used + + + + + + Sets the foreground color for a graphics context. +Note that this function uses @color->pixel, use +gdk_gc_set_rgb_fg_color() to specify the foreground +color as red, green, blue components. + + + + + + the new foreground color. + + + + + + Sets the background color for a graphics context. +Note that this function uses @color->pixel, use +gdk_gc_set_rgb_bg_color() to specify the background +color as red, green, blue components. + + + + + + the new background color. + + + + + + Sets the font for a graphics context. (Note that +all text-drawing functions in GDK take a @font +argument; the value set here is used when that +argument is %NULL.) + + + + + + the new font. + + + + + + Determines how the current pixel values and the +pixel values being drawn are combined to produce +the final pixel values. + + + + + + the #GdkFunction to use + + + + + + Set the fill mode for a graphics context. + + + + + + the new fill mode. + + + + + + Set a tile pixmap for a graphics context. +This will only be used if the fill mode +is %GDK_TILED. + + + + + + the new tile pixmap. + + + + + + Set the stipple bitmap for a graphics context. The +stipple will only be used if the fill mode is +%GDK_STIPPLED or %GDK_OPAQUE_STIPPLED. + + + + + + the new stipple bitmap. + + + + + + Set the origin when using tiles or stipples with +the GC. The tile or stipple will be aligned such +that the upper left corner of the tile or stipple +will coincide with this point. + + + + + + the x-coordinate of the origin. + + + + the y-coordinate of the origin. + + + + + + Sets the origin of the clip mask. The coordinates are +interpreted relative to the upper-left corner of +the destination drawable of the current operation. + + + + + + the x-coordinate of the origin. + + + + the y-coordinate of the origin. + + + + + + Sets the clip mask for a graphics context from a bitmap. +The clip mask is interpreted relative to the clip +origin. (See gdk_gc_set_clip_origin()). + + + + + + a bitmap. + + + + + + Sets the clip mask for a graphics context from a +rectangle. The clip mask is interpreted relative to the clip +origin. (See gdk_gc_set_clip_origin()). + + + + + + the rectangle to clip to. + + + + + + Sets the clip mask for a graphics context from a region structure. +The clip mask is interpreted relative to the clip origin. (See +gdk_gc_set_clip_origin()). + + + + + + the #GdkRegion. + + + + + + Sets how drawing with this GC on a window will affect child +windows of that window. + + + + + + the subwindow mode. + + + + + + Sets whether copying non-visible portions of a drawable +using this graphics context generate exposure events +for the corresponding regions of the destination +drawable. (See gdk_draw_drawable()). + + + + + + if %TRUE, exposure events will be generated. + + + + + + Sets various attributes of how lines are drawn. See +the corresponding members of #GdkGCValues for full +explanations of the arguments. + + + + + + the width of lines. + + + + the dash-style for lines. + + + + the manner in which the ends of lines are drawn. + + + + the in which lines are joined together. + + + + + + Sets the way dashed-lines are drawn. Lines will be +drawn with alternating on and off segments of the +lengths specified in @dash_list. The manner in +which the on and off segments are drawn is determined +by the @line_style value of the GC. (This can +be changed with gdk_gc_set_line_attributes().) +The @dash_offset defines the phase of the pattern, +specifying how many pixels into the dash-list the pattern +should actually begin. + + + + + + the phase of the dash pattern. + + + + an array of dash lengths. + + + + the number of elements in @dash_list. + + + + + + Offset attributes such as the clip and tile-stipple origins +of the GC so that drawing at x - x_offset, y - y_offset with +the offset GC has the same effect as drawing at x, y with the original +GC. + + + + + + amount by which to offset the GC in the X direction + + + + amount by which to offset the GC in the Y direction + + + + + + Copy the set of values from one graphics context +onto another graphics context. + + + + + + the source graphics context. + + + + + + Sets the colormap for the GC to the given colormap. The depth +of the colormap's visual must match the depth of the drawable +for which the GC was created. + + + + + + a #GdkColormap + + + + + + Retrieves the colormap for a given GC, if it exists. +A GC will have a colormap if the drawable for which it was created +has a colormap, or if a colormap was set explicitely with +gdk_gc_set_colormap. + + the colormap of @gc, or %NULL if @gc doesn't have one. + + + + + Set the foreground color of a GC using an unallocated color. The +pixel value for the color will be determined using GdkRGB. If the +colormap for the GC has not previously been initialized for GdkRGB, +then for pseudo-color colormaps (colormaps with a small modifiable +number of colors), a colorcube will be allocated in the colormap. +Calling this function for a GC without a colormap is an error. + + + + + + an unallocated #GdkColor. + + + + + + Set the background color of a GC using an unallocated color. The +pixel value for the color will be determined using GdkRGB. If the +colormap for the GC has not previously been initialized for GdkRGB, +then for pseudo-color colormaps (colormaps with a small modifiable +number of colors), a colorcube will be allocated in the colormap. +Calling this function for a GC without a colormap is an error. + + + + + + an unallocated #GdkColor. + + + + + + Gets the #GdkScreen for which @gc was created + + the #GdkScreen for @gc. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + the #GdkGCValues structure in which to store the results. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + the phase of the dash pattern. + + + + an array of dash lengths. + + + + the number of elements in @dash_list. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + This is a deprecated wrapper for gdk_drawable_get_image(); +most cases gdk_pixbuf_get_from_drawable() is the most convenient +choice. + + a new #GdkImage or %NULL + + + + + a #GdkDrawable + + + + x coordinate in @window + + + + y coordinate in @window + + + + width of area in @window + + + + height of area in @window + + + + + + Deprecated function; use g_object_ref() instead. + + the image + + + + + Deprecated function; use g_object_unref() instead. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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. + + + + + + a #GdkColormap + + + + + + 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(). + + colormap for the image + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Looks up the keyval mapped to a keycode/group/level triplet. +If no keyval is bound to @key, returns 0. For normal user input, +you want to use gdk_keymap_translate_keyboard_state() instead of +this function, since the effective group/level may not be +the same as the current keyboard state. + + a keyval, or 0 if none was mapped to the given @key + + + + + a #GdkKeymapKey with keycode, group, and level initialized + + + + + + Translates the contents of a #GdkEventKey into a keyval, effective +group, and level. Modifiers that affected the translation and +are thus unavailable for application use are returned in +groups and levels. The @effective_group is the group that was +actually used for the translation; some keys such as Enter are not +affected by the active keyboard group. The @level is derived from +keyval, so this function isn't as useful as you might think. +<note><para> +from @state when comparing this key press to a hot key. For +instance, on a US keyboard, the <literal>plus</literal> +symbol is shifted, so when comparing a key press to a +<literal>&lt;Control&gt;plus</literal> accelerator &lt;Shift&gt; should +be masked out. +</para> +<informalexample><programlisting> +&sol;* We want to ignore irrelevant modifiers like ScrollLock *&sol; +&num;define ALL_ACCELS_MASK (GDK_CONTROL_MASK | GDK_SHIFT_MASK | GDK_MOD1_MASK) +gdk_keymap_translate_keyboard_state (keymap, event->hardware_keycode, +event->state, event->group, +&amp;keyval, NULL, NULL, &amp;consumed); +if (keyval == GDK_PLUS && +(event->state &amp; ~consumed &amp; ALL_ACCELS_MASK) == GDK_CONTROL_MASK) +&sol;* Control was pressed *&sol; +</programlisting></informalexample> +<para> +An older interpretation @consumed_modifiers was that it contained +all modifiers that might affect the translation of the key; +this allowed accelerators to be stored with irrelevant consumed +modifiers, by doing:</para> +<informalexample><programlisting> +&sol;* XXX Don't do this XXX *&sol; +if (keyval == accel_keyval && +(event->state &amp; ~consumed &amp; ALL_ACCELS_MASK) == (accel_mods &amp; ~consumed)) +&sol;* Accelerator was pressed *&sol; +</programlisting></informalexample> +<para> +However, this did not work if multi-modifier combinations were +used in the keymap, since, for instance, <literal>&lt;Control&gt;</literal> +would be masked out even if only <literal>&lt;Control&gt;&lt;Alt&gt;</literal> +was used in the keymap. To support this usage as well as well as +possible, all <emphasis>single modifier</emphasis> combinations +that could affect the key for any combination of modifiers will +be returned in @consumed_modifiers; multi-modifier combinations +are returned only when actually found in @state. When you store +accelerators, you should always store them with consumed modifiers +removed. Store <literal>&lt;Control&gt;plus</literal>, +not <literal>&lt;Control&gt;&lt;Shift&gt;plus</literal>, +</para></note> + + %TRUE if there was a keyval bound to the keycode/state/group + + + + + a keycode + + + + a modifier state + + + + active keyboard group + + + + return location for keyval, or %NULL + + + + return location for effective group, or %NULL + + + + return location for level, or %NULL + + + + return location for modifiers that were used to determine the group or level, or %NULL + + + + + + Obtains a list of keycode/group/level combinations that will +generate @keyval. Groups and levels are two kinds of keyboard mode; +in general, the level determines whether the top or bottom symbol +on a key is used, and the group determines whether the left or +right symbol is used. On US keyboards, the shift key changes the +keyboard level, and there are no groups. A group switch key might +convert a keyboard between Hebrew to English modes, for example. +#GdkEventKey contains a %group field that indicates the active +keyboard group. The level is computed from the modifier mask. +The returned array should be freed +with g_free(). + + %TRUE if keys were found and returned + + + + + a keyval, such as %GDK_a, %GDK_Up, %GDK_Return, etc. + + + + return location for an array of #GdkKeymapKey + + + + return location for number of elements in returned array + + + + + + Returns the keyvals bound to @hardware_keycode. +The Nth #GdkKeymapKey in @keys is bound to the Nth +keyval in @keyvals. Free the returned arrays with g_free(). +When a keycode is pressed by the user, the keyval from +this list of entries is selected by considering the effective +keyboard group and level. See gdk_keymap_translate_keyboard_state(). + + %TRUE if there were any entries + + + + + a keycode + + + + return location for array of #GdkKeymapKey, or %NULL + + + + return location for array of keyvals, or %NULL + + + + length of @keys and @keyvals + + + + + + + + + + + + + + + + Returns whether the Caps Lock modifer is locked. + + %TRUE if Caps Lock is on + + + + + Adds virtual modifiers (i.e. Super, Hyper and Meta) which correspond +to the real modifiers (i.e Mod2, Mod3, ...) in @modifiers. +are set in @state to their non-virtual counterparts (i.e. Mod2, +Mod3,...) and set the corresponding bits in @state. +GDK already does this before delivering key events, but for +compatibility reasons, it only sets the first virtual modifier +it finds, whereas this function sets all matching virtual modifiers. +This function is useful when matching key events against +accelerators. + + + + + + pointer to the modifier mask to change + + + + + + Maps the virtual modifiers (i.e. Super, Hyper and Meta) which +are set in @state to their non-virtual counterparts (i.e. Mod2, +Mod3,...) and set the corresponding bits in @state. +This function is useful when matching key events against +accelerators. +same non-virtual modifier. Note that %FALSE is also returned +if a virtual modifier is mapped to a non-virtual modifier that +was already set in @state. + + %TRUE if no virtual modifiers were mapped to the + + + + + pointer to the modifier state to map + + + + + + + + + + + + The ::direction-changed signal gets emitted when the direction of +the keymap changes. + + + + + + The ::keys-changed signal is emitted when the mapping represented by + + + + + + The ::state-changed signal is emitted when the state of the +keyboard changes, e.g when Caps Lock is turned on or off. +See gdk_keymap_get_caps_lock_state(). + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Creates a new attribute specifying the color to emboss text with. + + new #PangoAttribute + + + + + a GdkColor representing the color to emboss with + + + + + + + + + + + + + + Creates a new attribute flagging a region as embossed or not. + + new #PangoAttribute + + + + + if the region should be embossed + + + + + + + + + + + + + + Creates a new attribute containing a stipple bitmap to be used when +rendering the text. + + new #PangoAttribute + + + + + a bitmap to be set as stipple + + + + + + + #GdkPangoRenderer is a subclass of #PangoRenderer used for rendering +Pango objects into GDK drawables. The default renderer for a particular +screen is obtained with gdk_pango_renderer_get_default(); Pango +functions like pango_renderer_draw_layout() and +pango_renderer_draw_layout_line() are then used to draw objects with +the renderer. +In most simple cases, applications can just use gdk_draw_layout(), and +don't need to directly use #GdkPangoRenderer at all. Using the +#GdkPangoRenderer directly is most useful when working with a +transformation such as a rotation, because the Pango drawing functions +take user space coordinates (coordinates before the transformation) +instead of device coordinates. +In certain cases it can be useful to subclass #GdkPangoRenderer. Examples +of reasons to do this are to add handling of custom attributes by +overriding 'prepare_run' or to do custom drawing of embedded objects +by overriding 'draw_shape'. + + Creates a new #PangoRenderer for @screen. Normally you can use the +results of gdk_pango_renderer_get_default() rather than creating a new +renderer. + + a newly created #PangoRenderer. Free with g_object_unref(). + + + + + a #GdkScreen + + + + + + Gets the default #PangoRenderer for a screen. This default renderer +is shared by all users of the display, so properties such as the color +or transformation matrix set for the renderer may be overwritten +by functions such as gdk_draw_layout(). +Before using the renderer, you need to call gdk_pango_renderer_set_drawable() +and gdk_pango_renderer_set_gc() to set the drawable and graphics context +to use for drawing. +renderer is owned by GTK+ and will be kept around until the +screen is closed. + + the default #PangoRenderer for @screen. The + + + + + a #GdkScreen + + + + + + Sets the drawable the renderer draws to. + + + + + + the new target drawable, or %NULL + + + + + + Sets the GC the renderer draws with. Note that the GC must not be +modified until it is unset by calling the function again with +%NULL for the @gc parameter, since GDK may make internal copies +of the GC which won't be updated to follow changes to the +original GC. + + + + + + the new GC to use for drawing, or %NULL + + + + + + Sets the stipple for one render part (foreground, background, underline, +etc.) Note that this is overwritten when iterating through the individual +styled runs of a #PangoLayout or #PangoLayoutLine. This function is thus +only useful when you call low level functions like pango_renderer_draw_glyphs() +directly, or in the 'prepare_run' virtual function of a subclass of +#GdkPangoRenderer. + + + + + + the part to render with the stipple + + + + the new stipple value. + + + + + + Sets the color for a particular render part (foreground, +background, underline, etc.), overriding any attributes on the layouts +renderered with this renderer. + + + + + + the part to render to set the color of + + + + the color to use, or %NULL to unset a previously set override color. + + + + + + + + + + + + + + + + #GdkPangoRenderer is the class structure for #GdkPangoRenderer. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Create a pixmap from a XPM file. + + the #GdkPixmap + + + + + a #GdkDrawable, used to determine default values for the new pixmap. + + + + (out) a pointer to a place to store a bitmap representing the transparency mask of the XPM file. Can be %NULL, in which case transparency will be ignored. + + + + the color to be used for the pixels that are transparent in the input file. Can be %NULL, in which case a default color will be used. + + + + the filename of a file containing XPM data. + + + + + + Create a pixmap from a XPM file using a particular colormap. + + the #GdkPixmap. + + + + + a #GdkDrawable, used to determine default values for the new pixmap. Can be %NULL if @colormap is given. + + + + the #GdkColormap that the new pixmap will be use. If omitted, the colormap for @window will be used. + + + + a pointer to a place to store a bitmap representing the transparency mask of the XPM file. Can be %NULL, in which case transparency will be ignored. + + + + the color to be used for the pixels that are transparent in the input file. Can be %NULL, in which case a default color will be used. + + + + the filename of a file containing XPM data. + + + + + + Create a pixmap from data in XPM format. + + the #GdkPixmap. + + + + + a #GdkDrawable, used to determine default values for the new pixmap. + + + + Pointer to a place to store a bitmap representing the transparency mask of the XPM file. Can be %NULL, in which case transparency will be ignored. + + + + This color will be used for the pixels that are transparent in the input file. Can be %NULL in which case a default color will be used. + + + + Pointer to a string containing the XPM data. + + + + + + + + Create a pixmap from data in XPM format using a particular +colormap. + + the #GdkPixmap. + + + + + a #GdkDrawable, used to determine default values for the new pixmap. Can be %NULL if @colormap is given. + + + + the #GdkColormap that the new pixmap will be use. If omitted, the colormap for @window will be used. + + + + a pointer to a place to store a bitmap representing the transparency mask of the XPM file. Can be %NULL, in which case transparency will be ignored. + + + + the color to be used for the pixels that are transparent in the input file. Can be %NULL, in which case a default color will be used. + + + + Pointer to a string containing the XPM data. + + + + + + + + Wraps a native window for the default display in a #GdkPixmap. +This may fail if the pixmap has been destroyed. +For example in the X backend, a native pixmap handle is an Xlib +<type>XID</type>. +native pixmap or %NULL if the pixmap has been destroyed. + + the newly-created #GdkPixmap wrapper for the + + + + + a native pixmap handle. + + + + + + Looks up the #GdkPixmap that wraps the given native pixmap handle. +For example in the X backend, a native pixmap handle is an Xlib +<type>XID</type>. +or %NULL if there is none. + + the #GdkPixmap wrapper for the native pixmap, + + + + + a native pixmap handle. + + + + + + Wraps a native pixmap in a #GdkPixmap. +This may fail if the pixmap has been destroyed. +For example in the X backend, a native pixmap handle is an Xlib +<type>XID</type>. +native pixmap or %NULL if the pixmap has been destroyed. + + the newly-created #GdkPixmap wrapper for the + + + + + The #GdkDisplay where @anid is located. + + + + a native pixmap handle. + + + + + + Looks up the #GdkPixmap that wraps the given native pixmap handle. +For example in the X backend, a native pixmap handle is an Xlib +<type>XID</type>. +or %NULL if there is none. + + the #GdkPixmap wrapper for the native pixmap, + + + + + the #GdkDisplay associated with @anid + + + + a native pixmap handle. + + + + + + Wraps a native pixmap in a #GdkPixmap. +This may fail if the pixmap has been destroyed. +For example in the X backend, a native pixmap handle is an Xlib +<type>XID</type>. +This function is an alternative to gdk_pixmap_foreign_new_for_display() +for cases where the dimensions of the pixmap are known. For the X +backend, this avoids a roundtrip to the server. +native pixmap or %NULL if the pixmap has been destroyed. + + the newly-created #GdkPixmap wrapper for the + + + + + a #GdkScreen + + + + a native pixmap handle + + + + the width of the pixmap identified by @anid + + + + the height of the pixmap identified by @anid + + + + the depth of the pixmap identified by @anid + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Calculates the intersection of two rectangles. It is allowed for +do not intersect, @dest's width and height is set to 0 and its x +and y values are undefined. If you are only interested in whether +the rectangles intersect, but not in the intersecting area itself, +pass %NULL for @dest. + + %TRUE if the rectangles intersect. + + + + + a #GdkRectangle + + + + return location for the intersection of @src1 and @src2, or %NULL + + + + + + Calculates the union of two rectangles. +The union of rectangles @src1 and @src2 is the smallest rectangle which +includes both @src1 and @src2 within it. +It is allowed for @dest to be the same as either @src1 or @src2. + + + + + + a #GdkRectangle + + + + return location for the union of @src1 and @src2 + + + + + + + + + + + + + + + + + Creates a new empty #GdkRegion. + + a new empty #GdkRegion + + + + + Copies @region, creating an identical new region. + + a new region identical to @region + + + + + Destroys a #GdkRegion. + + + + + + Obtains the smallest rectangle which includes the entire #GdkRegion. + + + + + + return location for the clipbox + + + + + + Obtains the area covered by the region as a list of rectangles. +The array returned in @rectangles must be freed with g_free(). + + + + + + return location for an array of rectangles + + + + + + length of returned array + + + + + + Finds out if the #GdkRegion is empty. + + %TRUE if @region is empty. + + + + + Finds out if the two regions are the same. + + %TRUE if @region1 and @region2 are equal. + + + + + a #GdkRegion + + + + + + Finds out if a regions is the same as a rectangle. + + %TRUE if @region and @rectangle are equal. + + + + + a #GdkRectangle + + + + + + Finds out if a point is in a region. + + %TRUE if the point is in @region. + + + + + the x coordinate of a point + + + + the y coordinate of a point + + + + + + Tests whether a rectangle is within a region. +%GDK_OVERLAP_RECTANGLE_PART, depending on whether the rectangle is inside, +outside, or partly inside the #GdkRegion, respectively. + + %GDK_OVERLAP_RECTANGLE_IN, %GDK_OVERLAP_RECTANGLE_OUT, or + + + + + a #GdkRectangle. + + + + + + Moves a region the specified distance. + + + + + + the distance to move the region horizontally + + + + the distance to move the region vertically + + + + + + Resizes a region by the specified amount. +Positive values shrink the region. Negative values expand it. + + + + + + the number of pixels to shrink the region horizontally + + + + the number of pixels to shrink the region vertically + + + + + + Sets the area of @region to the union of the areas of @region and +either @region or @rect. + + + + + + a #GdkRectangle. + + + + + + Sets the area of @source1 to the intersection of the areas of @source1 +and @source2. The resulting area is the set of pixels contained in +both @source1 and @source2. + + + + + + another #GdkRegion + + + + + + Sets the area of @source1 to the union of the areas of @source1 and +either @source1 or @source2. + + + + + + a #GdkRegion + + + + + + Subtracts the area of @source2 from the area @source1. The resulting +area is the set of pixels contained in @source1 but not in @source2. + + + + + + another #GdkRegion + + + + + + Sets the area of @source1 to the exclusive-OR of the areas of @source1 +and @source2. The resulting area is the set of pixels contained in one +or the other of the two sources but not in both. + + + + + + another #GdkRegion + + + + + + Calls a function on each span in the intersection of @region and @spans. + + + + + + an array of #GdkSpans + + + + the length of @spans + + + + %TRUE if @spans is sorted wrt. the y coordinate + + + + function to call on each span in the intersection + + + + data to pass to @function + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Gets the default screen for the default display. (See +gdk_display_get_default ()). + + a #GdkScreen, or %NULL if there is no default display. + + + + + Returns the width of the default screen in pixels. + + the width of the default screen in pixels. + + + + + Returns the height of the default screen in pixels. + + the height of the default screen in pixels. + + + + + Returns the width of the default screen in millimeters. +Note that on many X servers this value will not be correct. +though it is not always correct. + + the width of the default screen in millimeters, + + + + + Returns the height of the default screen in millimeters. +Note that on many X servers this value will not be correct. +though it is not always correct. + + the height of the default screen in millimeters, + + + + + Gets the default colormap for @screen. + + the default #GdkColormap. + + + + + Sets the default @colormap for @screen. + + + + + + a #GdkColormap + + + + + + Gets the system's default colormap for @screen + + the default colormap for @screen. + + + + + Get the system's default visual for @screen. +This is the visual for the root window of the display. +The return value should not be freed. + + the system visual + + + + + Gets the preferred colormap for rendering image data on @screen. +Not a very useful function; historically, GDK could only render RGB +image data to one colormap and visual, but in the current version +it can render to any colormap and visual. So there's no need to +call this function. + + the preferred colormap + + + + + Gets a "preferred visual" chosen by GdkRGB for rendering image data +on @screen. In previous versions of +GDK, this was the only visual GdkRGB could use for rendering. In +current versions, it's simply the visual GdkRGB would have chosen as +the optimal one in those previous versions. GdkRGB can now render to +drawables with any visual. + + The #GdkVisual chosen by GdkRGB. + + + + + Gets a colormap to use for creating windows or pixmaps with an +alpha channel. The windowing system on which GTK+ is running +may not support this capability, in which case %NULL will +be returned. Even if a non-%NULL value is returned, its +possible that the window's alpha channel won't be honored +X an appropriate windowing manager and compositing manager +must be running to provide appropriate display. +This functionality is not implemented in the Windows backend. +For setting an overall opacity for a top-level window, see +gdk_window_set_opacity(). +an alpha channel or %NULL if the capability is not available. + + a colormap to use for windows with + + + + + Gets a visual to use for creating windows or pixmaps with an +alpha channel. See the docs for gdk_screen_get_rgba_colormap() +for caveats. +alpha channel or %NULL if the capability is not available. + + a visual to use for windows with an + + + + + Returns whether windows with an RGBA visual can reasonably +be expected to have their alpha channel drawn correctly on +the screen. +On X11 this function returns whether a compositing manager is +compositing @screen. +expected to have their alpha channels drawn correctly on the screen. + + Whether windows with RGBA visuals can reasonably be + + + + + Gets the root window of @screen. + + the root window + + + + + Gets the display to which the @screen belongs. + + the display to which @screen belongs + + + + + Gets the index of @screen among the screens in the display +to which it belongs. (See gdk_screen_get_display()) + + the index + + + + + Gets the width of @screen in pixels + + the width of @screen in pixels. + + + + + Gets the height of @screen in pixels + + the height of @screen in pixels. + + + + + Gets the width of @screen in millimeters. +Note that on some X servers this value will not be correct. + + the width of @screen in millimeters. + + + + + Returns the height of @screen in millimeters. +Note that on some X servers this value will not be correct. + + the heigth of @screen in millimeters. + + + + + Lists the available visuals for the specified @screen. +A visual describes a hardware image data format. +For example, a visual might support 24-bit color, or 8-bit color, +and might expect pixels to be in a certain format. +Call g_list_free() on the return value when you're finished with it. +contents + + a list of visuals; the list must be freed, but not its + + + + + + + Obtains a list of all toplevel windows known to GDK on the screen @screen. +A toplevel window is a child of the root window (see +gdk_get_default_root_window()). +The returned list should be freed with g_list_free(), but +its elements need not be freed. + + list of toplevel windows, free with g_list_free() + + + + + + + Determines the name to pass to gdk_display_open() to get +a #GdkDisplay with this screen as the default screen. + + a newly allocated string, free with g_free() + + + + + Returns the number of monitors which @screen consists of. + + number of monitors which @screen consists of + + + + + Gets the primary monitor for @screen. The primary monitor +is considered the monitor where the 'main desktop' lives. +While normal application windows typically allow the window +manager to place the windows, specialized desktop applications +such as panels should place themselves on the primary monitor. +If no primary monitor is configured by the user, the return value +will be 0, defaulting to the first monitor. + + An integer index for the primary monitor, or 0 if none is configured. + + + + + Retrieves the #GdkRectangle representing the size and position of +the individual monitor within the entire screen area. +Note that the size of the entire screen area can be retrieved via +gdk_screen_get_width() and gdk_screen_get_height(). + + + + + + the monitor number, between 0 and gdk_screen_get_n_monitors (screen) + + + + + + + + + Returns the monitor number in which the point (@x,@y) is located. +a monitor close to (@x,@y) if the point is not in any monitor. + + the monitor number in which the point (@x,@y) lies, or + + + + + the x coordinate in the virtual screen. + + + + the y coordinate in the virtual screen. + + + + + + Returns the number of the monitor in which the largest area of the +bounding rectangle of @window resides. + + the monitor number in which most of @window is located, or if @window does not intersect any monitors, a monitor, close to @window. + + + + + a #GdkWindow + + + + + + Gets the width in millimeters of the specified monitor, if available. + + the width of the monitor, or -1 if not available + + + + + number of the monitor, between 0 and gdk_screen_get_n_monitors (screen) + + + + + + Gets the height in millimeters of the specified monitor. + + the height of the monitor, or -1 if not available + + + + + number of the monitor, between 0 and gdk_screen_get_n_monitors (screen) + + + + + + Returns the output name of the specified monitor. +Usually something like VGA, DVI, or TV, not the actual +product name of the display device. +or %NULL if the name cannot be determined + + a newly-allocated string containing the name of the monitor, + + + + + number of the monitor, between 0 and gdk_screen_get_n_monitors (screen) + + + + + + On X11, sends an X ClientMessage event to all toplevel windows on +Toplevel windows are determined by checking for the WM_STATE property, +as described in the Inter-Client Communication Conventions Manual (ICCCM). +If no windows are found with the WM_STATE property set, the message is +sent to all children of the root window. +On Windows, broadcasts a message registered with the name +GDK_WIN32_CLIENT_MESSAGE to all top-level windows. The amount of +data is limited to one long, i.e. four bytes. + + + + + + the #GdkEvent. + + + + + + Retrieves a desktop-wide setting such as double-click time +for the #GdkScreen @screen. +FIXME needs a list of valid settings here, or a link to +more information. +in @value, %FALSE otherwise. + + %TRUE if the setting existed and a value was stored + + + + + the name of the setting + + + + location to store the value of the setting + + + + + + Sets the default font options for the screen. These +options will be set on any #PangoContext's newly created +with gdk_pango_context_get_for_screen(). Changing the +default set of font options does not affect contexts that +have already been created. + + + + + + a #cairo_font_options_t, or %NULL to unset any previously set default font options. + + + + + + Gets any options previously set with gdk_screen_set_font_options(). +font options have been set. + + the current font options, or %NULL if no default + + + + + Sets the resolution for font handling on the screen. This is a +scale factor between points specified in a #PangoFontDescription +and cairo units. The default value is 96, meaning that a 10 point +font will be 13 units high. (10 * 96. / 72. = 13.3). + + + + + + the resolution in "dots per inch". (Physical inches aren't actually involved; the terminology is conventional.) + + + + + + Gets the resolution for font handling on the screen; see +gdk_screen_set_resolution() for full details. +has been set. + + the current resolution, or -1 if no resolution + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The ::composited-changed signal is emitted when the composited +status of the screen changes + + + + + + The ::monitors-changed signal is emitted when the number, size +or position of the monitors attached to the screen change. +Only for X11 and OS X for now. A future implementation for Win32 +may be a possibility. + + + + + + The ::size-changed signal is emitted when the pixel width or +height of a screen changes. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Get the best available depth for the default GDK screen. "Best" +means "largest," i.e. 32 preferred over 24 preferred over 8 bits +per pixel. + + best available depth + + + + + Return the best available visual type for the default GDK screen. + + best visual type + + + + + Get the system's default visual for the default GDK screen. +This is the visual for the root window of the display. +The return value should not be freed. + + system visual + + + + + Get the visual with the most available colors for the default +GDK screen. The return value should not be freed. + + best visual + + + + + Get the best visual with depth @depth for the default GDK screen. +Color visuals and visuals with mutable colormaps are preferred +over grayscale or fixed-colormap visuals. The return value should not +be freed. %NULL may be returned if no visual supports @depth. + + best visual for the given depth + + + + + a bit depth + + + + + + Get the best visual of the given @visual_type for the default GDK screen. +Visuals with higher color depths are considered better. The return value +should not be freed. %NULL may be returned if no visual has type + + best visual of the given type + + + + + a visual type + + + + + + Combines gdk_visual_get_best_with_depth() and gdk_visual_get_best_with_type(). + + best visual with both @depth and + + + + + a bit depth + + + + a visual type + + + + + + Gets the screen to which this visual belongs + + the screen to which this visual belongs. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Creates a new #GdkWindow using the attributes from +display, @parent must be specified. + + the new #GdkWindow + + + + + a #GdkWindow, or %NULL to create the window as a child of the default root window for the default display. + + + + attributes of the new window + + + + mask indicating which fields in @attributes are valid + + + + + + Obtains the window underneath the mouse pointer, returning the +location of that window in @win_x, @win_y. Returns %NULL if the +window under the mouse pointer is not known to GDK (if the window +belongs to another application and a #GdkWindow hasn't been created +for it with gdk_window_foreign_new()) +gdk_display_get_window_at_pointer() instead. + + window under the mouse pointer + + + + + return location for origin of the window under the pointer + + + + return location for origin of the window under the pointer + + + + + + Wraps a native window for the default display in a #GdkWindow. +This may fail if the window has been destroyed. +For example in the X backend, a native window handle is an Xlib +<type>XID</type>. +native window or %NULL if the window has been destroyed. + + the newly-created #GdkWindow wrapper for the + + + + + a native window handle. + + + + + + Looks up the #GdkWindow that wraps the given native window handle. +For example in the X backend, a native window handle is an Xlib +<type>XID</type>. +or %NULL if there is none. + + the #GdkWindow wrapper for the native window, + + + + + a native window handle. + + + + + + Wraps a native window in a #GdkWindow. +This may fail if the window has been destroyed. If the window +was already known to GDK, a new reference to the existing +#GdkWindow is returned. +For example in the X backend, a native window handle is an Xlib +<type>XID</type>. +%NULL if the window has been destroyed. The wrapper will be +newly created, if one doesn't exist already. + + a #GdkWindow wrapper for the native window or + + + + + the #GdkDisplay where the window handle comes from. + + + + a native window handle. + + + + + + Looks up the #GdkWindow that wraps the given native window handle. +For example in the X backend, a native window handle is an Xlib +<type>XID</type>. +or %NULL if there is none. + + the #GdkWindow wrapper for the native window, + + + + + the #GdkDisplay corresponding to the window handle + + + + a native window handle. + + + + + + Obtains a list of all toplevel windows known to GDK on the default +screen (see gdk_screen_get_toplevel_windows()). +A toplevel window is a child of the root window (see +gdk_get_default_root_window()). +The returned list should be freed with g_list_free(), but +its elements need not be freed. + + list of toplevel windows, free with g_list_free() + + + + + + + Calls gdk_window_process_updates() for all windows (see #GdkWindow) +in the application. + + + + + + With update debugging enabled, calls to +gdk_window_invalidate_region() clear the invalidated region of the +screen to a noticeable color, and GDK pauses for a short time +before sending exposes to windows during +gdk_window_process_updates(). The net effect is that you can see +the invalid region for each window and watch redraws as they +occur. This allows you to diagnose inefficiencies in your application. +In essence, because the GDK rendering model prevents all flicker, +if you are redrawing the same region 400 times you may never +notice, aside from noticing a speed problem. Enabling update +debugging causes GTK to flicker slowly and noticeably, so you can +see exactly what's being redrawn when, in what order. +The --gtk-debug=updates command line option passed to GTK+ programs +enables this debug option at application startup time. That's +usually more useful than calling gdk_window_set_debug_updates() +yourself, though you might want to use this function to enable +updates sometime after application startup time. + + + + + + %TRUE to turn on update debugging + + + + + + Constrains a desired width and height according to a +set of geometry hints (such as minimum and maximum size). + + + + + + a #GdkGeometry structure + + + + a mask indicating what portions of @geometry are set + + + + desired width of window + + + + desired height of the window + + + + location to store resulting width + + + + location to store resulting height + + + + + + Destroys the window system resources associated with @window and decrements @window's +reference count. The window system resources for all children of @window are also +destroyed, but the children's reference counts are not decremented. +Note that a window will not be destroyed automatically when its reference count +reaches zero. You must call this function yourself before that happens. + + + + + + Gets the type of the window. See #GdkWindowType. + + type of window + + + + + Check to see if a window is destroyed.. + + %TRUE if the window is destroyed + + + + + Like gdk_window_show_unraised(), but also raises the window to the +top of the window stack (moves the window to the front of the +Z-order). +This function maps a window so it's visible onscreen. Its opposite +is gdk_window_hide(). +When implementing a #GtkWidget, you should call this function on the widget's +#GdkWindow as part of the "map" method. + + + + + + For toplevel windows, withdraws them, so they will no longer be +known to the window manager; for all windows, unmaps them, so +they won't be displayed. Normally done automatically as +part of gtk_widget_hide(). + + + + + + Withdraws a window (unmaps it and asks the window manager to forget about it). +This function is not really useful as gdk_window_hide() automatically +withdraws toplevel windows before hiding them. + + + + + + Shows a #GdkWindow onscreen, but does not modify its stacking +order. In contrast, gdk_window_show() will raise the window +to the top of the window stack. +On the X11 platform, in Xlib terms, this function calls +XMapWindow() (it also updates some internal GDK state, which means +that you can't really use XMapWindow() directly on a GDK window). + + + + + + Repositions a window relative to its parent window. +For toplevel windows, window managers may ignore or modify the move; +you should probably use gtk_window_move() on a #GtkWindow widget +anyway, instead of using GDK functions. For child windows, +the move will reliably succeed. +If you're also planning to resize the window, use gdk_window_move_resize() +to both move and resize simultaneously, for a nicer visual effect. + + + + + + X coordinate relative to window's parent + + + + Y coordinate relative to window's parent + + + + + + Resizes @window; for toplevel windows, asks the window manager to resize +the window. The window manager may not allow the resize. When using GTK+, +use gtk_window_resize() instead of this low-level GDK function. +Windows may not be resized below 1x1. +If you're also planning to move the window, use gdk_window_move_resize() +to both move and resize simultaneously, for a nicer visual effect. + + + + + + new width of the window + + + + new height of the window + + + + + + Equivalent to calling gdk_window_move() and gdk_window_resize(), +except that both operations are performed at once, avoiding strange +visual effects. (i.e. the user may be able to see the window first +move, then resize, if you don't use gdk_window_move_resize().) + + + + + + new X position relative to window's parent + + + + new Y position relative to window's parent + + + + new width + + + + new height + + + + + + Reparents @window into the given @new_parent. The window being +reparented will be unmapped as a side effect. + + + + + + new parent to move @window into + + + + X location inside the new parent + + + + Y location inside the new parent + + + + + + Clears an entire @window to the background color or background pixmap. + + + + + + Clears an area of @window to the background color or background pixmap. + + + + + + x coordinate of rectangle to clear + + + + y coordinate of rectangle to clear + + + + width of rectangle to clear + + + + height of rectangle to clear + + + + + + Like gdk_window_clear_area(), but also generates an expose event for +the cleared area. +This function has a stupid name because it dates back to the mists +time, pre-GDK-1.0. + + + + + + x coordinate of rectangle to clear + + + + y coordinate of rectangle to clear + + + + width of rectangle to clear + + + + height of rectangle to clear + + + + + + Raises @window to the top of the Z-order (stacking order), so that +other windows with the same parent window appear below @window. +This is true whether or not the windows are visible. +If @window is a toplevel, the window manager may choose to deny the +request to move the window in the Z-order, gdk_window_raise() only +requests the restack, does not guarantee it. + + + + + + Lowers @window to the bottom of the Z-order (stacking order), so that +other windows with the same parent window appear above @window. +This is true whether or not the other windows are visible. +If @window is a toplevel, the window manager may choose to deny the +request to move the window in the Z-order, gdk_window_lower() only +requests the restack, does not guarantee it. +Note that gdk_window_show() raises the window again, so don't call this +function before gdk_window_show(). (Try gdk_window_show_unraised().) + + + + + + Changes the position of @window in the Z-order (stacking order), so that +it is above @sibling (if @above is %TRUE) or below @sibling (if @above is +%FALSE). +If @sibling is %NULL, then this either raises (if @above is %TRUE) or +lowers the window. +If @window is a toplevel, the window manager may choose to deny the +request to move the window in the Z-order, gdk_window_restack() only +requests the restack, does not guarantee it. + + + + + + a #GdkWindow that is a sibling of @window, or %NULL + + + + a boolean + + + + + + Sets keyboard focus to @window. In most cases, gtk_window_present() +should be used on a #GtkWindow, rather than calling this function. + + + + + + timestamp of the event triggering the window focus + + + + + + For most purposes this function is deprecated in favor of +g_object_set_data(). However, for historical reasons GTK+ stores +the #GtkWidget that owns a #GdkWindow as user data on the +#GdkWindow. So, custom widget implementations should use +this function for that. If GTK+ receives an event for a #GdkWindow, +and the user data for the window is non-%NULL, GTK+ will assume the +user data is a #GtkWidget, and forward the event to that widget. + + + + + + user data + + + + + + An override redirect window is not under the control of the window manager. +This means it won't have a titlebar, won't be minimizable, etc. - it will +be entirely under the control of the application. The window manager +can't see the override redirect window at all. +Override redirect should only be used for short-lived temporary +windows, such as popup menus. #GtkMenu uses an override redirect +window in its implementation, for example. + + + + + + %TRUE if window should be override redirect + + + + + + Setting @accept_focus to %FALSE hints the desktop environment that the +window doesn't want to receive input focus. +On X, it is the responsibility of the window manager to interpret this +hint. ICCCM-compliant window manager usually respect it. + + + + + + %TRUE if the window should receive input focus + + + + + + Setting @focus_on_map to %FALSE hints the desktop environment that the +window doesn't want to receive input focus when it is mapped. +focus_on_map should be turned off for windows that aren't triggered +interactively (such as popups from network activity). +On X, it is the responsibility of the window manager to interpret +this hint. Window managers following the freedesktop.org window +manager extension specification should respect it. + + + + + + %TRUE if the window should receive input focus when mapped + + + + + + Adds an event filter to @window, allowing you to intercept events +before they reach GDK. This is a low-level operation and makes it +easy to break GDK and/or GTK+, so you have to know what you're +doing. Pass %NULL for @window to get all events for all windows, +instead of events for a specific window. +See gdk_display_add_client_message_filter() if you are interested +in X ClientMessage events. + + + + + + filter callback + + + + data to pass to filter callback + + + + + + Remove a filter previously added with gdk_window_add_filter(). + + + + + + previously-added filter function + + + + user data for previously-added filter function + + + + + + Scroll the contents of @window, both pixels and children, by the +given amount. @window itself does not move. Portions of the window +that the scroll operation brings in from offscreen areas are +invalidated. The invalidated region may be bigger than what would +strictly be necessary. +For X11, a minimum area will be invalidated if the window has no +subwindows, or if the edges of the window's parent do not extend +beyond the edges of the window. In other cases, a multi-step process +is used to scroll the window which may produce temporary visual +artifacts and unnecessary invalidations. + + + + + + Amount to scroll in the X direction + + + + Amount to scroll in the Y direction + + + + + + Move the part of @window indicated by @region by @dy pixels in the Y +direction and @dx pixels in the X direction. The portions of @region +that not covered by the new position of @region are invalidated. +Child windows are not moved. + + + + + + The #GdkRegion to move + + + + Amount to move in the X direction + + + + Amount to move in the Y direction + + + + + + Tries to ensure that there is a window-system native window for this +GdkWindow. This may fail in some situations, returning %FALSE. +Offscreen window and children of them can never have native windows. +Some backends may not support native child windows. + + %TRUE if the window has a native window, %FALSE otherwise + + + + + Applies a shape mask to @window. Pixels in @window corresponding to +set bits in the @mask will be visible; pixels in @window +corresponding to unset bits in the @mask will be transparent. This +gives a non-rectangular window. +If @mask is %NULL, the shape mask will be unset, and the @x/@y +parameters are not used. +On the X11 platform, this uses an X server extension which is +widely available on most common platforms, but not available on +very old X servers, and occasionally the implementation will be +buggy. On servers without the shape extension, this function +will do nothing. +This function works on both toplevel and child windows. + + + + + + shape mask + + + + X position of shape mask with respect to @window + + + + Y position of shape mask with respect to @window + + + + + + Makes pixels in @window outside @shape_region be transparent, +so that the window may be nonrectangular. See also +gdk_window_shape_combine_mask() to use a bitmap as the mask. +If @shape_region is %NULL, the shape will be unset, so the whole +window will be opaque again. @offset_x and @offset_y are ignored +if @shape_region is %NULL. +On the X11 platform, this uses an X server extension which is +widely available on most common platforms, but not available on +very old X servers, and occasionally the implementation will be +buggy. On servers without the shape extension, this function +will do nothing. +This function works on both toplevel and child windows. + + + + + + region of window to be non-transparent + + + + X position of @shape_region in @window coordinates + + + + Y position of @shape_region in @window coordinates + + + + + + Sets the shape mask of @window to the union of shape masks +for all children of @window, ignoring the shape mask of @window +itself. Contrast with gdk_window_merge_child_shapes() which includes +the shape mask of @window in the masks to be merged. + + + + + + Sets a #GdkWindow as composited, or unsets it. Composited +windows do not automatically have their contents drawn to +the screen. Drawing is redirected to an offscreen buffer +and an expose event is emitted on the parent of the composited +window. It is the responsibility of the parent's expose handler +to manually merge the off-screen content onto the screen in +whatever way it sees fit. See <xref linkend="composited-window-example"/> +for an example. +It only makes sense for child windows to be composited; see +gdk_window_set_opacity() if you need translucent toplevel +windows. +An additional effect of this call is that the area of this +window is no longer clipped from regions marked for +invalidation on its parent. Draws done on the parent +window are also no longer clipped by the child. +This call is only supported on some systems (currently, +only X11 with new enough Xcomposite and Xdamage extensions). +You must call gdk_display_supports_composite() to check if +setting a window as composited is supported before +attempting to do so. + + + + + + %TRUE to set the window as composited + + + + + + Merges the shape masks for any child windows into the +shape mask for @window. i.e. the union of all masks +for @window and its children will become the new mask +for @window. See gdk_window_shape_combine_mask(). +This function is distinct from gdk_window_set_child_shapes() +because it includes @window's shape mask in the set of shapes to +be merged. + + + + + + Like gdk_window_shape_combine_mask(), but the shape applies +only to event handling. Mouse events which happen while +the pointer position corresponds to an unset bit in the +mask will be passed on the window below @window. +An input shape is typically used with RGBA windows. +The alpha channel of the window defines which pixels are +invisible and allows for nicely antialiased borders, +and the input shape controls where the window is +"clickable". +On the X11 platform, this requires version 1.1 of the +shape extension. +On the Win32 platform, this functionality is not present and the +function does nothing. + + + + + + shape mask, or %NULL + + + + X position of shape mask with respect to @window + + + + Y position of shape mask with respect to @window + + + + + + Like gdk_window_shape_combine_region(), but the shape applies +only to event handling. Mouse events which happen while +the pointer position corresponds to an unset bit in the +mask will be passed on the window below @window. +An input shape is typically used with RGBA windows. +The alpha channel of the window defines which pixels are +invisible and allows for nicely antialiased borders, +and the input shape controls where the window is +"clickable". +On the X11 platform, this requires version 1.1 of the +shape extension. +On the Win32 platform, this functionality is not present and the +function does nothing. + + + + + + region of window to be non-transparent + + + + X position of @shape_region in @window coordinates + + + + Y position of @shape_region in @window coordinates + + + + + + Sets the input shape mask of @window to the union of input shape masks +for all children of @window, ignoring the input shape mask of @window +itself. Contrast with gdk_window_merge_child_input_shapes() which includes +the input shape mask of @window in the masks to be merged. + + + + + + Merges the input shape masks for any child windows into the +input shape mask for @window. i.e. the union of all input masks +for @window and its children will become the new input mask +for @window. See gdk_window_input_shape_combine_mask(). +This function is distinct from gdk_window_set_child_input_shapes() +because it includes @window's input shape mask in the set of +shapes to be merged. + + + + + + Checks whether the window has been mapped (with gdk_window_show() or +gdk_window_show_unraised()). + + %TRUE if the window is mapped + + + + + Check if the window and all ancestors of the window are +mapped. (This is not necessarily "viewable" in the X sense, since +we only check as far as we have GDK window parents, not to the root +window.) + + %TRUE if the window is viewable + + + + + Gets the bitwise OR of the currently active window state flags, +from the #GdkWindowState enumeration. + + window state bitfield + + + + + Set the bit gravity of the given window to static, and flag it so +all children get static subwindow gravity. This is used if you are +implementing scary features that involve deep knowledge of the +windowing system. Don't worry about it unless you have to. + + %TRUE if the server supports static gravity + + + + + %TRUE to turn on static gravity + + + + + + This function is broken and useless and you should ignore it. +If using GTK+, use functions such as gtk_window_resize(), gtk_window_set_size_request(), +gtk_window_move(), gtk_window_parse_geometry(), and gtk_window_set_geometry_hints(), +depending on what you're trying to do. +If using GDK directly, use gdk_window_set_geometry_hints(). + + + + + + ignored field, does not matter + + + + ignored field, does not matter + + + + minimum width hint + + + + minimum height hint + + + + max width hint + + + + max height hint + + + + logical OR of GDK_HINT_POS, GDK_HINT_MIN_SIZE, and/or GDK_HINT_MAX_SIZE + + + + + + The application can use this call to provide a hint to the window +manager about the functionality of a window. The window manager +can use this information when determining the decoration and behaviour +of the window. +The hint must be set before the window is mapped. + + + + + + A hint of the function this window will have + + + + + + This function returns the type hint set for a window. + + The type hint set for @window + + + + + The application can use this hint to tell the window manager +that a certain window has modal behaviour. The window manager +can use this information to handle modal windows in a special +way. +You should only use this on windows for which you have +previously called gdk_window_set_transient_for() + + + + + + %TRUE if the window is modal, %FALSE otherwise. + + + + + + Toggles whether a window should appear in a task list or window +list. If a window's semantic type as specified with +gdk_window_set_type_hint() already fully describes the window, this +function should <emphasis>not</emphasis> be called in addition, +instead you should allow the window to be treated according to +standard policy for its semantic type. + + + + + + %TRUE to skip the taskbar + + + + + + Toggles whether a window should appear in a pager (workspace +switcher, or other desktop utility program that displays a small +thumbnail representation of the windows on the desktop). If a +window's semantic type as specified with gdk_window_set_type_hint() +already fully describes the window, this function should +<emphasis>not</emphasis> be called in addition, instead you should +allow the window to be treated according to standard policy for +its semantic type. + + + + + + %TRUE to skip the pager + + + + + + Toggles whether a window needs the user's +urgent attention. + + + + + + %TRUE if the window is urgent + + + + + + Sets the geometry hints for @window. Hints flagged in @geom_mask +are set, hints not flagged in @geom_mask are unset. +To unset all hints, use a @geom_mask of 0 and a @geometry of %NULL. +This function provides hints to the windowing system about +acceptable sizes for a toplevel window. The purpose of +this is to constrain user resizing, but the windowing system +will typically (but is not required to) also constrain the +current size of the window to the provided values and +constrain programatic resizing via gdk_window_resize() or +gdk_window_move_resize(). +Note that on X11, this effect has no effect on windows +of type %GDK_WINDOW_TEMP or windows where override redirect +has been turned on via gdk_window_set_override_redirect() +since these windows are not resizable by the user. +Since you can't count on the windowing system doing the +constraints for programmatic resizes, you should generally +call gdk_window_constrain_size() yourself to determine +appropriate sizes. + + + + + + geometry hints + + + + bitmask indicating fields of @geometry to pay attention to + + + + + + A convenience wrapper around gdk_window_begin_paint_region() which +creates a rectangular region for you. See +gdk_window_begin_paint_region() for details. + + + + + + rectangle you intend to draw to + + + + + + Indicates that you are beginning the process of redrawing @region. +A backing store (offscreen buffer) large enough to contain @region +will be created. The backing store will be initialized with the +background color or background pixmap for @window. Then, all +drawing operations performed on @window will be diverted to the +backing store. When you call gdk_window_end_paint(), the backing +store will be copied to @window, making it visible onscreen. Only +the part of @window contained in @region will be modified; that is, +drawing operations are clipped to @region. +The net result of all this is to remove flicker, because the user +sees the finished product appear all at once when you call +gdk_window_end_paint(). If you draw to @window directly without +calling gdk_window_begin_paint_region(), the user may see flicker +as individual drawing operations are performed in sequence. The +clipping and background-initializing features of +gdk_window_begin_paint_region() are conveniences for the +programmer, so you can avoid doing that work yourself. +When using GTK+, the widget system automatically places calls to +gdk_window_begin_paint_region() and gdk_window_end_paint() around +emissions of the expose_event signal. That is, if you're writing an +expose event handler, you can assume that the exposed area in +#GdkEventExpose has already been cleared to the window background, +is already set as the clip region, and already has a backing store. +Therefore in most cases, application code need not call +gdk_window_begin_paint_region(). (You can disable the automatic +calls around expose events on a widget-by-widget basis by calling +gtk_widget_set_double_buffered().) +If you call this function multiple times before calling the +matching gdk_window_end_paint(), the backing stores are pushed onto +a stack. gdk_window_end_paint() copies the topmost backing store +onscreen, subtracts the topmost region from all other regions in +the stack, and pops the stack. All drawing operations affect only +the topmost backing store in the stack. One matching call to +gdk_window_end_paint() is required for each call to +gdk_window_begin_paint_region(). + + + + + + region you intend to draw to + + + + + + Indicates that the backing store created by the most recent call to +gdk_window_begin_paint_region() should be copied onscreen and +deleted, leaving the next-most-recent backing store or no backing +store at all as the active paint region. See +gdk_window_begin_paint_region() for full details. It is an error to +call this function without a matching +gdk_window_begin_paint_region() first. + + + + + + Flush all outstanding cached operations on a window, leaving the +window in a state which reflects all that has been drawn before. +Gdk uses multiple kinds of caching to get better performance and +nicer drawing. For instance, during exposes all paints to a window +using double buffered rendering are keep on a pixmap until the last +window has been exposed. It also delays window moves/scrolls until +as long as possible until next update to avoid tearing when moving +windows. +Normally this should be completely invisible to applications, as +we automatically flush the windows when required, but this might +be needed if you for instance mix direct native drawing with +gdk drawing. For Gtk widgets that don't use double buffering this +will be called automatically before sending the expose event. + + + + + + Sets the title of a toplevel window, to be displayed in the titlebar. +If you haven't explicitly set the icon name for the window +(using gdk_window_set_icon_name()), the icon name will be set to +user-readable strings in GDK/GTK+). @title may not be %NULL. + + + + + + title of @window + + + + + + When using GTK+, typically you should use gtk_window_set_role() instead +of this low-level function. +The window manager and session manager use a window's role to +distinguish it from other kinds of window in the same application. +When an application is restarted after being saved in a previous +session, all windows with the same title and role are treated as +interchangeable. So if you have two windows with the same title +that should be distinguished for session management purposes, you +should set the role on those windows. It doesn't matter what string +you use for the role, as long as you have a different role for each +non-interchangeable kind of window. + + + + + + a string indicating its role + + + + + + When using GTK+, typically you should use gtk_window_set_startup_id() +instead of this low-level function. + + + + + + a string with startup-notification identifier + + + + + + Indicates to the window manager that @window is a transient dialog +associated with the application window @parent. This allows the +window manager to do things like center @window on @parent and +keep @window above @parent. +See gtk_window_set_transient_for() if you're using #GtkWindow or +#GtkDialog. + + + + + + another toplevel #GdkWindow + + + + + + Sets the background color of @window. (However, when using GTK+, +set the background of a widget with gtk_widget_modify_bg() - if +you're an application - or gtk_style_set_background() - if you're +implementing a custom widget.) +The @color must be allocated; gdk_rgb_find_color() is the best way +to allocate a color. +See also gdk_window_set_back_pixmap(). + + + + + + an allocated #GdkColor + + + + + + Sets the background pixmap of @window. May also be used to set a +background of "None" on @window, by setting a background pixmap +of %NULL. +A background pixmap will be tiled, positioning the first tile at +the origin of @window, or if @parent_relative is %TRUE, the tiling +will be done based on the origin of the parent window (useful to +align tiles in a parent with tiles in a child). +A background pixmap of %NULL means that the window will have no +background. A window with no background will never have its +background filled by the windowing system, instead the window will +contain whatever pixels were already in the corresponding area of +the display. +The windowing system will normally fill a window with its background +when the window is obscured then exposed, and when you call +gdk_window_clear(). + + + + + + a #GdkPixmap, or %NULL + + + + whether the tiling origin is at the origin of + + + + + + Sets the mouse pointer for a #GdkWindow. Use gdk_cursor_new_for_display() +or gdk_cursor_new_from_pixmap() to create the cursor. To make the cursor +invisible, use %GDK_BLANK_CURSOR. Passing %NULL for the @cursor argument +to gdk_window_set_cursor() means that @window will use the cursor of its +parent window. Most windows should use this default. + + + + + + a cursor + + + + + + Retrieves a #GdkCursor pointer for the cursor currently set on the +specified #GdkWindow, or %NULL. If the return value is %NULL then +there is no custom cursor set on the specified window, and it is +using the cursor for its parent window. +by the #GdkWindow and should not be unreferenced directly. Use +gdk_window_set_cursor() to unset the cursor of the window + + a #GdkCursor, or %NULL. The returned object is owned + + + + + Retrieves the user data for @window, which is normally the widget +that @window belongs to. See gdk_window_set_user_data(). + + + + + + return location for user data + + + + + + Any of the return location arguments to this function may be %NULL, +if you aren't interested in getting the value of that field. +The X and Y coordinates returned are relative to the parent window +of @window, which for toplevels usually means relative to the +window decorations (titlebar, etc.) rather than relative to the +root window (screen-size background window). +On the X11 platform, the geometry is obtained from the X server, +so reflects the latest position of @window; this may be out-of-sync +with the position of @window delivered in the most-recently-processed +#GdkEventConfigure. gdk_window_get_position() in contrast gets the +position from the most recent configure event. +<note> +If @window is not a toplevel, it is <emphasis>much</emphasis> better +to call gdk_window_get_position() and gdk_drawable_get_size() instead, +because it avoids the roundtrip to the X server and because +gdk_drawable_get_size() supports the full 32-bit coordinate space, +whereas gdk_window_get_geometry() is restricted to the 16-bit +coordinates of X11. +</note> + + + + + + return location for X coordinate of window (relative to its parent) + + + + return location for Y coordinate of window (relative to its parent) + + + + return location for width of window + + + + return location for height of window + + + + return location for bit depth of window + + + + + + Obtains the position of the window as reported in the +most-recently-processed #GdkEventConfigure. Contrast with +gdk_window_get_geometry() which queries the X server for the +current window position, regardless of which events have been +received or processed. +The position coordinates are relative to the window's parent window. + + + + + + X coordinate of window + + + + Y coordinate of window + + + + + + Obtains the position of a window in root window coordinates. +(Compare with gdk_window_get_position() and +gdk_window_get_geometry() which return the position of a window +relative to its parent window.) + + not meaningful, ignore + + + + + return location for X coordinate + + + + return location for Y coordinate + + + + + + Obtains the position of a window position in root +window coordinates. This is similar to +gdk_window_get_origin() but allows you go pass +in any position in the window, not just the origin. + + + + + + X coordinate in window + + + + Y coordinate in window + + + + return location for X coordinate + + + + return location for Y coordinate + + + + + + Transforms window coordinates from a child window to its parent +window, where the parent window is the normal parent as returned by +gdk_window_get_parent() for normal windows, and the window's +embedder as returned by gdk_offscreen_window_get_embedder() for +offscreen windows. +For normal windows, calling this function is equivalent to adding +the return values of gdk_window_get_position() to the child coordinates. +For offscreen windows however (which can be arbitrarily transformed), +the coordinates. +You should always use this function when writing generic code that +walks up a window hierarchy. + + + + + + X coordinate in child's coordinate system + + + + Y coordinate in child's coordinate system + + + + return location for X coordinate in parent's coordinate system + + + + return location for Y coordinate in parent's coordinate system + + + + + + Transforms window coordinates from a parent window to a child +window, where the parent window is the normal parent as returned by +gdk_window_get_parent() for normal windows, and the window's +embedder as returned by gdk_offscreen_window_get_embedder() for +offscreen windows. +For normal windows, calling this function is equivalent to subtracting +the return values of gdk_window_get_position() from the parent coordinates. +For offscreen windows however (which can be arbitrarily transformed), +the coordinates. +You should always use this function when writing generic code that +walks down a window hierarchy. + + + + + + X coordinate in parent's coordinate system + + + + Y coordinate in parent's coordinate system + + + + return location for X coordinate in child's coordinate system + + + + return location for Y coordinate in child's coordinate system + + + + + + This gets the origin of a #GdkWindow relative to +an Enlightenment-window-manager desktop. As long as you don't +assume that the user's desktop/workspace covers the entire +root window (i.e. you don't assume that the desktop begins +at root window coordinate 0,0) this function is not necessary. +It's deprecated for that reason. + + not meaningful + + + + + return location for X coordinate + + + + return location for Y coordinate + + + + + + Obtains the top-left corner of the window manager frame in root +window coordinates. + + + + + + return location for X position of window frame + + + + return location for Y position of window frame + + + + + + Obtains the bounding box of the window, including window manager +titlebar/borders if any. The frame position is given in root window +coordinates. To get the position of the window itself (rather than +the frame) in root window coordinates, use gdk_window_get_origin(). + + + + + + rectangle to fill with bounding box of the window frame + + + + + + Obtains the current pointer position and modifier state. +The position is given in coordinates relative to the upper left +corner of @window. +gdk_window_at_pointer()), or %NULL if the window containing the +pointer isn't known to GDK + + the window containing the pointer (as with + + + + + return location for X coordinate of pointer or %NULL to not return the X coordinate + + + + return location for Y coordinate of pointer or %NULL to not return the Y coordinate + + + + return location for modifier mask or %NULL to not return the modifier mask + + + + + + Obtains the parent of @window, as known to GDK. Does not query the +X server; thus this returns the parent as passed to gdk_window_new(), +not the actual parent. This should never matter unless you're using +Xlib calls mixed with GDK calls on the X11 platform. It may also +matter for toplevel windows, because the window manager may choose +to reparent them. +Note that you should use gdk_window_get_effective_parent() when +writing generic code that walks up a window hierarchy, because +gdk_window_get_parent() will most likely not do what you expect if +there are offscreen windows in the hierarchy. + + parent of @window + + + + + Gets the toplevel window that's an ancestor of @window. +Any window type but %GDK_WINDOW_CHILD is considered a +toplevel window, as is a %GDK_WINDOW_CHILD window that +has a root window as parent. +Note that you should use gdk_window_get_effective_toplevel() when +you want to get to a window's toplevel as seen on screen, because +gdk_window_get_toplevel() will most likely not do what you expect +if there are offscreen windows in the hierarchy. + + the toplevel window containing @window + + + + + Obtains the parent of @window, as known to GDK. Works like +gdk_window_get_parent() for normal windows, but returns the +window's embedder for offscreen windows. + + effective parent of @window + + + + + Gets the toplevel window that's an ancestor of @window. +Works like gdk_window_get_toplevel(), but treats an offscreen window's +embedder as its parent, using gdk_window_get_effective_parent(). + + the effective toplevel window containing @window + + + + + Gets the list of children of @window known to GDK. +This function only returns children created via GDK, +so for example it's useless when used with the root window; +it only returns windows an application created itself. +The returned list must be freed, but the elements in the +list need not be. + + list of child windows inside @window + + + + + + + Like gdk_window_get_children(), but does not copy the list of +children, so the list does not need to be freed. + + a reference to the list of child windows in @window + + + + + + + Gets the event mask for @window. See gdk_window_set_events(). + + event mask for @window + + + + + The event mask for a window determines which events will be reported +for that window. For example, an event mask including #GDK_BUTTON_PRESS_MASK +means the window should report button press events. The event mask +is the bitwise OR of values from the #GdkEventMask enumeration. + + + + + + event mask for @window + + + + + + Sets a list of icons for the window. One of these will be used +to represent the window when it has been iconified. The icon is +usually shown in an icon box or some sort of task bar. Which icon +size is shown depends on the window manager. The window manager +can scale the icon but setting several size icons can give better +image quality since the window manager may only need to scale the +icon by a small amount or not at all. + + + + + + A list of pixbufs, of different sizes. + + + + + + + + Sets the icon of @window as a pixmap or window. If using GTK+, investigate +gtk_window_set_default_icon_list() first, and then gtk_window_set_icon_list() +and gtk_window_set_icon(). If those don't meet your needs, look at +gdk_window_set_icon_list(). Only if all those are too high-level do you +want to fall back to gdk_window_set_icon(). + + + + + + a #GdkWindow to use for the icon, or %NULL to unset + + + + a #GdkPixmap to use as the icon, or %NULL to unset + + + + a 1-bit pixmap (#GdkBitmap) to use as mask for @pixmap, or %NULL to have none + + + + + + Windows may have a name used while minimized, distinct from the +name they display in their titlebar. Most of the time this is a bad +idea from a user interface standpoint. But you can set such a name +with this function, if you like. +After calling this with a non-%NULL @name, calls to gdk_window_set_title() +will not update the icon title. +Using %NULL for @name unsets the icon title; further calls to +gdk_window_set_title() will again update the icon title as well. + + + + + + name of window while iconified (minimized) + + + + + + Sets the group leader window for @window. By default, +GDK sets the group leader for all toplevel windows +to a global window implicitly created by GDK. With this function +you can override this default. +The group leader window allows the window manager to distinguish +all windows that belong to a single application. It may for example +allow users to minimize/unminimize all windows belonging to an +application at once. You should only set a non-default group window +if your application pretends to be multiple applications. + + + + + + group leader window, or %NULL to restore the default group leader window + + + + + + Returns the group leader window for @window. See gdk_window_set_group(). + + the group leader window for @window + + + + + "Decorations" are the features the window manager adds to a toplevel #GdkWindow. +This function sets the traditional Motif window manager hints that tell the +window manager which decorations you would like your window to have. +Usually you should use gtk_window_set_decorated() on a #GtkWindow instead of +using the GDK function directly. +The @decorations argument is the logical OR of the fields in +the #GdkWMDecoration enumeration. If #GDK_DECOR_ALL is included in the +mask, the other bits indicate which decorations should be turned off. +If #GDK_DECOR_ALL is not included, then the other bits indicate +which decorations should be turned on. +Most window managers honor a decorations hint of 0 to disable all decorations, +but very few honor all possible combinations of bits. + + + + + + decoration hint mask + + + + + + Returns the decorations set on the GdkWindow with #gdk_window_set_decorations + + TRUE if the window has decorations set, FALSE otherwise. + + + + + The window decorations will be written here + + + + + + Sets hints about the window management functions to make available +via buttons on the window frame. +On the X backend, this function sets the traditional Motif window +manager hint for this purpose. However, few window managers do +anything reliable or interesting with this hint. Many ignore it +entirely. +The @functions argument is the logical OR of values from the +#GdkWMFunction enumeration. If the bitmask includes #GDK_FUNC_ALL, +then the other bits indicate which functions to disable; if +it doesn't include #GDK_FUNC_ALL, it indicates which functions to +enable. + + + + + + bitmask of operations to allow on @window + + + + + + Emits a short beep associated to @window in the appropriate +display, if supported. Otherwise, emits a short beep on +the display just as gdk_display_beep(). + + + + + + Asks to iconify (minimize) @window. The window manager may choose +to ignore the request, but normally will honor it. Using +gtk_window_iconify() is preferred, if you have a #GtkWindow widget. +This function only makes sense when @window is a toplevel window. + + + + + + Attempt to deiconify (unminimize) @window. On X11 the window manager may +choose to ignore the request to deiconify. When using GTK+, +use gtk_window_deiconify() instead of the #GdkWindow variant. Or better yet, +you probably want to use gtk_window_present(), which raises the window, focuses it, +unminimizes it, and puts it on the current desktop. + + + + + + "Pins" a window such that it's on all workspaces and does not scroll +with viewports, for window managers that have scrollable viewports. +(When using #GtkWindow, gtk_window_stick() may be more useful.) +On the X11 platform, this function depends on window manager +support, so may have no effect with many window managers. However, +GDK will do the best it can to convince the window manager to stick +the window. For window managers that don't support this operation, +there's nothing you can do to force it to happen. + + + + + + Reverse operation for gdk_window_stick(); see gdk_window_stick(), +and gtk_window_unstick(). + + + + + + Maximizes the window. If the window was already maximized, then +this function does nothing. +On X11, asks the window manager to maximize @window, if the window +manager supports this operation. Not all window managers support +this, and some deliberately ignore it or don't have a concept of +"maximized"; so you can't rely on the maximization actually +happening. But it will happen with most standard window managers, +and GDK makes a best effort to get it to happen. +On Windows, reliably maximizes the window. + + + + + + Unmaximizes the window. If the window wasn't maximized, then this +function does nothing. +On X11, asks the window manager to unmaximize @window, if the +window manager supports this operation. Not all window managers +support this, and some deliberately ignore it or don't have a +concept of "maximized"; so you can't rely on the unmaximization +actually happening. But it will happen with most standard window +managers, and GDK makes a best effort to get it to happen. +On Windows, reliably unmaximizes the window. + + + + + + Moves the window into fullscreen mode. This means the +window covers the entire screen and is above any panels +or task bars. +If the window was already fullscreen, then this function does nothing. +On X11, asks the window manager to put @window in a fullscreen +state, if the window manager supports this operation. Not all +window managers support this, and some deliberately ignore it or +don't have a concept of "fullscreen"; so you can't rely on the +fullscreenification actually happening. But it will happen with +most standard window managers, and GDK makes a best effort to get +it to happen. + + + + + + Moves the window out of fullscreen mode. If the window was not +fullscreen, does nothing. +On X11, asks the window manager to move @window out of the fullscreen +state, if the window manager supports this operation. Not all +window managers support this, and some deliberately ignore it or +don't have a concept of "fullscreen"; so you can't rely on the +unfullscreenification actually happening. But it will happen with +most standard window managers, and GDK makes a best effort to get +it to happen. + + + + + + Set if @window must be kept above other windows. If the +window was already above, then this function does nothing. +On X11, asks the window manager to keep @window above, if the window +manager supports this operation. Not all window managers support +this, and some deliberately ignore it or don't have a concept of +"keep above"; so you can't rely on the window being kept above. +But it will happen with most standard window managers, +and GDK makes a best effort to get it to happen. + + + + + + whether to keep @window above other windows + + + + + + Set if @window must be kept below other windows. If the +window was already below, then this function does nothing. +On X11, asks the window manager to keep @window below, if the window +manager supports this operation. Not all window managers support +this, and some deliberately ignore it or don't have a concept of +"keep below"; so you can't rely on the window being kept below. +But it will happen with most standard window managers, +and GDK makes a best effort to get it to happen. + + + + + + whether to keep @window below other windows + + + + + + Request the windowing system to make @window partially transparent, +with opacity 0 being fully transparent and 1 fully opaque. (Values +of the opacity parameter are clamped to the [0,1] range.) +On X11, this works only on X screens with a compositing manager +running. +For setting up per-pixel alpha, see gdk_screen_get_rgba_colormap(). +For making non-toplevel windows translucent, see +gdk_window_set_composited(). + + + + + + opacity + + + + + + + + + + + Begins a window resize operation (for a toplevel window). +You might use this function to implement a "window resize grip," for +example; in fact #GtkStatusbar uses it. The function works best +with window managers that support the <ulink url="http://www.freedesktop.org/Standards/wm-spec">Extended Window Manager Hints</ulink>, but has a +fallback implementation for other window managers. + + + + + + the edge or corner from which the drag is started + + + + the button being used to drag + + + + root window X coordinate of mouse click that began the drag + + + + root window Y coordinate of mouse click that began the drag + + + + timestamp of mouse click that began the drag (use gdk_event_get_time()) + + + + + + Begins a window move operation (for a toplevel window). You might +use this function to implement a "window move grip," for +example. The function works best with window managers that support +the <ulink url="http://www.freedesktop.org/Standards/wm-spec">Extended +Window Manager Hints</ulink>, but has a fallback implementation for +other window managers. + + + + + + the button being used to drag + + + + root window X coordinate of mouse click that began the drag + + + + root window Y coordinate of mouse click that began the drag + + + + timestamp of mouse click that began the drag + + + + + + A convenience wrapper around gdk_window_invalidate_region() which +invalidates a rectangular region. See +gdk_window_invalidate_region() for details. + + + + + + rectangle to invalidate or %NULL to invalidate the whole window + + + + whether to also invalidate child windows + + + + + + Adds @region to the update area for @window. The update area is the +region that needs to be redrawn, or "dirty region." The call +gdk_window_process_updates() sends one or more expose events to the +window, which together cover the entire update area. An +application would normally redraw the contents of @window in +response to those expose events. +GDK will call gdk_window_process_all_updates() on your behalf +whenever your program returns to the main loop and becomes idle, so +normally there's no need to do that manually, you just need to +invalidate regions that you know should be redrawn. +The @invalidate_children parameter controls whether the region of +each child window that intersects @region will also be invalidated. +If %FALSE, then the update area for child windows will remain +unaffected. See gdk_window_invalidate_maybe_recurse if you need +fine grained control over which children are invalidated. + + + + + + a #GdkRegion + + + + %TRUE to also invalidate child windows + + + + + + Adds @region to the update area for @window. The update area is the +region that needs to be redrawn, or "dirty region." The call +gdk_window_process_updates() sends one or more expose events to the +window, which together cover the entire update area. An +application would normally redraw the contents of @window in +response to those expose events. +GDK will call gdk_window_process_all_updates() on your behalf +whenever your program returns to the main loop and becomes idle, so +normally there's no need to do that manually, you just need to +invalidate regions that you know should be redrawn. +The @child_func parameter controls whether the region of +each child window that intersects @region will also be invalidated. +Only children for which @child_func returns TRUE will have the area +invalidated. + + + + + + a #GdkRegion + + + + function to use to decide if to recurse to a child, %NULL means never recurse. + + + + data passed to @child_func + + + + + + Transfers ownership of the update area from @window to the caller +of the function. That is, after calling this function, @window will +no longer have an invalid/dirty region; the update area is removed +from @window and handed to you. If a window has no update area, +gdk_window_get_update_area() returns %NULL. You are responsible for +calling gdk_region_destroy() on the returned region if it's non-%NULL. + + the update area for @window + + + + + Temporarily freezes a window such that it won't receive expose +events. The window will begin receiving expose events again when +gdk_window_thaw_updates() is called. If gdk_window_freeze_updates() +has been called more than once, gdk_window_thaw_updates() must be called +an equal number of times to begin processing exposes. + + + + + + Thaws a window frozen with gdk_window_freeze_updates(). + + + + + + Temporarily freezes a window and all its descendants such that it won't +receive expose events. The window will begin receiving expose events +again when gdk_window_thaw_toplevel_updates_libgtk_only() is called. If +gdk_window_freeze_toplevel_updates_libgtk_only() +has been called more than once, +gdk_window_thaw_toplevel_updates_libgtk_only() must be called +an equal number of times to begin processing exposes. +This function is not part of the GDK public API and is only +for use by GTK+. + + + + + + Thaws a window frozen with +gdk_window_freeze_toplevel_updates_libgtk_only(). +This function is not part of the GDK public API and is only +for use by GTK+. + + + + + + Sends one or more expose events to @window. The areas in each +expose event will cover the entire update area for the window (see +gdk_window_invalidate_region() for details). Normally GDK calls +gdk_window_process_all_updates() on your behalf, so there's no +need to call this function unless you want to force expose events +to be delivered immediately and synchronously (vs. the usual +case, where GDK delivers them in an idle handler). Occasionally +this is useful to produce nicer scrolling behavior, for example. + + + + + + whether to also process updates for child windows + + + + + + If you bypass the GDK layer and use windowing system primitives to +draw directly onto a #GdkWindow, then you need to deal with two +system coordinates, and GDK may have redirected drawing to a offscreen +pixmap as the result of a gdk_window_begin_paint_region() calls. +This function allows retrieving the information you need to compensate +for these effects. +This function exposes details of the GDK implementation, and is thus +likely to change in future releases of GDK. + + + + + + location to store the drawable to which drawing should be done. + + + + location to store the X offset between coordinates in @window, and the underlying window system primitive coordinates for *@real_drawable. + + + + location to store the Y offset between coordinates in @window, and the underlying window system primitive coordinates for *@real_drawable. + + + + + + Indicates that the application will cooperate with the window +system in synchronizing the window repaint with the window +manager during resizing operations. After an application calls +this function, it must call gdk_window_configure_finished() every +time it has finished all processing associated with a set of +Configure events. Toplevel GTK+ windows automatically use this +protocol. +On X, calling this function makes @window participate in the +_NET_WM_SYNC_REQUEST window manager protocol. + + + + + + Signal to the window system that the application has finished +handling Configure events it has received. Window Managers can +use this to better synchronize the frame repaint with the +application. GTK+ applications will automatically call this +function when appropriate. +This function can only be called if gdk_window_enable_synchronized_configure() +was called previously. + + + + + + This function informs GDK that the geometry of an embedded +offscreen window has changed. This is necessary for GDK to keep +track of which offscreen window the pointer is in. + + + + + + Redirects drawing into @window so that drawing to the +window in the rectangle specified by @src_x, @src_y, +Only drawing between gdk_window_begin_paint_region() or +gdk_window_begin_paint_rect() and gdk_window_end_paint() is +redirected. +Redirection is active until gdk_window_remove_redirection() +is called. + + + + + + a #GdkDrawable + + + + x position in @window + + + + y position in @window + + + + x position in @drawable + + + + y position in @drawable + + + + width of redirection, or -1 to use the width of @window + + + + height of redirection or -1 to use the height of @window + + + + + + Removes any active redirection started by +gdk_window_redirect_to_drawable(). + + + + + + + + + + + The mouse pointer for a #GdkWindow. See gdk_window_set_cursor() and +gdk_window_get_cursor() for details. + + + + The ::from-embedder signal is emitted to translate coordinates +in the embedder of an offscreen window to the offscreen window. +See also #GtkWindow::to-embedder. + + + + + + x coordinate in the embedder window + + + + y coordinate in the embedder window + + + + return location for the x coordinate in the offscreen window + + + + return location for the y coordinate in the offscreen window + + + + + + The ::pick-embedded-child signal is emitted to find an embedded +child at the given position. + + the #GdkWindow of the embedded child at @x, @y, or %NULL + + + + + x coordinate in the window + + + + y coordinate in the window + + + + + + The ::to-embedder signal is emitted to translate coordinates +in an offscreen window to its embedder. +See also #GtkWindow::from-embedder. + + + + + + x coordinate in the offscreen window + + + + y coordinate in the offscreen window + + + + return location for the x coordinate in the embedder window + + + + return location for the y coordinate in the embedder window + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Adds a filter to the default display to be called when X ClientMessage events +are received. See gdk_display_add_client_message_filter(). + + + + + + the type of ClientMessage events to receive. This will be checked against the <structfield>message_type</structfield> field of the XClientMessage event struct. + + + + the function to call to process the event. + + + + user data to pass to @func. + + + + + + Appends gdk option entries to the passed in option group. This is +not public API and must not be used by applications. + + + + + + An option group. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Finds or creates an atom corresponding to a given string. +Note that this function is identical to gdk_atom_intern() except +that if a new #GdkAtom is created the string itself is used rather +than a copy. This saves memory, but can only be used if the string +will <emphasis>always</emphasis> exist. It can be used with statically +allocated strings in the main program, but not with statically +allocated memory in dynamically loaded modules, if you expect to +ever unload the module again (e.g. do not use this function in +GTK+ theme engines). + + the atom corresponding to @atom_name + + + + + a static string + + + + + + + + + + + + + + + + + + + + + + + + Emits a short beep on the default display. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Creates a Cairo context for drawing to @drawable. +<note><para> +Note that due to double-buffering, Cairo contexts created +in a GTK+ expose event handler cannot be cached and reused +between different expose events. +</para></note> +cairo_destroy() when you are done drawing. + + A newly created Cairo context. Free with + + + + + a #GdkDrawable + + + + + + Adds the given rectangle to the current path of @cr. + + + + + + a #cairo_t + + + + a #GdkRectangle + + + + + + Adds the given region to the current path of @cr. + + + + + + a #cairo_t + + + + a #GdkRegion + + + + + + Resets the clip region for a Cairo context created by gdk_cairo_create(). +This resets the clip region to the "empty" state for the given drawable. +This is required for non-native windows since a direct call to +cairo_reset_clip() would unset the clip region inherited from the +drawable (i.e. the window clip region), and thus let you e.g. +draw outside your window. +This is rarely needed though, since most code just create a new cairo_t +using gdk_cairo_create() each time they want to draw something. + + + + + + a #cairo_t + + + + a #GdkDrawable + + + + + + Sets the specified #GdkColor as the source color of @cr. + + + + + + a #cairo_t + + + + a #GdkColor + + + + + + Sets the given pixbuf as the source pattern for the Cairo context. +The pattern has an extend mode of %CAIRO_EXTEND_NONE and is aligned +so that the origin of @pixbuf is @pixbuf_x, @pixbuf_y + + + + + + a #Cairo context + + + + a #GdkPixbuf + + + + X coordinate of location to place upper left corner of @pixbuf + + + + Y coordinate of location to place upper left corner of @pixbuf + + + + + + Sets the given pixmap as the source pattern for the Cairo context. +The pattern has an extend mode of %CAIRO_EXTEND_NONE and is aligned +so that the origin of @pixmap is @pixmap_x, @pixmap_y + + + + + + a #Cairo context + + + + a #GdkPixmap + + + + X coordinate of location to place upper left corner of @pixmap + + + + Y coordinate of location to place upper left corner of @pixmap + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Determines the total height of a given character. +This value is not generally useful, because you cannot +determine how this total height will be drawn in +relation to the baseline. See gdk_text_extents(). + + the height of the character in pixels. + + + + + a #GdkFont + + + + the character to measure. + + + + + + Determines the distance from the origin to the rightmost +portion of a character when drawn. This is not the +correct value for determining the origin of the next +portion when drawing text in multiple pieces. + + the right bearing of the character in pixels. + + + + + a #GdkFont + + + + the character to measure. + + + + + + Determines the width of a given character. + + the width of the character in pixels. + + + + + a #GdkFont + + + + the character to measure. + + + + + + Determines the width of a given wide character. (Encoded +in the wide-character encoding of the current locale). + + the width of the character in pixels. + + + + + a #GdkFont + + + + the character to measure. + + + + + + + + + + + + + + + + + + + + + Allocates a single color from a colormap. + + %TRUE if the allocation succeeded. + + + + + a #GdkColormap. + + + + The color to allocate. On return, the <structfield>pixel</structfield> field will be filled in. + + + + + + Returns the black color for a given colormap. The resulting +value has already been allocated. + + %TRUE if the allocation succeeded. + + + + + a #GdkColormap. + + + + the location to store the color. + + + + + + Changes the value of a color that has already +been allocated. If @colormap is not a private +colormap, then the color must have been allocated +using gdk_colormap_alloc_colors() with the + + %TRUE if the color was successfully changed. + + + + + a #GdkColormap. + + + + a #GdkColor, with the color to change in the <structfield>pixel</structfield> field, and the new value in the remaining fields. + + + + + + Parses a textual specification of a color and fill in the +<structfield>red</structfield>, <structfield>green</structfield>, +and <structfield>blue</structfield> fields of a #GdkColor +structure. The color is <emphasis>not</emphasis> allocated, you +must call gdk_colormap_alloc_color() yourself. The string can +either one of a large set of standard names. (Taken from the X11 +<filename>rgb.txt</filename> file), or it can be a hex value in the +form '&num;rgb' '&num;rrggbb' '&num;rrrgggbbb' or +'&num;rrrrggggbbbb' where 'r', 'g' and 'b' are hex digits of the +red, green, and blue components of the color, respectively. (White +in the four forms is '&num;fff' '&num;ffffff' '&num;fffffffff' and +'&num;ffffffffffff') + + %TRUE if the parsing succeeded. + + + + + the string specifying the color. + + + + the #GdkColor to fill in + + + + + + Returns the white color for a given colormap. The resulting +value has already allocated been allocated. + + %TRUE if the allocation succeeded. + + + + + a #GdkColormap. + + + + the location to store the color. + + + + + + Allocates colors from a colormap. This function +is obsolete. See gdk_colormap_alloc_colors(). +For full documentation of the fields, see +the Xlib documentation for <function>XAllocColorCells()</function>. + + %TRUE if the allocation was successful + + + + + a #GdkColormap. + + + + if %TRUE, the colors should be allocated in contiguous color cells. + + + + an array in which to store the plane masks. + + + + the number of planes to allocate. (Or zero, to indicate that the color allocation should not be planar.) + + + + an array into which to store allocated pixel values. + + + + the number of pixels in each plane to allocate. + + + + + + Frees colors allocated with gdk_colors_alloc(). This +function is obsolete. See gdk_colormap_free_colors(). + + + + + + a #GdkColormap. + + + + the pixel values of the colors to free. + + + + the number of values in @pixels. + + + + the plane masks for all planes to free, OR'd together. + + + + + + Changes the value of the first @ncolors colors in +a private colormap. This function is obsolete and +should not be used. See gdk_color_change(). + + + + + + a #GdkColormap. + + + + the new color values. + + + + the number of colors to change. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Returns the list of available input devices for the default display. +The list is statically allocated and should not be freed. + + a list of #GdkDevice + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Aborts a drag without dropping. +This function is called by the drag source. + + + + + + a #GdkDragContext. + + + + the timestamp for this operation. + + + + + + Starts a drag and creates a new drag context for it. +This function is called by the drag source. + + a newly created #GdkDragContext. + + + + + the source window for this drag. + + + + the offered targets, as list of #GdkAtom<!-- -->s + + + + + + + + Drops on the current destination. +This function is called by the drag source. + + + + + + a #GdkDragContext. + + + + the timestamp for this operation. + + + + + + Returns whether the dropped data has been successfully +transferred. This function is intended to be used while +handling a %GDK_DROP_FINISHED event, its return value is +meaningless at other times. + + %TRUE if the drop was successful. + + + + + a #GdkDragContext + + + + + + Finds the destination window and DND protocol to use at the +given pointer position. +This function is called by the drag source to obtain the + + + + + + a #GdkDragContext. + + + + a window which may be at the pointer position, but should be ignored, since it is put up by the drag source as an icon. + + + + the x position of the pointer in root coordinates. + + + + the y position of the pointer in root coordinates. + + + + location to store the destination window in. + + + + location to store the DND protocol in. + + + + + + Finds the destination window and DND protocol to use at the +given pointer position. +This function is called by the drag source to obtain the + + + + + + a #GdkDragContext + + + + a window which may be at the pointer position, but should be ignored, since it is put up by the drag source as an icon. + + + + the screen where the destination window is sought. + + + + the x position of the pointer in root coordinates. + + + + the y position of the pointer in root coordinates. + + + + location to store the destination window in. + + + + location to store the DND protocol in. + + + + + + Finds out the DND protocol supported by a window. +the drop should happen. This may be @xid or the id of a proxy +window, or zero if @xid doesn't support Drag and Drop. + + the windowing system specific id for the window where + + + + + the windowing system id of the destination window. + + + + location where the supported DND protocol is returned. + + + + + + Finds out the DND protocol supported by a window. + + the windowing system id of the window where the drop should happen. This may be @xid or the id of a proxy window, or zero if @xid doesn't support Drag and Drop. + + + + + the #GdkDisplay where the destination window resides + + + + the windowing system id of the destination window. + + + + location where the supported DND protocol is returned. + + + + + + Returns the selection atom for the current source window. + + the selection atom. + + + + + a #GdkDragContext. + + + + + + Updates the drag context when the pointer moves or the +set of actions changes. +This function is called by the drag source. + + FIXME + + + + + a #GdkDragContext. + + + + the new destination window, obtained by gdk_drag_find_window(). + + + + the DND protocol in use, obtained by gdk_drag_find_window(). + + + + the x position of the pointer in root coordinates. + + + + the y position of the pointer in root coordinates. + + + + the suggested action. + + + + the possible actions. + + + + the timestamp for this operation. + + + + + + Selects one of the actions offered by the drag source. +This function is called by the drag destination in response to +gdk_drag_motion() called by the drag source. + + + + + + a #GdkDragContext. + + + + the selected action which will be taken when a drop happens, or 0 to indicate that a drop will not be accepted. + + + + the timestamp for this operation. + + + + + + Draws an arc or a filled 'pie slice'. The arc is defined by the bounding +rectangle of the entire ellipse, and the start and end angles of the part +of the ellipse to be drawn. + + + + + + a #GdkDrawable (a #GdkWindow or a #GdkPixmap). + + + + a #GdkGC. + + + + %TRUE if the arc should be filled, producing a 'pie slice'. + + + + the x coordinate of the left edge of the bounding rectangle. + + + + the y coordinate of the top edge of the bounding rectangle. + + + + the width of the bounding rectangle. + + + + the height of the bounding rectangle. + + + + the start angle of the arc, relative to the 3 o'clock position, counter-clockwise, in 1/64ths of a degree. + + + + the end angle of the arc, relative to @angle1, in 1/64ths of a degree. + + + + + + Copies the @width x @height region of @src at coordinates (@xsrc, +Most fields in @gc are not used for this operation, but notably the +clip mask or clip region will be honored. +The source and destination drawables must have the same visual and +colormap, or errors will result. (On X11, failure to match +visual/colormap results in a BadMatch error from the X server.) +A common cause of this problem is an attempt to draw a bitmap to +a color drawable. The way to draw a bitmap is to set the bitmap as +the stipple on the #GdkGC, set the fill mode to %GDK_STIPPLED, and +then draw the rectangle. + + + + + + a #GdkDrawable + + + + a #GdkGC sharing the drawable's visual and colormap + + + + the source #GdkDrawable, which may be the same as @drawable + + + + X position in @src of rectangle to draw + + + + Y position in @src of rectangle to draw + + + + X position in @drawable where the rectangle should be drawn + + + + Y position in @drawable where the rectangle should be drawn + + + + width of rectangle to draw, or -1 for entire @src width + + + + height of rectangle to draw, or -1 for entire @src height + + + + + + This is a low-level function; 99% of text rendering should be done +using gdk_draw_layout() instead. +A glyph is a single image in a font. This function draws a sequence of +glyphs. To obtain a sequence of glyphs you have to understand a +lot about internationalized text handling, which you don't want to +understand; thus, use gdk_draw_layout() instead of this function, +gdk_draw_layout() handles the details. + + + + + + a #GdkDrawable + + + + a #GdkGC + + + + font to be used + + + + X coordinate of baseline origin + + + + Y coordinate of baseline origin + + + + the glyph string to draw + + + + + + Renders a #PangoGlyphString onto a drawable, possibly +transforming the layed-out coordinates through a transformation +matrix. Note that the transformation matrix for @font is not +changed, so to produce correct rendering results, the @font +must have been loaded using a #PangoContext with an identical +transformation matrix to that passed in to this function. +See also gdk_draw_glyphs(), gdk_draw_layout(). + + + + + + a #GdkDrawable + + + + a #GdkGC + + + + a #PangoMatrix, or %NULL to use an identity transformation + + + + the font in which to draw the string + + + + the x position of the start of the string (in Pango units in user space coordinates) + + + + the y position of the baseline (in Pango units in user space coordinates) + + + + the glyph string to draw + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Draws a #GdkImage onto a drawable. +The depth of the #GdkImage must match the depth of the #GdkDrawable. + + + + + + a #GdkDrawable (a #GdkWindow or a #GdkPixmap). + + + + a #GdkGC. + + + + the #GdkImage to draw. + + + + the left edge of the source rectangle within @image. + + + + the top of the source rectangle within @image. + + + + the x coordinate of the destination within @drawable. + + + + the y coordinate of the destination within @drawable. + + + + the width of the area to be copied, or -1 to make the area extend to the right edge of @image. + + + + the height of the area to be copied, or -1 to make the area extend to the bottom edge of @image. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Render a #PangoLayout onto a GDK drawable +If the layout's #PangoContext has a transformation matrix set, then +bounding box (in device space) of the transformed layout. +If you're using GTK+, the usual way to obtain a #PangoLayout +is gtk_widget_create_pango_layout(). + + + + + + the drawable on which to draw string + + + + base graphics context to use + + + + the X position of the left of the layout (in pixels) + + + + the Y position of the top of the layout (in pixels) + + + + a #PangoLayout + + + + + + Render a #PangoLayoutLine onto an GDK drawable +If the layout's #PangoContext has a transformation matrix set, then +(left is in before-tranform user coordinates) in after-transform +device coordinates. + + + + + + the drawable on which to draw the line + + + + base graphics to use + + + + the x position of start of string (in pixels) + + + + the y position of baseline (in pixels) + + + + a #PangoLayoutLine + + + + + + Render a #PangoLayoutLine onto a #GdkDrawable, overriding the +layout's normal colors with @foreground and/or @background. +If the layout's #PangoContext has a transformation matrix set, then +(left is in before-tranform user coordinates) in after-transform +device coordinates. + + + + + + the drawable on which to draw the line + + + + base graphics to use + + + + the x position of start of string (in pixels) + + + + the y position of baseline (in pixels) + + + + a #PangoLayoutLine + + + + foreground override color, or %NULL for none + + + + background override color, or %NULL for none + + + + + + Render a #PangoLayout onto a #GdkDrawable, overriding the +layout's normal colors with @foreground and/or @background. +If the layout's #PangoContext has a transformation matrix set, then +bounding box (in device space) of the transformed layout. +If you're using GTK+, the ususal way to obtain a #PangoLayout +is gtk_widget_create_pango_layout(). + + + + + + the drawable on which to draw string + + + + base graphics context to use + + + + the X position of the left of the layout (in pixels) + + + + the Y position of the top of the layout (in pixels) + + + + a #PangoLayout + + + + foreground override color, or %NULL for none + + + + background override color, or %NULL for none + + + + + + Draws a line, using the foreground color and other attributes of +the #GdkGC. + + + + + + a #GdkDrawable (a #GdkWindow or a #GdkPixmap). + + + + a #GdkGC. + + + + the x coordinate of the start point. + + + + the y coordinate of the start point. + + + + the x coordinate of the end point. + + + + the y coordinate of the end point. + + + + + + Draws a series of lines connecting the given points. +The way in which joins between lines are draw is determined by the +#GdkCapStyle value in the #GdkGC. This can be set with +gdk_gc_set_line_attributes(). + + + + + + a #GdkDrawable (a #GdkWindow or a #GdkPixmap). + + + + a #GdkGC. + + + + an array of #GdkPoint structures specifying the endpoints of the + + + + the size of the @points array. + + + + + + Renders a rectangular portion of a pixbuf to a drawable. The destination +drawable must have a colormap. All windows have a colormap, however, pixmaps +only have colormap by default if they were created with a non-%NULL window +argument. Otherwise a colormap must be set on them with +gdk_drawable_set_colormap(). +On older X servers, rendering pixbufs with an alpha channel involves round +trips to the X server, and may be somewhat slow. +If GDK is built with the Sun mediaLib library, the gdk_draw_pixbuf +function is accelerated using mediaLib, which provides hardware +acceleration on Intel, AMD, and Sparc chipsets. If desired, mediaLib +support can be turned off by setting the GDK_DISABLE_MEDIALIB environment +variable. + + + + + + Destination drawable. + + + + a #GdkGC, used for clipping, or %NULL + + + + a #GdkPixbuf + + + + Source X coordinate within pixbuf. + + + + Source Y coordinates within pixbuf. + + + + Destination X coordinate within drawable. + + + + Destination Y coordinate within drawable. + + + + Width of region to render, in pixels, or -1 to use pixbuf width. + + + + Height of region to render, in pixels, or -1 to use pixbuf height. + + + + Dithering mode for #GdkRGB. + + + + X offset for dither. + + + + Y offset for dither. + + + + + + Draws a point, using the foreground color and other attributes of +the #GdkGC. + + + + + + a #GdkDrawable (a #GdkWindow or a #GdkPixmap). + + + + a #GdkGC. + + + + the x coordinate of the point. + + + + the y coordinate of the point. + + + + + + Draws a number of points, using the foreground color and other +attributes of the #GdkGC. + + + + + + a #GdkDrawable (a #GdkWindow or a #GdkPixmap). + + + + a #GdkGC. + + + + an array of #GdkPoint structures. + + + + the number of points to be drawn. + + + + + + Draws an outlined or filled polygon. + + + + + + a #GdkDrawable (a #GdkWindow or a #GdkPixmap). + + + + a #GdkGC. + + + + %TRUE if the polygon should be filled. The polygon is closed automatically, connecting the last point to the first point if necessary. + + + + an array of #GdkPoint structures specifying the points making up the polygon. + + + + the number of points. + + + + + + Draws a rectangular outline or filled rectangle, using the foreground color +and other attributes of the #GdkGC. +A rectangle drawn filled is 1 pixel smaller in both dimensions than a +rectangle outlined. Calling +<literal>gdk_draw_rectangle (window, gc, TRUE, 0, 0, 20, 20)</literal> +results in a filled rectangle 20 pixels wide and 20 pixels high. Calling +<literal>gdk_draw_rectangle (window, gc, FALSE, 0, 0, 20, 20)</literal> +results in an outlined rectangle with corners at (0, 0), (0, 20), (20, 20), +and (20, 0), which makes it 21 pixels wide and 21 pixels high. + + + + + + a #GdkDrawable (a #GdkWindow or a #GdkPixmap). + + + + a #GdkGC. + + + + %TRUE if the rectangle should be filled. + + + + the x coordinate of the left edge of the rectangle. + + + + the y coordinate of the top edge of the rectangle. + + + + the width of the rectangle. + + + + the height of the rectangle. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Like gdk_draw_rgb_32_image(), but allows you to specify the dither +offsets. See gdk_draw_rgb_image_dithalign() for more details. + + + + + + a #GdkDrawable + + + + a #GdkGC + + + + X coordinate on @drawable where image should go + + + + Y coordinate on @drawable where image should go + + + + width of area of image to draw + + + + height of area of image to draw + + + + dithering mode + + + + RGB image data + + + + + + rowstride of RGB image data + + + + X dither offset + + + + Y dither offset + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Draws a number of unconnected lines. + + + + + + a #GdkDrawable (a #GdkWindow or a #GdkPixmap). + + + + a #GdkGC. + + + + an array of #GdkSegment structures specifying the start and end points of the lines to be drawn. + + + + the number of line segments to draw, i.e. the size of the + + + + + + Draws a string of characters in the given font or fontset. + + + + + + a #GdkDrawable (a #GdkWindow or a #GdkPixmap). + + + + a #GdkFont. + + + + a #GdkGC. + + + + the x coordinate of the left edge of the text. + + + + the y coordinate of the baseline of the text. + + + + the string of characters to draw. + + + + + + Draws a number of characters in the given font or fontset. + + + + + + a #GdkDrawable (a #GdkWindow or a #GdkPixmap). + + + + a #GdkFont. + + + + a #GdkGC. + + + + the x coordinate of the left edge of the text. + + + + the y coordinate of the baseline of the text. + + + + the characters to draw. + + + + the number of characters of @text to draw. + + + + + + Draws a number of wide characters using the given font of fontset. +If the font is a 1-byte font, the string is converted into 1-byte +characters (discarding the high bytes) before output. + + + + + + a #GdkDrawable (a #GdkWindow or a #GdkPixmap). + + + + a #GdkFont. + + + + a #GdkGC. + + + + the x coordinate of the left edge of the text. + + + + the y coordinate of the baseline of the text. + + + + the wide characters to draw. + + + + the number of characters to draw. + + + + + + Draws a set of anti-aliased trapezoids. The trapezoids are +combined using saturation addition, then drawn over the background +as a set. This is low level functionality used internally to implement +rotated underlines and backgrouds when rendering a PangoLayout and is +likely not useful for applications. + + + + + + a #GdkDrawable + + + + a #GdkGC + + + + an array of #GdkTrapezoid structures + + + + the number of trapezoids to draw + + + + + + Ends the drag operation after a drop. +This function is called by the drag destination. + + + + + + a #GtkDragContext. + + + + %TRUE if the data was successfully received. + + + + the timestamp for this operation. + + + + + + Accepts or rejects a drop. +This function is called by the drag destination in response +to a drop initiated by the drag source. + + + + + + a #GdkDragContext. + + + + %TRUE if the drop is accepted. + + + + the timestamp for this operation. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Checks all open displays for a #GdkEvent to process,to be processed +on, fetching events from the windowing system if necessary. +See gdk_display_get_event(). +are pending. The returned #GdkEvent should be freed with gdk_event_free(). + + the next #GdkEvent to be processed, or %NULL if no events + + + + + Waits for a GraphicsExpose or NoExpose event from the X server. +This is used in the #GtkText and #GtkCList widgets in GTK+ to make sure any +GraphicsExpose events are handled before the widget is scrolled. +NoExpose event was received. + + a #GdkEventExpose if a GraphicsExpose was received, or %NULL if a + + + + + the #GdkWindow to wait for the events for. + + + + + + Sets the function to call to handle all events from GDK. +Note that GTK+ uses this to install its own event handler, so it is +usually not useful for GTK+ applications. (Although an application +can call this function then call gtk_main_do_event() to pass +events to GTK+.) + + + + + + the function to call to handle events from GDK. + + + + user data to pass to the function. + + + + the function to call when the handler function is removed, i.e. when gdk_event_handler_set() is called with another event handler. + + + + + + If there is an event waiting in the event queue of some open +display, returns a copy of it. See gdk_display_peek_event(). +events are in any queues. The returned #GdkEvent should be freed with +gdk_event_free(). + + a copy of the first #GdkEvent on some event queue, or %NULL if no + + + + + Request more motion notifies if @event is a motion notify hint event. +This function should be used instead of gdk_window_get_pointer() to +request further motion notifies, because it also works for extension +events where motion notifies are provided for devices other than the +core pointer. Coordinate extraction, processing and requesting more +motion events from a %GDK_MOTION_NOTIFY event usually works like this: +|[ +{ +/&ast; motion_event handler &ast;/ +x = motion_event->x; +y = motion_event->y; +/&ast; handle (x,y) motion &ast;/ +gdk_event_request_motions (motion_event); /&ast; handles is_hint events &ast;/ +} +]| + + + + + + a valid #GdkEvent + + + + + + On X11, sends an X ClientMessage event to a given window. On +Windows, sends a message registered with the name +GDK_WIN32_CLIENT_MESSAGE. +This could be used for communicating between different +applications, though the amount of data is limited to 20 bytes on +X11, and to just four bytes on Windows. + + non-zero on success. + + + + + the #GdkDisplay for the window where the message is to be sent. + + + + the #GdkEvent to send, which should be a #GdkEventClient. + + + + the window to send the client message to. + + + + + + Checks if any events are ready to be processed for any display. + + %TRUE if any events are pending. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Load a #GdkFont based on a Pango font description. This font will +only be an approximation of the Pango font, and +internationalization will not be handled correctly. This function +should only be used for legacy code that cannot be easily converted +to use Pango. Using Pango directly will produce better results. +cannot be loaded. + + the newly loaded font, or %NULL if the font + + + + + a #PangoFontDescription. + + + + + + Loads a #GdkFont based on a Pango font description for use on @display. +This font will only be an approximation of the Pango font, and +internationalization will not be handled correctly. This function +should only be used for legacy code that cannot be easily converted +to use Pango. Using Pango directly will produce better results. +cannot be loaded. + + the newly loaded font, or %NULL if the font + + + + + a #GdkDisplay + + + + a #PangoFontDescription. + + + + + + Loads a font. +The font may be newly loaded or looked up the font in a cache. +You should make no assumptions about the initial reference count. + + a #GdkFont, or %NULL if the font could not be loaded. + + + + + a XLFD describing the font to load. + + + + + + Loads a font for use on @display. +The font may be newly loaded or looked up the font in a cache. +You should make no assumptions about the initial reference count. + + a #GdkFont, or %NULL if the font could not be loaded. + + + + + a #GdkDisplay + + + + a XLFD describing the font to load. + + + + + + Loads a fontset. +The fontset may be newly loaded or looked up in a cache. +You should make no assumptions about the initial reference count. + + a #GdkFont, or %NULL if the fontset could not be loaded. + + + + + a comma-separated list of XLFDs describing the component fonts of the fontset to load. + + + + + + Loads a fontset for use on @display. +The fontset may be newly loaded or looked up in a cache. +You should make no assumptions about the initial reference count. + + a #GdkFont, or %NULL if the fontset could not be loaded. + + + + + a #GdkDisplay + + + + a comma-separated list of XLFDs describing the component fonts of the fontset to load. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Obtains the root window (parent all other windows are inside) +for the default display and screen. + + the default root window + + + + + + + + + + + + + + + + + + + + Gets whether event debugging output is enabled. + + %TRUE if event debugging output is enabled. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Initialize the library for use. +Arguments: +"argc" is the number of arguments. +"argv" is an array of strings. +Results: +"argc" and "argv" are modified to reflect any arguments +which were not handled. (Such arguments should either +be handled by the application or dismissed). If initialization +fails, returns FALSE, otherwise TRUE. +Side effects: +The library is initialized. +-------------------------------------------------------------- + + + + + + + + + + + + + + + + Establish a callback when a condition becomes true on +a file descriptor. +gdk_input_remove(). + + a tag that can later be used as an argument to + + + + + a file descriptor. + + + + the condition. + + + + the callback function. + + + + callback data passed to @function. + + + + + + Establish a callback when a condition becomes true on +a file descriptor. +gdk_input_remove(). + + a tag that can later be used as an argument to + + + + + a file descriptor. + + + + the condition. + + + + the callback function. + + + + callback data passed to @function. + + + + callback function to call with @data when the input handler is removed. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Determines information about the current keyboard grab. +This is not public API and must not be used by applications. +keyboard grabbed. + + %TRUE if this application currently has the + + + + + the display for which to get the grab information + + + + location to store current grab window + + + + location to store boolean indicating whether the @owner_events flag to gdk_keyboard_grab() was %TRUE. + + + + + + Ungrabs the keyboard on the default display, if it is grabbed by this +application. + + + + + + a timestamp from a #GdkEvent, or %GDK_CURRENT_TIME if no timestamp is available. + + + + + + Obtains the upper- and lower-case versions of the keyval @symbol. +Examples of keyvals are #GDK_a, #GDK_Enter, #GDK_F1, etc. + + + + + + a keyval + + + + return location for lowercase version of @symbol + + + + return location for uppercase version of @symbol + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Convert from a GDK key symbol to the corresponding ISO10646 (Unicode) +character. +is no corresponding character. + + the corresponding unicode character, or 0 if there + + + + + a GDK key symbol + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Lists the available visuals for the default screen. +(See gdk_screen_list_visuals()) +A visual describes a hardware image data format. +For example, a visual might support 24-bit color, or 8-bit color, +and might expect pixels to be in a certain format. +Call g_list_free() on the return value when you're finished with it. + + a list of visuals; the list must be freed, but not its contents + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Converts a multi-byte string to a wide character string. +(The function name comes from an acronym of 'Multi-Byte String TO Wide +Character String'). +the conversion failed. + + the number of wide characters written into @dest, or -1 if + + + + + the space to place the converted wide character string into. + + + + the multi-byte string to convert, which must be nul-terminated. + + + + the maximum number of wide characters to place in @dest. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Indicates to the GUI environment that the application has finished +loading. If the applications opens windows, this function is +normally called after opening the application's initial set of +windows. +GTK+ will call this function automatically after opening the first +#GtkWindow unless gtk_window_set_auto_startup_notification() is called +to disable that feature. + + + + + + Indicates to the GUI environment that the application has finished +loading, using a given identifier. +GTK+ will call this function automatically for #GtkWindow with custom +startup-notification identifier unless +gtk_window_set_auto_startup_notification() is called to disable +that feature. + + + + + + a startup-notification identifier, for which notification process should be completed + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Gets the window that @window is embedded in. +embedded offscreen window + + the embedding #GdkWindow, or %NULL if @window is not an + + + + + a #GdkWindow + + + + + + Gets the offscreen pixmap that an offscreen window renders into. +If you need to keep this around over window resizes, you need to +add a reference to it. + + The offscreen pixmap, or %NULL if not offscreen + + + + + a #GdkWindow + + + + + + Sets @window to be embedded in @embedder. +To fully embed an offscreen window, in addition to calling this +function, it is also necessary to handle the #GdkWindow::pick-embedded-child +signal on the @embedder and the #GdkWindow::to-embedder and +#GdkWindow::from-embedder signals on @window. + + + + + + a #GdkWindow + + + + the #GdkWindow that @window gets embedded in + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Creates a #PangoContext for the default GDK screen. +The context must be freed when you're finished with it. +When using GTK+, normally you should use gtk_widget_get_pango_context() +instead of this function, to get the appropriate context for +the widget you intend to render text onto. +The newly created context will have the default font options (see +#cairo_font_options_t) for the default screen; if these options +change it will not be updated. Using gtk_widget_get_pango_context() +is more convenient if you want to keep a context around and track +changes to the screen's font rendering settings. + + a new #PangoContext for the default display + + + + + Creates a #PangoContext for @screen. +The context must be freed when you're finished with it. +When using GTK+, normally you should use gtk_widget_get_pango_context() +instead of this function, to get the appropriate context for +the widget you intend to render text onto. +The newly created context will have the default font options +(see #cairo_font_options_t) for the screen; if these options +change it will not be updated. Using gtk_widget_get_pango_context() +is more convenient if you want to keep a context around and track +changes to the screen's font rendering settings. + + a new #PangoContext for @screen + + + + + the #GdkScreen for which the context is to be created. + + + + + + This function used to set the colormap to be used for drawing with +context used for drawing, so calling this function is no longer +necessary. + + + + + + a #PangoContext + + + + a #GdkColormap + + + + + + Obtains a clip region which contains the areas where the given ranges +of text would be drawn. @x_origin and @y_origin are the same position +you would pass to gdk_draw_layout_line(). @index_ranges should contain +ranges of bytes in the layout's text. +Note that the regions returned correspond to logical extents of the text +ranges, not ink extents. So the drawn layout may in fact touch areas out of +the clip region. The clip region is mainly useful for highlightling parts +of text, such as when text is selected. + + a clip region containing the given ranges + + + + + a #PangoLayout + + + + X pixel where you intend to draw the layout with this clip + + + + Y pixel where you intend to draw the layout with this clip + + + + array of byte indexes into the layout, where even members of array are start indexes and odd elements are end indexes + + + + number of ranges in @index_ranges, i.e. half the size of @index_ranges + + + + + + Obtains a clip region which contains the areas where the given +ranges of text would be drawn. @x_origin and @y_origin are the same +position you would pass to gdk_draw_layout_line(). @index_ranges +should contain ranges of bytes in the layout's text. The clip +region will include space to the left or right of the line (to the +layout bounding box) if you have indexes above or below the indexes +contained inside the line. This is to draw the selection all the way +to the side of the layout. However, the clip region is in line coordinates, +not layout coordinates. +Note that the regions returned correspond to logical extents of the text +ranges, not ink extents. So the drawn line may in fact touch areas out of +the clip region. The clip region is mainly useful for highlightling parts +of text, such as when text is selected. + + a clip region containing the given ranges + + + + + a #PangoLayoutLine + + + + X pixel where you intend to draw the layout line with this clip + + + + baseline pixel where you intend to draw the layout line with this clip + + + + array of byte indexes into the layout, where even members of array are start indexes and odd elements are end indexes + + + + number of ranges in @index_ranges, i.e. half the size of @index_ranges + + + + + + + + + + + + + + + Parse command line arguments, and store for future +use by calls to gdk_display_open(). +Any arguments used by GDK are removed from the array and @argc and @argv are +updated accordingly. +You shouldn't call this function explicitely if you are using +gtk_init(), gtk_init_check(), gdk_init(), or gdk_init_check(). + + + + + + the number of command line arguments. + + + + the array of command line arguments. + + + + + + + + + + + + + + + + + + + + + + + + Transfers image data from a #GdkDrawable and converts it to an RGB(A) +representation inside a #GdkPixbuf. In other words, copies +image data from a server-side drawable to a client-side RGB(A) buffer. +This allows you to efficiently read individual pixels on the client side. +If the drawable @src has no colormap (gdk_drawable_get_colormap() +returns %NULL), then a suitable colormap must be specified. +Typically a #GdkWindow or a pixmap created by passing a #GdkWindow +to gdk_pixmap_new() will already have a colormap associated with +it. If the drawable has a colormap, the @cmap argument will be +ignored. If the drawable is a bitmap (1 bit per pixel pixmap), +then a colormap is not required; pixels with a value of 1 are +assumed to be white, and pixels with a value of 0 are assumed to be +black. For taking screenshots, gdk_colormap_get_system() returns +the correct colormap to use. +If the specified destination pixbuf @dest is %NULL, then this +function will create an RGB pixbuf with 8 bits per channel and no +alpha, with the same size specified by the @width and @height +arguments. In this case, the @dest_x and @dest_y arguments must be +specified as 0. If the specified destination pixbuf is not %NULL +and it contains alpha information, then the filled pixels will be +set to full opacity (alpha = 255). +If the specified drawable is a pixmap, then the requested source +rectangle must be completely contained within the pixmap, otherwise +the function will return %NULL. For pixmaps only (not for windows) +passing -1 for width or height is allowed to mean the full width +or height of the pixmap. +If the specified drawable is a window, and the window is off the +screen, then there is no image data in the obscured/offscreen +regions to be placed in the pixbuf. The contents of portions of the +pixbuf corresponding to the offscreen region are undefined. +If the window you're obtaining data from is partially obscured by +other windows, then the contents of the pixbuf areas corresponding +to the obscured regions are undefined. +If the target drawable is not mapped (typically because it's +iconified/minimized or not on the current workspace), then %NULL +will be returned. +If memory can't be allocated for the return value, %NULL will be returned +instead. +(In short, there are several ways this function can fail, and if it fails +it returns %NULL; so check the return value.) +This function calls gdk_drawable_get_image() internally and +converts the resulting image to a #GdkPixbuf, so the +documentation for gdk_drawable_get_image() may also be relevant. +pixbuf with a reference count of 1 if no destination pixbuf was specified, or %NULL on error + + The same pixbuf as @dest if it was non-%NULL, or a newly-created + + + + + Destination pixbuf, or %NULL if a new pixbuf should be created. + + + + Source drawable. + + + + A colormap if @src doesn't have one set. + + + + Source X coordinate within drawable. + + + + Source Y coordinate within drawable. + + + + Destination X coordinate in pixbuf, or 0 if @dest is NULL. + + + + Destination Y coordinate in pixbuf, or 0 if @dest is NULL. + + + + Width in pixels of region to get. + + + + Height in pixels of region to get. + + + + + + Same as gdk_pixbuf_get_from_drawable() but gets the pixbuf from +an image. + + @dest, newly-created pixbuf if @dest was %NULL, %NULL on error + + + + + Destination pixbuf, or %NULL if a new pixbuf should be created. + + + + Source #GdkImage. + + + + A colormap, or %NULL to use the one for @src + + + + Source X coordinate within drawable. + + + + Source Y coordinate within drawable. + + + + Destination X coordinate in pixbuf, or 0 if @dest is NULL. + + + + Destination Y coordinate in pixbuf, or 0 if @dest is NULL. + + + + Width in pixels of region to get. + + + + Height in pixels of region to get. + + + + + + Creates a pixmap and a mask bitmap which are returned in the @pixmap_return +and @mask_return arguments, respectively, and renders a pixbuf and its +corresponding thresholded alpha mask to them. This is merely a convenience +function; applications that need to render pixbufs with dither offsets or to +given drawables should use gdk_draw_pixbuf() and gdk_pixbuf_render_threshold_alpha(). +The pixmap that is created is created for the colormap returned +by gdk_rgb_get_colormap(). You normally will want to instead use +the actual colormap for a widget, and use +gdk_pixbuf_render_pixmap_and_mask_for_colormap(). +If the pixbuf does not have an alpha channel, then *@mask_return will be set +to %NULL. + + + + + + A pixbuf. + + + + Location to store a pointer to the created pixmap, or %NULL if the pixmap is not needed. + + + + Location to store a pointer to the created mask, or %NULL if the mask is not needed. + + + + Threshold value for opacity values. + + + + + + Creates a pixmap and a mask bitmap which are returned in the @pixmap_return +and @mask_return arguments, respectively, and renders a pixbuf and its +corresponding tresholded alpha mask to them. This is merely a convenience +function; applications that need to render pixbufs with dither offsets or to +given drawables should use gdk_draw_pixbuf(), and gdk_pixbuf_render_threshold_alpha(). +The pixmap that is created uses the #GdkColormap specified by @colormap. +This colormap must match the colormap of the window where the pixmap +will eventually be used or an error will result. +If the pixbuf does not have an alpha channel, then *@mask_return will be set +to %NULL. + + + + + + A pixbuf. + + + + A #GdkColormap + + + + Location to store a pointer to the created pixmap, or %NULL if the pixmap is not needed. + + + + Location to store a pointer to the created mask, or %NULL if the mask is not needed. + + + + Threshold value for opacity values. + + + + + + Takes the opacity values in a rectangular portion of a pixbuf and thresholds +them to produce a bi-level alpha mask that can be used as a clipping mask for +a drawable. + + + + + + A pixbuf. + + + + Bitmap where the bilevel mask will be painted to. + + + + Source X coordinate. + + + + source Y coordinate. + + + + Destination X coordinate. + + + + Destination Y coordinate. + + + + Width of region to threshold, or -1 to use pixbuf width + + + + Height of region to threshold, or -1 to use pixbuf height + + + + Opacity values below this will be painted as zero; all other values will be painted as one. + + + + + + Renders a rectangular portion of a pixbuf to a drawable while using the +specified GC. This is done using GdkRGB, so the specified drawable must have +the GdkRGB visual and colormap. Note that this function will ignore the +opacity information for images with an alpha channel; the GC must already +have the clipping mask set if you want transparent regions to show through. +For an explanation of dither offsets, see the GdkRGB documentation. In +brief, the dither offset is important when re-rendering partial regions of an +image to a rendered version of the full image, or for when the offsets to a +base position change, as in scrolling. The dither matrix has to be shifted +for consistent visual results. If you do not have any of these cases, the +dither offsets can be both zero. + + + + + + A pixbuf. + + + + Destination drawable. + + + + GC used for rendering. + + + + Source X coordinate within pixbuf. + + + + Source Y coordinate within pixbuf. + + + + Destination X coordinate within drawable. + + + + Destination Y coordinate within drawable. + + + + Width of region to render, in pixels, or -1 to use pixbuf width + + + + Height of region to render, in pixels, or -1 to use pixbuf height + + + + Dithering mode for GdkRGB. + + + + X offset for dither. + + + + Y offset for dither. + + + + + + Renders a rectangular portion of a pixbuf to a drawable. The destination +drawable must have a colormap. All windows have a colormap, however, pixmaps +only have colormap by default if they were created with a non-%NULL window argument. +Otherwise a colormap must be set on them with gdk_drawable_set_colormap. +On older X servers, rendering pixbufs with an alpha channel involves round trips +to the X server, and may be somewhat slow. + + + + + + A pixbuf. + + + + Destination drawable. + + + + Source X coordinate within pixbuf. + + + + Source Y coordinates within pixbuf. + + + + Destination X coordinate within drawable. + + + + Destination Y coordinate within drawable. + + + + Width of region to render, in pixels, or -1 to use pixbuf width. + + + + Height of region to render, in pixels, or -1 to use pixbuf height. + + + + Ignored. Present for backwards compatibility. + + + + Ignored. Present for backwards compatibility + + + + Dithering mode for GdkRGB. + + + + X offset for dither. + + + + Y offset for dither. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Determines information about the current pointer grab. +This is not public API and must not be used by applications. +pointer grabbed. + + %TRUE if this application currently has the + + + + + the #GdkDisplay for which to get the grab information + + + + location to store current grab window + + + + location to store boolean indicating whether the @owner_events flag to gdk_pointer_grab() was %TRUE. + + + + + + Returns %TRUE if the pointer on the default display is currently +grabbed by this application. +Note that this does not take the inmplicit pointer grab on button +presses into account. + + %TRUE if the pointer is currently grabbed by this application.* + + + + + Ungrabs the pointer on the default display, if it is grabbed by this +application. + + + + + + a timestamp from a #GdkEvent, or %GDK_CURRENT_TIME if no timestamp is available. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + This function returns the available bit depths for the default +screen. It's equivalent to listing the visuals +(gdk_list_visuals()) and then looking at the depth field in each +visual, removing duplicates. +The array returned by this function should not be freed. + + + + + + return location for available depths + + + + + + return location for number of available depths + + + + + + This function returns the available visual types for the default +screen. It's equivalent to listing the visuals +(gdk_list_visuals()) and then looking at the type field in each +visual, removing duplicates. +The array returned by this function should not be freed. + + + + + + return location for the available visual types + + + + return location for the number of available visual types + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Creates a new #GdkRegion using the polygon defined by a +number of points. + + a new #GdkRegion based on the given polygon + + + + + an array of #GdkPoint structs + + + + the number of elements in the @points array + + + + specifies which pixels are included in the region when the polygon overlaps itself. + + + + + + Creates a new region containing the area @rectangle. + + a new region + + + + + a #GdkRectangle + + + + + + + + + + + + + + + + + + + + + + + + drawable you're using to draw. If you're drawing to a #GtkWidget, +call gtk_widget_get_colormap(). +gdk_rgb_find_color() will fill in the %pixel field with the best +matching pixel from a color cube. The color is then ready to be +used for drawing, e.g. you can call gdk_gc_set_foreground() which +expects %pixel to be initialized. +In many cases, you can avoid this whole issue by calling +gdk_gc_set_rgb_fg_color() or gdk_gc_set_rgb_bg_color(), which +do not expect %pixel to be initialized in advance. If you use those +functions, there's no need for gdk_rgb_find_color(). + + + + + + a #GdkColormap + + + + a #GdkColor + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Get the preferred colormap for rendering image data. Not a +very useful function; historically, GDK could only render RGB image +data to one colormap and visual, but in the current version it can +render to any colormap and visual. So there's no need to call this +function. + + the preferred colormap + + + + + Gets a "preferred visual" chosen by GdkRGB for rendering image data +on the default screen. In previous versions of GDK, this was the +only visual GdkRGB could use for rendering. In current versions, +it's simply the visual GdkRGB would have chosen as the optimal one +in those previous versions. GdkRGB can now render to drawables with +any visual. + + The #GdkVisual chosen by GdkRGB. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Determine the owner of the given selection. +Note that the return value may be owned by a different +process if a foreign window was previously created for that +window, but a new foreign window will never be created by this call. +window known to the current process, the #GdkWindow that owns the +selection, otherwise %NULL. + + if there is a selection owner for this window, and it is a + + + + + a #GdkDisplay. + + + + an atom indentifying a selection. + + + + + + + + + + + + + + + + + + + + + + + + + Sets the #GdkWindow @owner as the current owner of the selection @selection. +otherwise %FALSE. + + %TRUE if the selection owner was successfully changed to owner, + + + + + the #GdkDisplay. + + + + a #GdkWindow or %NULL to indicate that the owner for the given should be unset. + + + + an atom identifying a selection. + + + + timestamp to use when setting the selection. If this is older than the timestamp given last time the owner was set for the given selection, the request will be ignored. + + + + if %TRUE, and the new owner is different from the current owner, the current owner will be sent a SelectionClear event. + + + + + + Retrieves selection data that was stored by the selection +data in response to a call to gdk_selection_convert(). This function +will not be used by applications, who should use the #GtkClipboard +API instead. + + the length of the retrieved data. + + + + + the window on which the data is stored + + + + location to store a pointer to the retrieved data. + + + + location to store the type of the property. + + + + location to store the format of the property. + + + + + + + + + + + + + + + + + + + + + + + + + + + + Send a response to SelectionRequest event. + + + + + + the #GdkDisplay where @requestor is realized + + + + window to which to deliver response. + + + + selection that was requested. + + + + target that was selected. + + + + property in which the selection owner stored the data, or %GDK_NONE to indicate that the request was rejected. + + + + timestamp. + + + + + + + + + + + + Set the double click time for the default display. See +gdk_display_set_double_click_time(). +See also gdk_display_set_double_click_distance(). +Applications should <emphasis>not</emphasis> set this, it is a +global user-configured setting. + + + + + + double click time in milliseconds (thousandths of a second) + + + + + + + + + + + This function allows for hooking into the operation +of getting the current location of the pointer. This +is only useful for such low-level tools as an +event recorder. Applications should never have any +reason to use this facility. +This function is not multihead safe. For multihead operation, +see gdk_display_set_pointer_hooks(). + + the previous pointer hook table + + + + + a table of pointers to functions for getting quantities related to the current pointer position, or %NULL to restore the default table. + + + + + + + + + + + + + + + + Sets whether a trace of received events is output. +Note that GTK+ must be compiled with debugging (that is, +configured using the <option>--enable-debug</option> option) +to use this option. + + + + + + %TRUE to output event debugging information. + + + + + + Sets the <literal>SM_CLIENT_ID</literal> property on the application's leader window so that +the window manager can save the application's state using the X11R6 ICCCM +session management protocol. +See the X Session Management Library documentation for more information on +session management and the Inter-Client Communication Conventions Manual +(ICCCM) for information on the <literal>WM_CLIENT_LEADER</literal> property. +(Both documents are part of the X Window System distribution.) + + + + + + the client id assigned by the session manager when the connection was opened, or %NULL to remove the property. + + + + + + + + + + + + + + + + Obtains a desktop-wide setting, such as the double-click time, +for the default screen. See gdk_screen_get_setting(). +in @value, %FALSE otherwise. + + %TRUE if the setting existed and a value was stored + + + + + the name of the setting. + + + + location to store the value of the setting. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Like g_spawn_command_line_async(), except the child process is +spawned in such an environment that on calling gdk_display_open() +it would be returned a #GdkDisplay with @screen as the default +screen. +This is useful for applications which wish to launch an application +on a specific screen. + + %TRUE on success, %FALSE if error is set. + + + + + a #GdkScreen + + + + a command line + + + + + + Like g_spawn_async(), except the child process is spawned in such +an environment that on calling gdk_display_open() it would be +returned a #GdkDisplay with @screen as the default screen. +This is useful for applications which wish to launch an application +on a specific screen. + + %TRUE on success, %FALSE if error is set + + + + + a #GdkScreen + + + + child's current working directory, or %NULL to inherit parent's + + + + child's argument vector + + + + + + child's environment, or %NULL to inherit parent's + + + + + + flags from #GSpawnFlags + + + + function to run in the child just before exec() + + + + user data for @child_setup + + + + return location for child process ID, or %NULL + + + + + + Like g_spawn_async_with_pipes(), except the child process is +spawned in such an environment that on calling gdk_display_open() +it would be returned a #GdkDisplay with @screen as the default +screen. +This is useful for applications which wish to launch an application +on a specific screen. + + %TRUE on success, %FALSE if an error was set + + + + + a #GdkScreen + + + + child's current working directory, or %NULL to inherit parent's + + + + child's argument vector + + + + + + child's environment, or %NULL to inherit parent's + + + + + + flags from #GSpawnFlags + + + + function to run in the child just before exec() + + + + user data for @child_setup + + + + return location for child process ID, or %NULL + + + + return location for file descriptor to write to child's stdin, or %NULL + + + + return location for file descriptor to read child's stdout, or %NULL + + + + return location for file descriptor to read child's stderr, or %NULL + + + + + + + + + + + + + + + + + + Gets the metrics of a nul-terminated string. + + + + + + a #GdkFont. + + + + the nul-terminated string to measure. + + + + the left bearing of the string. + + + + the right bearing of the string. + + + + the width of the string. + + + + the ascent of the string. + + + + the descent of the string. + + + + + + Determines the total height of a given nul-terminated +string. This value is not generally useful, because you +cannot determine how this total height will be drawn in +relation to the baseline. See gdk_string_extents(). + + the height of the string in pixels. + + + + + a #GdkFont + + + + the nul-terminated string to measure. + + + + + + Determines the distance from the origin to the rightmost +portion of a nul-terminated string when drawn. This is not the +correct value for determining the origin of the next +portion when drawing text in multiple pieces. +See gdk_string_width(). + + the right bearing of the string in pixels. + + + + + a #GdkFont + + + + the nul-terminated string to measure. + + + + + + + + + + + + + + + + + + + + + + + + + + + + Convert a string from the encoding of the current +locale into a form suitable for storing in a window property. + + 0 upon success, non-zero upon failure. + + + + + the #GdkDisplay where the encoding is defined. + + + + a nul-terminated string. + + + + location to store the encoding atom (to be used as the type for the property). + + + + location to store the format of the property + + + + location to store newly allocated data for the property. + + + + the length of @text, in bytes + + + + + + Determines the width of a nul-terminated string. +(The distance from the origin of the string to the +point where the next string in a sequence of strings +should be drawn) + + the width of the string in pixels. + + + + + a #GdkFont + + + + the nul-terminated string to measure + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + This function retrieves a pixel from @window to force the windowing +system to carry out any pending rendering commands. +This function is intended to be used to syncronize with rendering +pipelines, to benchmark windowing system rendering operations. + + + + + + a mapped #GdkWindow + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Gets the metrics of a string. + + + + + + a #GdkFont + + + + the text to measure + + + + the length of the text in bytes. (If the font is a 16-bit font, this is twice the length of the text in characters.) + + + + the left bearing of the string. + + + + the right bearing of the string. + + + + the width of the string. + + + + the ascent of the string. + + + + the descent of the string. + + + + + + Gets the metrics of a string of wide characters. + + + + + + a #GdkFont + + + + the text to measure. + + + + the length of the text in character. + + + + the left bearing of the string. + + + + the right bearing of the string. + + + + the width of the string. + + + + the ascent of the string. + + + + the descent of the string. + + + + + + Determines the total height of a given string. +This value is not generally useful, because you cannot +determine how this total height will be drawn in +relation to the baseline. See gdk_text_extents(). + + the height of the string in pixels. + + + + + a #GdkFont + + + + the text to measure. + + + + the length of the text in bytes. + + + + + + Determines the distance from the origin to the rightmost +portion of a string when drawn. This is not the +correct value for determining the origin of the next +portion when drawing text in multiple pieces. +See gdk_text_width(). + + the right bearing of the string in pixels. + + + + + a #GdkFont + + + + the text to measure. + + + + the length of the text in bytes. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Convert a text string from the encoding as it is stored +in a property into an array of strings in the encoding of +the current locale. (The elements of the array represent the +nul-separated elements of the original text string.) +if the conversion failed. + + the number of strings stored in list, or 0, + + + + + The #GdkDisplay where the encoding is defined. + + + + an atom representing the encoding. The most common values for this are STRING, or COMPOUND_TEXT. This is value used as the type for the property. + + + + the format of the property. + + + + The text data. + + + + + + The number of items to transform. + + + + location to store a terminated array of strings in the encoding of the current locale. This array should be freed using gdk_free_text_list(). + + + + + + Convert a text property in the giving encoding to +a list of UTF-8 strings. +list. + + the number of strings in the resulting + + + + + an atom representing the encoding of the text + + + + the format of the property + + + + the text to convert + + + + + + the length of @text, in bytes + + + + location to store the list of strings or %NULL. The list should be freed with g_strfreev(). + + + + + + Converts a text property in the given encoding to +a list of UTF-8 strings. +list. + + the number of strings in the resulting + + + + + a #GdkDisplay + + + + an atom representing the encoding of the text + + + + the format of the property + + + + the text to convert + + + + + + the length of @text, in bytes + + + + location to store the list of strings or %NULL. The list should be freed with g_strfreev(). + + + + + + Determines the width of a given string. + + the width of the string in pixels. + + + + + a #GdkFont + + + + the text to measure. + + + + the length of the text in bytes. + + + + + + Determines the width of a given wide-character string. + + the width of the string in pixels. + + + + + a #GdkFont + + + + the text to measure. + + + + the length of the text in characters. + + + + + + + + + + + + + + + A wrapper for the common usage of gdk_threads_add_idle_full() +assigning the default priority, #G_PRIORITY_DEFAULT_IDLE. +See gdk_threads_add_idle_full(). + + the ID (greater than 0) of the event source. + + + + + function to call + + + + data to pass to @function + + + + + + Adds a function to be called whenever there are no higher priority +events pending. If the function returns %FALSE it is automatically +removed from the list of event sources and will not be called again. +This variant of g_idle_add_full() calls @function with the GDK lock +held. It can be thought of a MT-safe version for GTK+ widgets for the +following use case, where you have to worry about idle_callback() +running in thread A and accessing @self after it has been finalized +in thread B: +|[ +static gboolean +idle_callback (gpointer data) +{ +/&ast; gdk_threads_enter(); would be needed for g_idle_add() &ast;/ +SomeWidget *self = data; +/&ast; do stuff with self &ast;/ +self->idle_id = 0; +/&ast; gdk_threads_leave(); would be needed for g_idle_add() &ast;/ +return FALSE; +} +static void +some_widget_do_stuff_later (SomeWidget *self) +{ +self->idle_id = gdk_threads_add_idle (idle_callback, self) +/&ast; using g_idle_add() here would require thread protection in the callback &ast;/ +} +static void +some_widget_finalize (GObject *object) +{ +SomeWidget *self = SOME_WIDGET (object); +if (self->idle_id) +g_source_remove (self->idle_id); +G_OBJECT_CLASS (parent_class)->finalize (object); +} +]| + + the ID (greater than 0) of the event source. + + + + + the priority of the idle source. Typically this will be in the range btweeen #G_PRIORITY_DEFAULT_IDLE and #G_PRIORITY_HIGH_IDLE + + + + function to call + + + + data to pass to @function + + + + function to call when the idle is removed, or %NULL + + + + + + A wrapper for the common usage of gdk_threads_add_timeout_full() +assigning the default priority, #G_PRIORITY_DEFAULT. +See gdk_threads_add_timeout_full(). + + the ID (greater than 0) of the event source. + + + + + the time between calls to the function, in milliseconds (1/1000ths of a second) + + + + function to call + + + + data to pass to @function + + + + + + Sets a function to be called at regular intervals holding the GDK lock, +with the given priority. The function is called repeatedly until it +returns %FALSE, at which point the timeout is automatically destroyed +and the function will not be called again. The @notify function is +called when the timeout is destroyed. The first call to the +function will be at the end of the first @interval. +Note that timeout functions may be delayed, due to the processing of other +event sources. Thus they should not be relied on for precise timing. +After each call to the timeout function, the time of the next +timeout is recalculated based on the current time and the given interval +(it does not try to 'catch up' time lost in delays). +This variant of g_timeout_add_full() can be thought of a MT-safe version +for GTK+ widgets for the following use case: +|[ +static gboolean timeout_callback (gpointer data) +{ +SomeWidget *self = data; +/&ast; do stuff with self &ast;/ +self->timeout_id = 0; +return FALSE; +} +static void some_widget_do_stuff_later (SomeWidget *self) +{ +self->timeout_id = g_timeout_add (timeout_callback, self) +} +static void some_widget_finalize (GObject *object) +{ +SomeWidget *self = SOME_WIDGET (object); +if (self->timeout_id) +g_source_remove (self->timeout_id); +G_OBJECT_CLASS (parent_class)->finalize (object); +} +]| + + the ID (greater than 0) of the event source. + + + + + the priority of the timeout source. Typically this will be in the range between #G_PRIORITY_DEFAULT_IDLE and #G_PRIORITY_HIGH_IDLE. + + + + the time between calls to the function, in milliseconds (1/1000ths of a second) + + + + function to call + + + + data to pass to @function + + + + function to call when the timeout is removed, or %NULL + + + + + + A wrapper for the common usage of gdk_threads_add_timeout_seconds_full() +assigning the default priority, #G_PRIORITY_DEFAULT. +For details, see gdk_threads_add_timeout_full(). + + the ID (greater than 0) of the event source. + + + + + the time between calls to the function, in seconds + + + + function to call + + + + data to pass to @function + + + + + + A variant of gdk_threads_add_timout_full() with second-granularity. +See g_timeout_add_seconds_full() for a discussion of why it is +a good idea to use this function if you don't need finer granularity. + + the ID (greater than 0) of the event source. + + + + + the priority of the timeout source. Typically this will be in the range between #G_PRIORITY_DEFAULT_IDLE and #G_PRIORITY_HIGH_IDLE. + + + + the time between calls to the function, in seconds + + + + function to call + + + + data to pass to @function + + + + function to call when the timeout is removed, or %NULL + + + + + + + + + + + Initializes GDK so that it can be used from multiple threads +in conjunction with gdk_threads_enter() and gdk_threads_leave(). +g_thread_init() must be called previous to this function. +This call must be made before any use of the main loop from +GTK+; to be safe, call it before gtk_init(). + + + + + + + + + + + Allows the application to replace the standard method that +GDK uses to protect its data structures. Normally, GDK +creates a single #GMutex that is locked by gdk_threads_enter(), +and released by gdk_threads_leave(); using this function an +application provides, instead, a function @enter_fn that is +called by gdk_threads_enter() and a function @leave_fn that is +called by gdk_threads_leave(). +The functions must provide at least same locking functionality +as the default implementation, but can also do extra application +specific processing. +As an example, consider an application that has its own recursive +lock that when held, holds the GTK+ lock as well. When GTK+ unlocks +the GTK+ lock when entering a recursive main loop, the application +must temporarily release its lock as well. +Most threaded GTK+ apps won't need to use this method. +This method must be called before gdk_threads_init(), and cannot +be called multiple times. + + + + + + function called to guard GDK + + + + function called to release the guard + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Convert from a ISO10646 character to a key symbol. +or, if there is no corresponding symbol, +wc | 0x01000000 + + the corresponding GDK key symbol, if one exists. + + + + + a ISO10646 encoded character + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Convert from UTF-8 to compound text. +false. + + %TRUE if the conversion succeeded, otherwise + + + + + a UTF-8 string + + + + location to store resulting encoding + + + + location to store format of the result + + + + location to store the data of the result + + + + location to store the length of the data stored in @ctext + + + + + + Converts from UTF-8 to compound text. +%FALSE. + + %TRUE if the conversion succeeded, otherwise + + + + + a #GdkDisplay + + + + a UTF-8 string + + + + location to store resulting encoding + + + + location to store format of the result + + + + location to store the data of the result + + + + location to store the length of the data stored in @ctext + + + + + + Converts an UTF-8 string into the best possible representation +as a STRING. The representation of characters not in STRING +is not specified; it may be as pseudo-escape sequences +\x{ABCD}, or it may be in some other form of approximation. +conversion failed. (It should not fail for +any properly formed UTF-8 string unless system +limits like memory or file descriptors are exceeded.) + + the newly-allocated string, or %NULL if the + + + + + a UTF-8 string + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Converts a wide character string to a multi-byte string. +(The function name comes from an acronym of 'Wide Character String TO +Multi-Byte String'). +conversion failed. The returned string should be freed with g_free() when no +longer needed. + + the multi-byte string corresponding to @src, or %NULL if the + + + + + a wide character string. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/GdkPixbuf-2.0.gir b/GdkPixbuf-2.0.gir new file mode 100644 index 0000000..50a7356 --- /dev/null +++ b/GdkPixbuf-2.0.gir @@ -0,0 +1,2832 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Creates a new #GdkPixbuf structure and allocates a buffer for it. The +buffer has an optimal rowstride. Note that the buffer is not cleared; +you will have to fill it completely yourself. +%NULL if not enough memory could be allocated for the image buffer. + + A newly-created #GdkPixbuf with a reference count of 1, or + + + + + Color space for image + + + + Whether the image should have transparency information + + + + Number of bits per color sample + + + + Width of image in pixels, must be > 0 + + + + Height of image in pixels, must be > 0 + + + + + + Creates a new pixbuf which represents a sub-region of +original pixbuf, so writing to one affects both. +The new pixbuf holds a reference to @src_pixbuf, so +is finalized. + + a new pixbuf + + + + + a #GdkPixbuf + + + + X coord in @src_pixbuf + + + + Y coord in @src_pixbuf + + + + width of region in @src_pixbuf + + + + height of region in @src_pixbuf + + + + + + Creates a new pixbuf by loading an image from a file. The file format is +detected automatically. If %NULL is returned, then @error will be set. +Possible errors are in the #GDK_PIXBUF_ERROR and #G_FILE_ERROR domains. +there was no loader for the file's format, there was not enough memory to +allocate the image buffer, or the image file contained invalid data. + + A newly-created pixbuf with a reference count of 1, or %NULL if + + + + + Name of file to load, in the GLib file name encoding + + + + + + Creates a new pixbuf by loading an image from a file. +The file format is detected automatically. If %NULL is returned, then +#G_FILE_ERROR domains. +The image will be scaled to fit in the requested size, preserving +the image's aspect ratio. Note that the returned pixbuf may be smaller +than @width x @height, if the aspect ratio requires it. To load +and image at the requested size, regardless of aspect ratio, use +gdk_pixbuf_new_from_file_at_scale(). +%NULL if any of several error conditions occurred: the file could not +be opened, there was no loader for the file's format, there was not +enough memory to allocate the image buffer, or the image file contained +invalid data. + + A newly-created pixbuf with a reference count of 1, or + + + + + Name of file to load, in the GLib file name encoding + + + + The width the image should have or -1 to not constrain the width + + + + The height the image should have or -1 to not constrain the height + + + + + + Creates a new pixbuf by loading an image from a file. The file format is +detected automatically. If %NULL is returned, then @error will be set. +Possible errors are in the #GDK_PIXBUF_ERROR and #G_FILE_ERROR domains. +The image will be scaled to fit in the requested size, optionally preserving +the image's aspect ratio. +When preserving the aspect ratio, a @width of -1 will cause the image +to be scaled to the exact given height, and a @height of -1 will cause +the image to be scaled to the exact given width. When not preserving +aspect ratio, a @width or @height of -1 means to not scale the image +at all in that dimension. Negative values for @width and @height are +allowed since 2.8. +there was no loader for the file's format, there was not enough memory to +allocate the image buffer, or the image file contained invalid data. + + A newly-created pixbuf with a reference count of 1, or %NULL + + + + + Name of file to load, in the GLib file name encoding + + + + The width the image should have or -1 to not constrain the width + + + + The height the image should have or -1 to not constrain the height + + + + %TRUE to preserve the image's aspect ratio + + + + + + Creates a new #GdkPixbuf out of in-memory image data. Currently only RGB +images with 8 bits per sample are supported. + + A newly-created #GdkPixbuf structure with a reference count of 1. + + + + + Image data in 8-bit/sample packed format + + + + + + Colorspace for the image data + + + + Whether the data has an opacity channel + + + + Number of bits per sample + + + + Width of the image in pixels, must be > 0 + + + + Height of the image in pixels, must be > 0 + + + + Distance in bytes between row starts + + + + Function used to free the data when the pixbuf's reference count drops to zero, or %NULL if the data should not be freed + + + + Closure data to pass to the destroy notification function + + + + + + Creates a new pixbuf by parsing XPM data in memory. This data is commonly +the result of including an XPM file into a program's C source. + + A newly-created pixbuf with a reference count of 1. + + + + + Pointer to inline XPM data. + + + + + + + + Create a #GdkPixbuf from a flat representation that is suitable for +storing as inline data in a program. This is useful if you want to +ship a program with images, but don't want to depend on any +external files. +GTK+ ships with a program called <command>gdk-pixbuf-csource</command> +which allows for conversion of #GdkPixbufs into such a inline representation. +In almost all cases, you should pass the <option>--raw</option> flag to +<command>gdk-pixbuf-csource</command>. A sample invocation would be: +<informalexample><programlisting> +gdk-pixbuf-csource --raw --name=myimage_inline myimage.png +</programlisting></informalexample> +For the typical case where the inline pixbuf is read-only static data, +you don't need to copy the pixel data unless you intend to write to +it, so you can pass %FALSE for @copy_pixels. (If you pass +<option>--rle</option> to <command>gdk-pixbuf-csource</command>, a copy +will be made even if @copy_pixels is %FALSE, so using this option is +generally a bad idea.) +If you create a pixbuf from const inline data compiled into your +program, it's probably safe to ignore errors and disable length checks, +since things will always succeed: +<informalexample><programlisting> +pixbuf = gdk_pixbuf_new_from_inline (-1, myimage_inline, FALSE, NULL); +</programlisting></informalexample> +For non-const inline data, you could get out of memory. For untrusted +inline data located at runtime, you could have corrupt inline data in +addition. +count of 1, or %NULL if an error occurred. + + A newly-created #GdkPixbuf structure with a reference, + + + + + Length in bytes of the @data argument or -1 to disable length checks + + + + Byte data containing a serialized #GdkPixdata structure + + + + + + Whether to copy the pixel data, or use direct pointers + + + + + + Creates a new pixbuf by loading an image from an input stream. +The file format is detected automatically. If %NULL is returned, then +from another thread. If the operation was cancelled, the error +%GIO_ERROR_CANCELLED will be returned. Other possible errors are in +the #GDK_PIXBUF_ERROR and %G_IO_ERROR domains. +The stream is not closed. +not supported, there was not enough memory to allocate the image buffer, +the stream contained invalid data, or the operation was cancelled. + + A newly-created pixbuf, or %NULL if any of several error + + + + + a #GInputStream to load the pixbuf from + + + + optional #GCancellable object, %NULL to ignore + + + + + + Creates a new pixbuf by loading an image from an input stream. +The file format is detected automatically. If %NULL is returned, then +from another thread. If the operation was cancelled, the error +%GIO_ERROR_CANCELLED will be returned. Other possible errors are in +the #GDK_PIXBUF_ERROR and %G_IO_ERROR domains. +The image will be scaled to fit in the requested size, optionally +preserving the image's aspect ratio. When preserving the aspect ratio, +a @width of -1 will cause the image to be scaled to the exact given +height, and a @height of -1 will cause the image to be scaled to the +exact given width. When not preserving aspect ratio, a @width or +The stream is not closed. +not supported, there was not enough memory to allocate the image buffer, +the stream contained invalid data, or the operation was cancelled. + + A newly-created pixbuf, or %NULL if any of several error + + + + + a #GInputStream to load the pixbuf from + + + + The width the image should have or -1 to not constrain the width + + + + The height the image should have or -1 to not constrain the height + + + + %TRUE to preserve the image's aspect ratio + + + + optional #GCancellable object, %NULL to ignore + + + + + + Obtains the available information about the image formats supported +by GdkPixbuf. +image formats. The list should be freed when it is no longer needed, +but the structures themselves are owned by #GdkPixbuf and should not be +freed. + + A list of #GdkPixbufFormat<!-- -->s describing the supported + + + + + + + Parses an image file far enough to determine its format and size. +or %NULL if the image format wasn't recognized. The return value +is owned by GdkPixbuf and should not be freed. + + A #GdkPixbufFormat describing the image format of the file + + + + + The name of the file to identify. + + + + Return location for the width of the image, or %NULL + + + + Return location for the height of the image, or %NULL + + + + + + Converts a #GdkPixdata to a #GdkPixbuf. If @copy_pixels is %TRUE or +if the pixel data is run-length-encoded, the pixel data is copied into +newly-allocated memory; otherwise it is reused. + + a new #GdkPixbuf. + + + + + a #GdkPixdata to convert into a #GdkPixbuf. + + + + whether to copy raw pixel data; run-length encoded pixel data is always copied. + + + + + + Adds a reference to a pixbuf. + + The same as the @pixbuf argument. + + + + + Removes a reference from a pixbuf. + + + + + + Queries the color space of a pixbuf. + + Color space. + + + + + Queries the number of channels of a pixbuf. + + Number of channels. + + + + + Queries whether a pixbuf has an alpha channel (opacity information). + + %TRUE if it has an alpha channel, %FALSE otherwise. + + + + + Queries the number of bits per color sample in a pixbuf. + + Number of bits per color sample. + + + + + Queries a pointer to the pixel data of a pixbuf. +for information about how the pixel data is stored in +memory. + + A pointer to the pixbuf's pixel data. Please see <xref linkend="image-data"/> + + + + + + + Queries the width of a pixbuf. + + Width in pixels. + + + + + Queries the height of a pixbuf. + + Height in pixels. + + + + + Queries the rowstride of a pixbuf, which is the number of bytes between the start of a row +and the start of the next row. + + Distance between row starts. + + + + + Creates a new #GdkPixbuf with a copy of the information in the specified +not enough memory could be allocated. + + A newly-created pixbuf with a reference count of 1, or %NULL if + + + + + Clears a pixbuf to the given RGBA value, converting the RGBA value into +the pixbuf's pixel format. The alpha will be ignored if the pixbuf +doesn't have an alpha channel. + + + + + + RGBA pixel to clear to (0xffffffff is opaque white, 0x00000000 transparent black) + + + + + + Saves pixbuf to a file in format @type. By default, "jpeg", "png", "ico" +and "bmp" are possible file formats to save in, but more formats may be +installed. The list of all writable formats can be determined in the +following way: +|[ +void add_if_writable (GdkPixbufFormat *data, GSList **list) +{ +if (gdk_pixbuf_format_is_writable (data)) +*list = g_slist_prepend (*list, data); +} +GSList *formats = gdk_pixbuf_get_formats (); +GSList *writable_formats = NULL; +g_slist_foreach (formats, add_if_writable, &writable_formats); +g_slist_free (formats); +]| +If @error is set, %FALSE will be returned. Possible errors include +those in the #GDK_PIXBUF_ERROR domain and those in the #G_FILE_ERROR domain. +The variable argument list should be %NULL-terminated; if not empty, +it should contain pairs of strings that modify the save +parameters. For example: +<informalexample><programlisting> +gdk_pixbuf_save (pixbuf, handle, "jpeg", &amp;error, +"quality", "100", NULL); +</programlisting></informalexample> +Currently only few parameters exist. JPEG images can be saved with a +"quality" parameter; its value should be in the range [0,100]. +Text chunks can be attached to PNG images by specifying parameters of +the form "tEXt::key", where key is an ASCII string of length 1-79. +The values are UTF-8 encoded strings. The PNG compression level can +be specified using the "compression" parameter; it's value is in an +integer in the range of [0,9]. +ICC color profiles can also be embedded into PNG and TIFF images. +The "icc-profile" value should be the complete ICC profile encoded +into base64. +<informalexample><programlisting> +gchar *contents; +gchar *contents_encode; +gsize length; +g_file_get_contents ("/home/hughsie/.color/icc/L225W.icm", &contents, &length, NULL); +contents_encode = g_base64_encode ((const guchar *) contents, length); +gdk_pixbuf_save (pixbuf, handle, "png", &amp;error, +"icc-profile", contents_encode, +NULL); +</programlisting></informalexample> +TIFF images recognize a "compression" option which acceps an integer value. +Among the codecs are 1 None, 2 Huffman, 5 LZW, 7 JPEG and 8 Deflate, see +the libtiff documentation and tiff.h for all supported codec values. +ICO images can be saved in depth 16, 24, or 32, by using the "depth" +parameter. When the ICO saver is given "x_hot" and "y_hot" parameters, +it produces a CUR instead of an ICO. + + whether an error was set + + + + + name of file to save. + + + + name of file format. + + + + return location for error, or %NULL + + + + + + + + + + Saves pixbuf to a file in @type, which is currently "jpeg", "png", "tiff", "ico" or "bmp". +If @error is set, %FALSE will be returned. +See gdk_pixbuf_save () for more details. + + whether an error was set + + + + + name of file to save. + + + + name of file format. + + + + name of options to set, %NULL-terminated + + + + + + values for named options + + + + + + + + Saves pixbuf in format @type by feeding the produced data to a +callback. Can be used when you want to store the image to something +other than a file, such as an in-memory buffer or a socket. +If @error is set, %FALSE will be returned. Possible errors +include those in the #GDK_PIXBUF_ERROR domain and whatever the save +function generates. +See gdk_pixbuf_save() for more details. + + whether an error was set + + + + + a function that is called to save each block of data that the save routine generates. + + + + user data to pass to the save function. + + + + name of file format. + + + + return location for error, or %NULL + + + + + + + + + + Saves pixbuf to a callback in format @type, which is currently "jpeg", +"png", "tiff", "ico" or "bmp". If @error is set, %FALSE will be returned. See +gdk_pixbuf_save_to_callback () for more details. + + whether an error was set + + + + + a function that is called to save each block of data that the save routine generates. + + + + user data to pass to the save function. + + + + name of file format. + + + + name of options to set, %NULL-terminated + + + + + + values for named options + + + + + + + + Saves pixbuf to a new buffer in format @type, which is currently "jpeg", +"png", "tiff", "ico" or "bmp". This is a convenience function that uses +gdk_pixbuf_save_to_callback() to do the real work. Note that the buffer +is not nul-terminated and may contain embedded nuls. +If @error is set, %FALSE will be returned and @buffer will be set to +%NULL. Possible errors include those in the #GDK_PIXBUF_ERROR +domain. +See gdk_pixbuf_save() for more details. + + whether an error was set + + + + + location to receive a pointer to the new buffer. + + + + + + location to receive the size of the new buffer. + + + + name of file format. + + + + return location for error, or %NULL + + + + + + + + + + Saves pixbuf to a new buffer in format @type, which is currently "jpeg", +"tiff", "png", "ico" or "bmp". See gdk_pixbuf_save_to_buffer() +for more details. + + whether an error was set + + + + + location to receive a pointer to the new buffer. + + + + + + location to receive the size of the new buffer. + + + + name of file format. + + + + name of options to set, %NULL-terminated + + + + + + values for named options + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Takes an existing pixbuf and adds an alpha channel to it. +If the existing pixbuf already had an alpha channel, the channel +values are copied from the original; otherwise, the alpha channel +is initialized to 255 (full opacity). +If @substitute_color is %TRUE, then the color specified by (@r, @g, @b) will be +assigned zero opacity. That is, if you pass (255, 255, 255) for the +substitute color, all white pixels will become fully transparent. + + A newly-created pixbuf with a reference count of 1. + + + + + Whether to set a color to zero opacity. If this is %FALSE, then the (@r, @g, @b) arguments will be ignored. + + + + Red value to substitute. + + + + Green value to substitute. + + + + Blue value to substitute. + + + + + + Copies a rectangular area from @src_pixbuf to @dest_pixbuf. Conversion of +pixbuf formats is done automatically. +If the source rectangle overlaps the destination rectangle on the +same pixbuf, it will be overwritten during the copy operation. +Therefore, you can not use this function to scroll a pixbuf. + + + + + + Source X coordinate within @src_pixbuf. + + + + Source Y coordinate within @src_pixbuf. + + + + Width of the area to copy. + + + + Height of the area to copy. + + + + Destination pixbuf. + + + + X coordinate within @dest_pixbuf. + + + + Y coordinate within @dest_pixbuf. + + + + + + Modifies saturation and optionally pixelates @src, placing the result in +saturation is reduced (the image turns toward grayscale); if greater than +1.0, saturation is increased (the image gets more vivid colors). If @pixelate +is %TRUE, then pixels are faded in a checkerboard pattern to create a +pixelated image. @src and @dest must have the same image format, size, and +rowstride. + + + + + + place to write modified version of @src + + + + saturation factor + + + + whether to pixelate + + + + + + Takes an existing pixbuf and checks for the presence of an +associated "orientation" option, which may be provided by the +jpeg loader (which reads the exif orientation tag) or the +tiff loader (which reads the tiff orientation tag, and +compensates it for the partial transforms performed by +libtiff). If an orientation option/tag is present, the +appropriate transform will be performed so that the pixbuf +is oriented correctly. +input pixbuf (with an increased reference count). + + A newly-created pixbuf, or a reference to the + + + + + Looks up @key in the list of options that may have been attached to the +function using gdk_pixbuf_set_option(). +For instance, the ANI loader provides "Title" and "Artist" options. +The ICO, XBM, and XPM loaders provide "x_hot" and "y_hot" hot-spot +options for cursor definitions. The PNG loader provides the tEXt ancillary +chunk key/value pairs as options. Since 2.12, the TIFF and JPEG loaders +return an "orientation" option string that corresponds to the embedded +TIFF/Exif orientation tag (if present). +string that should not be freed or %NULL if @key was not found. + + the value associated with @key. This is a nul-terminated + + + + + a nul-terminated string. + + + + + + Creates a transformation of the source image @src by scaling by +then renders the rectangle (@dest_x, @dest_y, @dest_width, +replacing the previous contents. +Try to use gdk_pixbuf_scale_simple() first, this function is +the industrial-strength power tool you can fall back to if +gdk_pixbuf_scale_simple() isn't powerful enough. +If the source rectangle overlaps the destination rectangle on the +same pixbuf, it will be overwritten during the scaling which +results in rendering artifacts. + + + + + + the #GdkPixbuf into which to render the results + + + + the left coordinate for region to render + + + + the top coordinate for region to render + + + + the width of the region to render + + + + the height of the region to render + + + + the offset in the X direction (currently rounded to an integer) + + + + the offset in the Y direction (currently rounded to an integer) + + + + the scale factor in the X direction + + + + the scale factor in the Y direction + + + + the interpolation type for the transformation. + + + + + + Creates a transformation of the source image @src by scaling by +This gives an image in the coordinates of the destination pixbuf. +The rectangle (@dest_x, @dest_y, @dest_width, @dest_height) +is then composited onto the corresponding rectangle of the +original destination image. +When the destination rectangle contains parts not in the source +image, the data at the edges of the source image is replicated +to infinity. +<figure id="pixbuf-composite-diagram"> +<title>Compositing of pixbufs</title> +<graphic fileref="composite.png" format="PNG"/> +</figure> + + + + + + the #GdkPixbuf into which to render the results + + + + the left coordinate for region to render + + + + the top coordinate for region to render + + + + the width of the region to render + + + + the height of the region to render + + + + the offset in the X direction (currently rounded to an integer) + + + + the offset in the Y direction (currently rounded to an integer) + + + + the scale factor in the X direction + + + + the scale factor in the Y direction + + + + the interpolation type for the transformation. + + + + overall alpha for source image (0..255) + + + + + + Creates a transformation of the source image @src by scaling by +then composites the rectangle (@dest_x ,@dest_y, @dest_width, +colors @color1 and @color2 and renders it onto the destination +image. +See gdk_pixbuf_composite_color_simple() for a simpler variant of this +function suitable for many tasks. + + + + + + the #GdkPixbuf into which to render the results + + + + the left coordinate for region to render + + + + the top coordinate for region to render + + + + the width of the region to render + + + + the height of the region to render + + + + the offset in the X direction (currently rounded to an integer) + + + + the offset in the Y direction (currently rounded to an integer) + + + + the scale factor in the X direction + + + + the scale factor in the Y direction + + + + the interpolation type for the transformation. + + + + overall alpha for source image (0..255) + + + + the X offset for the checkboard (origin of checkboard is at -@check_x, -@check_y) + + + + the Y offset for the checkboard + + + + the size of checks in the checkboard (must be a power of two) + + + + the color of check at upper left + + + + the color of the other check + + + + + + Create a new #GdkPixbuf containing a copy of @src scaled to +should be #GDK_INTERP_NEAREST if you want maximum speed (but when +scaling down #GDK_INTERP_NEAREST is usually unusably ugly). The +default @interp_type should be #GDK_INTERP_BILINEAR which offers +reasonable quality and speed. +You can scale a sub-portion of @src by creating a sub-pixbuf +pointing into @src; see gdk_pixbuf_new_subpixbuf(). +For more complicated scaling/compositing see gdk_pixbuf_scale() +and gdk_pixbuf_composite(). +allocated for it. + + the new #GdkPixbuf, or %NULL if not enough memory could be + + + + + the width of destination image + + + + the height of destination image + + + + the interpolation type for the transformation. + + + + + + Creates a new #GdkPixbuf by scaling @src to @dest_width x +allocated for it. + + the new #GdkPixbuf, or %NULL if not enough memory could be + + + + + the width of destination image + + + + the height of destination image + + + + the interpolation type for the transformation. + + + + overall alpha for source image (0..255) + + + + the size of checks in the checkboard (must be a power of two) + + + + the color of check at upper left + + + + the color of the other check + + + + + + Rotates a pixbuf by a multiple of 90 degrees, and returns the +result in a new pixbuf. +allocated for it. + + the new #GdkPixbuf, or %NULL if not enough memory could be + + + + + the angle to rotate by + + + + + + Flips a pixbuf horizontally or vertically and returns the +result in a new pixbuf. +allocated for it. + + the new #GdkPixbuf, or %NULL if not enough memory could be + + + + + %TRUE to flip horizontally, %FALSE to flip vertically + + + + + + Attaches a key/value pair as an option to a #GdkPixbuf. If %key already +exists in the list of options attached to @pixbuf, the new value is +ignored and %FALSE is returned. + + %TRUE on success. + + + + + a nul-terminated string. + + + + a nul-terminated string. + + + + + + The number of bits per sample. +Currently only 8 bit per sample are supported. + + + + + + + + + + + + + The number of samples per pixel. +Currently, only 3 or 4 samples per pixel are supported. + + + + + + + The number of bytes between the start of a row and +the start of the next row. This number must (obviously) +be at least as large as the width of the pixbuf. + + + + + + + + + + + + + Creates a new animation by loading it from a file. The file format is +detected automatically. If the file's format does not support multi-frame +images, then an animation with a single frame will be created. Possible errors +are in the #GDK_PIXBUF_ERROR and #G_FILE_ERROR domains. +there was no loader for the file's format, there was not enough memory to +allocate the image buffer, or the image file contained invalid data. + + A newly-created animation with a reference count of 1, or %NULL + + + + + Name of file to load, in the GLib file name encoding + + + + + + If you load a file with gdk_pixbuf_animation_new_from_file() and it turns +out to be a plain, unanimated image, then this function will return +%TRUE. Use gdk_pixbuf_animation_get_static_image() to retrieve +the image. + + %TRUE if the "animation" was really just an image + + + + + If an animation is really just a plain image (has only one frame), +this function returns that image. If the animation is an animation, +this function returns a reasonable thing to display as a static +unanimated image, which might be the first frame, or something more +sophisticated. If an animation hasn't loaded any frames yet, this +function will return %NULL. + + unanimated image representing the animation + + + + + + + + + + + + + + + + + + Get an iterator for displaying an animation. The iterator provides +the frames that should be displayed at a given time. +It should be freed after use with g_object_unref(). +marks the beginning of animation playback. After creating an +iterator, you should immediately display the pixbuf returned by +gdk_pixbuf_animation_iter_get_pixbuf(). Then, you should install a +timeout (with g_timeout_add()) or by some other mechanism ensure +that you'll update the image after +gdk_pixbuf_animation_iter_get_delay_time() milliseconds. Each time +the image is updated, you should reinstall the timeout with the new, +possibly-changed delay time. +As a shortcut, if @start_time is %NULL, the result of +g_get_current_time() will be used automatically. +To update the image (i.e. possibly change the result of +gdk_pixbuf_animation_iter_get_pixbuf() to a new frame of the animation), +call gdk_pixbuf_animation_iter_advance(). +If you're using #GdkPixbufLoader, in addition to updating the image +after the delay time, you should also update it whenever you +receive the area_updated signal and +gdk_pixbuf_animation_iter_on_currently_loading_frame() returns +%TRUE. In this case, the frame currently being fed into the loader +has received new data, so needs to be refreshed. The delay time for +a frame may also be modified after an area_updated signal, for +example if the delay time for a frame is encoded in the data after +the frame itself. So your timeout should be reinstalled after any +area_updated signal. +A delay time of -1 is possible, indicating "infinite." + + an iterator to move over the animation + + + + + time when the animation starts playing + + + + + + Adds a reference to an animation. + + The same as the @animation argument. + + + + + Removes a reference from an animation. + + + + + + Queries the width of the bounding box of a pixbuf animation. + + Width of the bounding box of the animation. + + + + + Queries the height of the bounding box of a pixbuf animation. + + Height of the bounding box of the animation. + + + + + If you load a file with gdk_pixbuf_animation_new_from_file() and it turns +out to be a plain, unanimated image, then this function will return +%TRUE. Use gdk_pixbuf_animation_get_static_image() to retrieve +the image. + + %TRUE if the "animation" was really just an image + + + + + If an animation is really just a plain image (has only one frame), +this function returns that image. If the animation is an animation, +this function returns a reasonable thing to display as a static +unanimated image, which might be the first frame, or something more +sophisticated. If an animation hasn't loaded any frames yet, this +function will return %NULL. + + unanimated image representing the animation + + + + + Get an iterator for displaying an animation. The iterator provides +the frames that should be displayed at a given time. +It should be freed after use with g_object_unref(). +marks the beginning of animation playback. After creating an +iterator, you should immediately display the pixbuf returned by +gdk_pixbuf_animation_iter_get_pixbuf(). Then, you should install a +timeout (with g_timeout_add()) or by some other mechanism ensure +that you'll update the image after +gdk_pixbuf_animation_iter_get_delay_time() milliseconds. Each time +the image is updated, you should reinstall the timeout with the new, +possibly-changed delay time. +As a shortcut, if @start_time is %NULL, the result of +g_get_current_time() will be used automatically. +To update the image (i.e. possibly change the result of +gdk_pixbuf_animation_iter_get_pixbuf() to a new frame of the animation), +call gdk_pixbuf_animation_iter_advance(). +If you're using #GdkPixbufLoader, in addition to updating the image +after the delay time, you should also update it whenever you +receive the area_updated signal and +gdk_pixbuf_animation_iter_on_currently_loading_frame() returns +%TRUE. In this case, the frame currently being fed into the loader +has received new data, so needs to be refreshed. The delay time for +a frame may also be modified after an area_updated signal, for +example if the delay time for a frame is encoded in the data after +the frame itself. So your timeout should be reinstalled after any +area_updated signal. +A delay time of -1 is possible, indicating "infinite." + + an iterator to move over the animation + + + + + time when the animation starts playing + + + + + + + + + + + + + + + + %TRUE if the "animation" was really just an image + + + + + + + + + + + + + unanimated image representing the animation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + an iterator to move over the animation + + + + + + + + time when the animation starts playing + + + + + + + + + Gets the number of milliseconds the current pixbuf should be displayed, +or -1 if the current pixbuf should be displayed forever. g_timeout_add() +conveniently takes a timeout in milliseconds, so you can use a timeout +to schedule the next update. + + delay time in milliseconds (thousandths of a second) + + + + + Gets the current pixbuf which should be displayed; the pixbuf will +be the same size as the animation itself +(gdk_pixbuf_animation_get_width(), gdk_pixbuf_animation_get_height()). +This pixbuf should be displayed for +gdk_pixbuf_animation_iter_get_delay_time() milliseconds. The caller +of this function does not own a reference to the returned pixbuf; +the returned pixbuf will become invalid when the iterator advances +to the next frame, which may happen anytime you call +gdk_pixbuf_animation_iter_advance(). Copy the pixbuf to keep it +(don't just add a reference), as it may get recycled as you advance +the iterator. + + the pixbuf to be displayed + + + + + Used to determine how to respond to the area_updated signal on +#GdkPixbufLoader when loading an animation. area_updated is emitted +for an area of the frame currently streaming in to the loader. So if +you're on the currently loading frame, you need to redraw the screen for +the updated area. + + %TRUE if the frame we're on is partially loaded, or the last frame + + + + + Possibly advances an animation to a new frame. Chooses the frame based +on the start time passed to gdk_pixbuf_animation_get_iter(). +must be greater than or equal to the time passed to +gdk_pixbuf_animation_get_iter(), and must increase or remain +unchanged each time gdk_pixbuf_animation_iter_get_pixbuf() is +called. That is, you can't go backward in time; animations only +play forward. +As a shortcut, pass %NULL for the current time and g_get_current_time() +will be invoked on your behalf. So you only need to explicitly pass +at double speed. +If this function returns %FALSE, there's no need to update the animation +display, assuming the display had been rendered prior to advancing; +if %TRUE, you need to call gdk_animation_iter_get_pixbuf() and update the +display with the new pixbuf. + + %TRUE if the image may need updating + + + + + current time + + + + + + Gets the number of milliseconds the current pixbuf should be displayed, +or -1 if the current pixbuf should be displayed forever. g_timeout_add() +conveniently takes a timeout in milliseconds, so you can use a timeout +to schedule the next update. + + delay time in milliseconds (thousandths of a second) + + + + + Gets the current pixbuf which should be displayed; the pixbuf will +be the same size as the animation itself +(gdk_pixbuf_animation_get_width(), gdk_pixbuf_animation_get_height()). +This pixbuf should be displayed for +gdk_pixbuf_animation_iter_get_delay_time() milliseconds. The caller +of this function does not own a reference to the returned pixbuf; +the returned pixbuf will become invalid when the iterator advances +to the next frame, which may happen anytime you call +gdk_pixbuf_animation_iter_advance(). Copy the pixbuf to keep it +(don't just add a reference), as it may get recycled as you advance +the iterator. + + the pixbuf to be displayed + + + + + Used to determine how to respond to the area_updated signal on +#GdkPixbufLoader when loading an animation. area_updated is emitted +for an area of the frame currently streaming in to the loader. So if +you're on the currently loading frame, you need to redraw the screen for +the updated area. + + %TRUE if the frame we're on is partially loaded, or the last frame + + + + + Possibly advances an animation to a new frame. Chooses the frame based +on the start time passed to gdk_pixbuf_animation_get_iter(). +must be greater than or equal to the time passed to +gdk_pixbuf_animation_get_iter(), and must increase or remain +unchanged each time gdk_pixbuf_animation_iter_get_pixbuf() is +called. That is, you can't go backward in time; animations only +play forward. +As a shortcut, pass %NULL for the current time and g_get_current_time() +will be invoked on your behalf. So you only need to explicitly pass +at double speed. +If this function returns %FALSE, there's no need to update the animation +display, assuming the display had been rendered prior to advancing; +if %TRUE, you need to call gdk_animation_iter_get_pixbuf() and update the +display with the new pixbuf. + + %TRUE if the image may need updating + + + + + current time + + + + + + + + + + + + + + + + delay time in milliseconds (thousandths of a second) + + + + + + + + + + + + + the pixbuf to be displayed + + + + + + + + + + + + + %TRUE if the frame we're on is partially loaded, or the last frame + + + + + + + + + + + + + %TRUE if the image may need updating + + + + + + + + current time + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Returns the name of the format. + + the name of the format. + + + + + Returns a description of the format. + + a description of the format. + + + + + Returns the mime types supported by the format. +g_strfreev() when it is no longer needed. + + a %NULL-terminated array of mime types which must be freed with + + + + + + + Returns the filename extensions typically used for files in the +given format. +freed with g_strfreev() when it is no longer needed. + + a %NULL-terminated array of filename extensions which must be + + + + + + + Returns whether pixbufs can be saved in the given format. + + whether pixbufs can be saved in the given format. + + + + + Returns whether this image format is scalable. If a file is in a +scalable format, it is preferable to load it at the desired size, +rather than loading it at the default size and scaling the +resulting pixbuf to the desired size. + + whether this image format is scalable. + + + + + Returns whether this image format is disabled. See +gdk_pixbuf_format_set_disabled(). + + whether this image format is disabled. + + + + + Disables or enables an image format. If a format is disabled, +gdk-pixbuf won't use the image loader for this format to load +images. Applications can use this to avoid using image loaders +with an inappropriate license, see gdk_pixbuf_format_get_license(). + + + + + + %TRUE to disable the format @format + + + + + + Returns information about the license of the image loader for the format. The +returned string should be a shorthand for a wellknown license, e.g. "LGPL", +"GPL", "QPL", "GPL/QPL", or "other" to indicate some other license. This +string should be freed with g_free() when it's no longer needed. + + a string describing the license of @format. + + + + + + + + + + + + Creates a new pixbuf loader object. + + A newly-created pixbuf loader. + + + + + Creates a new pixbuf loader object that always attempts to parse +image data as if it were an image of type @image_type, instead of +identifying the type automatically. Useful if you want an error if +the image isn't the expected type, for loading image formats +that can't be reliably identified by looking at the data, or if +the user manually forces a specific type. +The list of supported image formats depends on what image loaders +are installed, but typically "png", "jpeg", "gif", "tiff" and +"xpm" are among the supported formats. To obtain the full list of +supported image formats, call gdk_pixbuf_format_get_name() on each +of the #GdkPixbufFormat structs returned by gdk_pixbuf_get_formats(). + + A newly-created pixbuf loader. + + + + + name of the image format to be loaded with the image + + + + + + Creates a new pixbuf loader object that always attempts to parse +image data as if it were an image of mime type @mime_type, instead of +identifying the type automatically. Useful if you want an error if +the image isn't the expected mime type, for loading image formats +that can't be reliably identified by looking at the data, or if +the user manually forces a specific mime type. +The list of supported mime types depends on what image loaders +are installed, but typically "image/png", "image/jpeg", "image/gif", +"image/tiff" and "image/x-xpixmap" are among the supported mime types. +To obtain the full list of supported mime types, call +gdk_pixbuf_format_get_mime_types() on each of the #GdkPixbufFormat +structs returned by gdk_pixbuf_get_formats(). + + A newly-created pixbuf loader. + + + + + the mime type to be loaded + + + + + + Causes the image to be scaled while it is loaded. The desired +image size can be determined relative to the original size of +the image by calling gdk_pixbuf_loader_set_size() from a +signal handler for the ::size-prepared signal. +Attempts to set the desired image size are ignored after the +emission of the ::size-prepared signal. + + + + + + The desired width of the image being loaded. + + + + The desired height of the image being loaded. + + + + + + This will cause a pixbuf loader to parse the next @count bytes of +an image. It will return %TRUE if the data was loaded successfully, +and %FALSE if an error occurred. In the latter case, the loader +will be closed, and will not accept further writes. If %FALSE is +returned, @error will be set to an error from the #GDK_PIXBUF_ERROR +or #G_FILE_ERROR domains. +cannot parse the buffer. + + %TRUE if the write was successful, or %FALSE if the loader + + + + + Pointer to image data. + + + + + + Length of the @buf buffer in bytes. + + + + + + Queries the #GdkPixbuf that a pixbuf loader is currently creating. +In general it only makes sense to call this function after the +"area-prepared" signal has been emitted by the loader; this means +that enough data has been read to know the size of the image that +will be allocated. If the loader has not received enough data via +gdk_pixbuf_loader_write(), then this function returns %NULL. The +returned pixbuf will be the same in all future calls to the loader, +so simply calling g_object_ref() should be sufficient to continue +using it. Additionally, if the loader is an animation, it will +return the "static image" of the animation +(see gdk_pixbuf_animation_get_static_image()). +enough data has been read to determine how to create the image buffer. + + The #GdkPixbuf that the loader is creating, or %NULL if not + + + + + Queries the #GdkPixbufAnimation that a pixbuf loader is currently creating. +In general it only makes sense to call this function after the "area-prepared" +signal has been emitted by the loader. If the loader doesn't have enough +bytes yet (hasn't emitted the "area-prepared" signal) this function will +return %NULL. + + The #GdkPixbufAnimation that the loader is loading, or %NULL if + + + + + Informs a pixbuf loader that no further writes with +gdk_pixbuf_loader_write() will occur, so that it can free its +internal loading structures. Also, tries to parse any data that +hasn't yet been parsed; if the remaining data is partial or +corrupt, an error will be returned. If %FALSE is returned, @error +will be set to an error from the #GDK_PIXBUF_ERROR or #G_FILE_ERROR +domains. If you're just cancelling a load rather than expecting it +to be finished, passing %NULL for @error to ignore it is +reasonable. + + %TRUE if all image data written so far was successfully + + + + + Obtains the available information about the format of the +currently loading image file. +by GdkPixbuf and should not be freed. + + A #GdkPixbufFormat or %NULL. The return value is owned + + + + + + + + + + + This signal is emitted when the pixbuf loader has allocated the +pixbuf in the desired size. After this signal is emitted, +applications can call gdk_pixbuf_loader_get_pixbuf() to fetch +the partially-loaded pixbuf. + + + + + + This signal is emitted when a significant area of the image being +loaded has been updated. Normally it means that a complete +scanline has been read in, but it could be a different area as +well. Applications can use this signal to know when to repaint +areas of an image that is being loaded. + + + + + + X offset of upper-left corner of the updated area. + + + + Y offset of upper-left corner of the updated area. + + + + Width of updated area. + + + + Height of updated area. + + + + + + This signal is emitted when gdk_pixbuf_loader_close() is called. +It can be used by different parts of an application to receive +notification when an image loader is closed by the code that +drives it. + + + + + + This signal is emitted when the pixbuf loader has been fed the +initial amount of data that is required to figure out the size +of the image that it will create. Applications can call +gdk_pixbuf_loader_set_size() in response to this signal to set +the desired size to which the image should be scaled. + + + + + + the original width of the image + + + + the original height of the image + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Creates a new, empty animation. + + a newly allocated #GdkPixbufSimpleAnim + + + + + the width of the animation + + + + the height of the animation + + + + the speed of the animation, in frames per second + + + + + + Adds a new frame to @animation. The @pixbuf must +have the dimensions specified when the animation +was constructed. + + + + + + the pixbuf to add + + + + + + Sets whether @animation should loop indefinitely when it reaches the end. + + + + + + whether to loop the animation + + + + + + Gets whether @animation should loop indefinitely when it reaches the end. + + %TRUE if the animation loops forever, %FALSE otherwise + + + + + Whether the animation should loop when it reaches the end. + + + + + + + + + A #GdkPixdata contains pixbuf information in a form suitable for +serialization and streaming. + + + + + + + + + + + + + + + + + + + + + + + Serializes a #GdkPixdata structure into a byte stream. +The byte stream consists of a straightforward writeout of the +#GdkPixdata fields in network byte order, plus the @pixel_data +bytes the structure points to. +#GdkPixdata structure. + + A newly-allocated string containing the serialized + + + + + + + location to store the resulting stream length in. + + + + + + Deserializes (reconstruct) a #GdkPixdata structure from a byte stream. +The byte stream consists of a straightforward writeout of the +#GdkPixdata fields in network byte order, plus the @pixel_data +bytes the structure points to. +The @pixdata contents are reconstructed byte by byte and are checked +for validity. This function may fail with %GDK_PIXBUF_CORRUPT_IMAGE +or %GDK_PIXBUF_ERROR_UNKNOWN_TYPE. +%FALSE otherwise. + + Upon successful deserialization %TRUE is returned, + + + + + length of the stream used for deserialization. + + + + stream of bytes containing a serialized #GdkPixdata structure. + + + + + + + + Converts a #GdkPixbuf to a #GdkPixdata. If @use_rle is %TRUE, the +pixel data is run-length encoded into newly-allocated memory and a +pointer to that memory is returned. +for the run-length encoded pixel data, otherwise %NULL. + + If @ure_rle is %TRUE, a pointer to the newly-allocated memory + + + + + the data to fill @pixdata with. + + + + whether to use run-length encoding for the pixel data. + + + + + + Generates C source code suitable for compiling images directly +into programs. +GTK+ ships with a program called <command>gdk-pixbuf-csource</command> +which offers a command line interface to this function. +of @pixdata. + + a newly-allocated string containing the C source form + + + + + used for naming generated data structures or macros. + + + + a #GdkPixdataDumpType determining the kind of C source to be generated. + + + + + + + + + + + + + + + + + one for the used colorspace, one for the width of the samples and one +for the encoding of the pixel data. + + + + + + + + + + + + + + diff --git a/Gio-2.0.gir b/Gio-2.0.gir new file mode 100644 index 0000000..3cd62aa --- /dev/null +++ b/Gio-2.0.gir @@ -0,0 +1,31942 @@ + + + + + + + + + + + The <structname>GAction</structname> structure contains private +data and should only be accessed using the provided API + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The #GActionGroup structure contains private data and should only be accessed using the provided API. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The virtual function table for #GActionGroup. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Information about an installed application and methods to launch +it (with file arguments). + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Flags used when creating a #GAppInfo. + + + + + + + Application Information interface, for operating system portability. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Integrating the launch with the launching application. This is used to +handle for instance startup notification and launching the new application +on the same screen as the launching window. + + + + + + + + + + + + a #GAppInfo + + + + a #GList of #GFile objects + + + + + + + + + + + + + a #GAppInfo + + + + a #GList of of #GFile objects + + + + + + + + + + + + + + + + + + + + + + + a #GAppInfo + + + + a #GList of #GFile objects + + + + + + + + + + + + + a #GAppInfo + + + + a #GList of of #GFile objects + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + a #GAppInfo + + + + a #GList of #GFile objects + + + + + + + + + + + + + + + + + + a #GAppInfo + + + + a #GList of of #GFile objects + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The <structname>GApplication</structname> structure contains private +data and should only be accessed using the provided API + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The <structname>GApplicationClass</structname> structure contains +private data only + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + #GAskPasswordFlags are used to request specific information from the +user, or to notify the user of their choices in an authentication +situation. + + + + + + + + Interface for asynchronously initializable objects. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Provides an interface for asynchronous initializing object such that +initialization may fail. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Type definition for a function that will be called back when an asynchronous +operation within GIO has been completed. + + + + + + the object the asynchronous operation was started with. + + + + a #GAsyncResult. + + + + user data passed to the callback. + + + + + + Holds results information for an asynchronous operation, +usually passed directly to a asynchronous _finish() operation. + + + + + + + + + + + + + + + + + + + + + + + Interface definition for #GAsyncResult. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Implements #GFilterInputStream with a sized input buffer. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + An implementation of #GFilterOutputStream with a sized buffer. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Invoked when a connection to a message bus has been obtained. + + + + + + The #GDBusConnection to a message bus. + + + + The name that is requested to be owned. + + + + User data passed to g_bus_own_name(). + + + + + + Invoked when the name is acquired. + + + + + + The #GDBusConnection on which to acquired the name. + + + + The name being owned. + + + + User data passed to g_bus_own_name() or g_bus_own_name_on_connection(). + + + + + + Invoked when the name being watched is known to have to have a owner. + + + + + + The #GDBusConnection the name is being watched on. + + + + The name being watched. + + + + Unique name of the owner of the name being watched. + + + + User data passed to g_bus_watch_name(). + + + + + + Invoked when the name is lost or @connection has been closed. + + + + + + The #GDBusConnection on which to acquire the name or %NULL if the connection was disconnected. + + + + The name being owned. + + + + User data passed to g_bus_own_name() or g_bus_own_name_on_connection(). + + + + + + Flags used in g_bus_own_name(). + + + + + + Invoked when the name being watched is known not to have to have a owner. + + + + + + The #GDBusConnection the name is being watched on. + + + + The name being watched. + + + + User data passed to g_bus_watch_name(). + + + + + + Flags used in g_bus_watch_name(). + + + + + An enumeration for well-known message buses. + + + + + + + Allows actions to be cancelled. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Seek object for streaming operations. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Flags used when calling a g_converter_convert(). + + + + + + Provides an interface for converting data from one type +to another type. The conversion can be stateful +and may fail at any place. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + An implementation of #GFilterInputStream that allows data +conversion. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + An implementation of #GFilterOutputStream that allows data +conversion. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Results returned from g_converter_convert(). + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Enumeration describing different kinds of native credential types. + + + + + Information about an annotation. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Information about an argument for a method or a signal. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Flags used in g_dbus_connection_call() and similar APIs. + + + + + Capabilities negotiated with the remote peer. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Flags used when creating a new #GDBusConnection. + + + + + + + + + A generic error; "something went wrong" - see the error message for +more. +There was not enough memory to complete an operation. +The bus doesn't know how to launch a service to supply the bus name +you wanted. +The bus name you referenced doesn't exist (i.e. no application owns +it). +No reply to a message expecting one, usually means a timeout occurred. +Something went wrong reading or writing to a socket, for example. +A D-Bus bus address was malformed. +Requested operation isn't supported (like ENOSYS on UNIX). +Some limited resource is exhausted. +Security restrictions don't allow doing what you're trying to do. +Authentication didn't work. +Unable to connect to server (probably caused by ECONNREFUSED on a +socket). +Certain timeout errors, possibly ETIMEDOUT on a socket. Note that +%G_DBUS_ERROR_NO_REPLY is used for message reply timeouts. Warning: +this is confusingly-named given that %G_DBUS_ERROR_TIMED_OUT also +exists. We can't fix it for compatibility reasons so just be +careful. +No network access (probably ENETUNREACH on a socket). +Can't bind a socket since its address is in use (i.e. EADDRINUSE). +The connection is disconnected and you're trying to use it. +Invalid arguments passed to a method call. +Missing file. +Existing file and the operation you're using does not silently overwrite. +Method name you invoked isn't known by the object you invoked it on. +confusingly-named given that %G_DBUS_ERROR_TIMEOUT also exists. We +can't fix it for compatibility reasons so just be careful. +Tried to remove or modify a match rule that didn't exist. +The match rule isn't syntactically valid. +While starting a new process, the exec() call failed. +While starting a new process, the fork() call failed. +While starting a new process, the child exited with a status code. +While starting a new process, the child exited on a signal. +While starting a new process, something went wrong. +We failed to setup the environment correctly. +We failed to setup the config parser correctly. +Bus name was not valid. +Service file not found in system-services directory. +Permissions are incorrect on the setuid helper. +Service file invalid (Name, User or Exec missing). +Tried to get a UNIX process ID and it wasn't available. +Tried to get a UNIX process ID and it wasn't available. +A type signature is not valid. +A file contains invalid syntax or is otherwise broken. +Asked for SELinux security context and it wasn't available. +Asked for ADT audit data and it wasn't available. +There's already an object with the requested object path. +Error codes for the %G_DBUS_ERROR error domain. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Struct used in g_dbus_error_register_error_domain(). + + + + + + + + + The type of the @get_property function in #GDBusInterfaceVTable. +consumed - otherwise its reference count is decreased by one. + + A #GVariant with the value for @property_name or %NULL if + + + + + A #GDBusConnection. + + + + The unique bus name of the remote caller. + + + + The object path that the method was invoked on. + + + + The D-Bus interface name for the property. + + + + The name of the property to get the value of. + + + + Return location for error. + + + + The @user_data #gpointer passed to g_dbus_connection_register_object(). + + + + + + Information about a D-Bus interface. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The type of the @method_call function in #GDBusInterfaceVTable. + + + + + + A #GDBusConnection. + + + + The unique bus name of the remote caller. + + + + The object path that the method was invoked on. + + + + The D-Bus interface name the method was invoked on. + + + + The name of the method that was invoked. + + + + A #GVariant tuple with parameters. + + + + A #GDBusMethodInvocation object that can be used to return a value or error. + + + + The @user_data #gpointer passed to g_dbus_connection_register_object(). + + + + + + The type of the @set_property function in #GDBusInterfaceVTable. + + %TRUE if the property was set to @value, %FALSE if @error is set. + + + + + A #GDBusConnection. + + + + The unique bus name of the remote caller. + + + + The object path that the method was invoked on. + + + + The D-Bus interface name for the property. + + + + The name of the property to get the value of. + + + + The value to set the property to. + + + + Return location for error. + + + + The @user_data #gpointer passed to g_dbus_connection_register_object(). + + + + + + Virtual table for handling properties and method calls for a D-Bus +interface. +If you want to handle getting/setting D-Bus properties asynchronously, simply +register an object with the <literal>org.freedesktop.DBus.Properties</literal> +D-Bus interface using g_dbus_connection_register_object(). + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Enumeration used to describe the byte order of a D-Bus message. + + + + + Signature for function used in g_dbus_connection_add_filter(). +If you modify an outgoing message, make sure to return +%G_DBUS_MESSAGE_FILTER_RESULT_MESSAGE_ALTERED instead of +%G_DBUS_MESSAGE_FILTER_RESULT_NO_EFFECT so the message can be +re-serialized. If an error occurs during re-serialization, a +warning will be printed on standard error. +describing what to do with @message. + + A value from the #GDBusMessageFilterResult enumeration + + + + + A #GDBusConnection. + + + + A #GDBusMessage. + + + + %TRUE if it is a message received from the other peer, %FALSE if it is a message to be sent to the other peer. + + + + User data passed when adding the filter. + + + + + + Possible return values for #GDBusMessageFilterFunction when +handling a #GDBusMessage. + + + + + + Message flags used in #GDBusMessage. + + + + + + Header fields used in #GDBusMessage. + + + + + + + + + + + + + Message types used in #GDBusMessage. + + + + + + + + Information about a method on an D-Bus interface. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Information about nodes in a remote object hierarchy. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Information about a D-Bus property on a D-Bus interface. + + + + + + + + + + + + + + + + + + + + + + + + + + + + Flags describing the access control of a D-Bus property. + + + + + + The #GDBusProxy structure contains only private data and +should only be accessed using the provided API. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Class structure for #GDBusProxy. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Flags used when constructing an instance of a #GDBusProxy derived class. + + + + + + + + + Flags used when sending #GDBusMessage<!-- -->s on a #GDBusConnection. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Flags used when creating a #GDBusServer. + + + + + + Signature for callback function used in g_dbus_connection_signal_subscribe(). + + + + + + A #GDBusConnection. + + + + The unique bus name of the sender of the signal. + + + + The object path that the signal was emitted on. + + + + The name of the interface. + + + + The name of the signal. + + + + A #GVariant tuple with parameters for the signal. + + + + User data passed when subscribing to the signal. + + + + + + Flags used when subscribing to signals via g_dbus_connection_signal_subscribe(). + + + + Information about a signal on a D-Bus interface. + + + + + + + + + + + + + + + + + + + + + + + + + The type of the @dispatch function in #GDBusSubtreeVTable. +Subtrees are flat. @node, if non-%NULL, is always exactly one + + A #GDBusInterfaceVTable or %NULL if you don't want to handle the methods. + + + + + A #GDBusConnection. + + + + The unique bus name of the remote caller. + + + + The object path that was registered with g_dbus_connection_register_subtree(). + + + + The D-Bus interface name that the method call or property access is for. + + + + A node that is a child of @object_path (relative to @object_path) or %NULL for the root of the subtree. + + + + Return location for user data to pass to functions in the returned #GDBusInterfaceVTable (never %NULL). + + + + The @user_data #gpointer passed to g_dbus_connection_register_subtree(). + + + + + + The type of the @enumerate function in #GDBusSubtreeVTable. +This function is called when generating introspection data and also +when preparing to dispatch incoming messages in the event that the +%G_DBUS_SUBTREE_FLAGS_DISPATCH_TO_UNENUMERATED_NODES flag is not +Hierarchies are not supported; the items that you return should not +contain the '/' character. +The return value will be freed with g_strfreev(). + + A newly allocated array of strings for node names that are children of @object_path. + + + + + + + A #GDBusConnection. + + + + The unique bus name of the remote caller. + + + + The object path that was registered with g_dbus_connection_register_subtree(). + + + + The @user_data #gpointer passed to g_dbus_connection_register_subtree(). + + + + + + Flags passed to g_dbus_connection_register_subtree(). + + + + + The type of the @introspect function in #GDBusSubtreeVTable. +Subtrees are flat. @node, if non-%NULL, is always exactly one +This function should return %NULL to indicate that there is no object +at this node. +If this function returns non-%NULL, the return value is expected to +be a %NULL-terminated array of pointers to #GDBusInterfaceInfo +structures describing the interfaces implemented by @node. This +array will have g_dbus_interface_info_unref() called on each item +before being freed with g_free(). +The difference between returning %NULL and an array containing zero +items is that the standard DBus interfaces will returned to the +remote introspector in the empty array case, but not in the %NULL +case. + + A %NULL-terminated array of pointers to #GDBusInterfaceInfo, or %NULL. + + + + + A #GDBusConnection. + + + + The unique bus name of the remote caller. + + + + The object path that was registered with g_dbus_connection_register_subtree(). + + + + A node that is a child of @object_path (relative to @object_path) or %NULL for the root of the subtree. + + + + The @user_data #gpointer passed to g_dbus_connection_register_subtree(). + + + + + + Virtual table for handling subtrees registered with g_dbus_connection_register_subtree(). + + + + + + + + + + + + + + + + + + + + An implementation of #GBufferedInputStream that allows for high-level +data manipulation of arbitrary data (including binary operations). + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + An implementation of #GBufferedOutputStream that allows for high-level +data manipulation of arbitrary data (including binary operations). + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + #GDataStreamByteOrder is used to ensure proper endianness of streaming data sources +across various machine architectures. + + + + + + #GDataStreamNewlineType is used when checking for or setting the line endings for a given file. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Interface that is used by backends to associate default +handlers with URI schemes. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Opaque drive object. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Interface for creating #GDrive implementations. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Flags used when starting a drive. + + + + Enumeration describing how a drive can be started/stopped. + + + + + + + + An object for Emblems + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + GEmblemOrigin is used to add information about the origin of the emblem +to #GEmblem. + + + + + + + An implementation of #GIcon for icons with emblems. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A handle to an object implementing the #GFileIface interface. +Generally stores a location within the file system. Handles do not +necessarily represent files or directories that currently exist. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Information about a specific attribute. + + + + + + + + + + + + Flags specifying the behaviour of an attribute. + + + + + + Acts as a lightweight registry for possible valid file attributes. +The registry stores Key-Value pair formats as #GFileAttributeInfo<!-- -->s. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Determines if a string matches a file attribute. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Used by g_file_set_attributes_from_info() when setting file attributes. + + + + + + The data types for file attributes. + + + + + + + + + + + + + Flags used when copying or moving files. + + + + + + + + + + Flags used when an operation may create a file. + + + + + + An interface for file descriptor based io objects. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A per matched file iterator. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A subclass of GIOStream for opened files. This adds +a few file-specific operations and seeking and truncating. +#GFileIOStream implements GSeekable. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Gets an icon for a #GFile. Implements #GLoadableIcon. + + + + + + + + + + + + + + + + + + + + + + + + + An interface for writing VFS file handles. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Stores information about a file system object referenced by a #GFile. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + (out) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A subclass of GInputStream for opened files. This adds +a few file-specific operations and seeking. +#GFileInputStream implements #GSeekable. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Watches for changes to a file. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Specifies what type of event a monitor event is. + + + + + + + + + + + Flags used to set what a #GFileMonitor will watch for. + + + + + + + + A subclass of GOutputStream for opened files. This adds +a few file-specific operations and seeking and truncating. +#GFileOutputStream implements GSeekable. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + When doing file operations that may take a while, such as moving +a file or copying a file, a progress callback is used to pass how +far along that operation is to the application. + + + + + + the current number of bytes in the operation. + + + + the total number of bytes in the operation. + + + + user data passed to the callback. + + + + + + Flags used when querying a #GFileInfo. + + + + + When loading the partial contents of a file with g_file_load_partial_contents_async(), +it may become necessary to determine if any more data from the file should be loaded. +A #GFileReadMoreCallback function facilitates this by returning %TRUE if more data +should be read, or %FALSE otherwise. + + %TRUE if more data should be read back. %FALSE otherwise. + + + + + the data as currently read. + + + + the size of the data currently read. + + + + data passed to the callback. + + + + + + Indicates the file's on-disk type. + + + + + + + + + + Completes filenames based on files that exist within the file system. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Indicates a hint from the file system whether files should be +previewed in a file manager. Returned as the value of the key +#G_FILE_ATTRIBUTE_FILESYSTEM_USE_PREVIEW. + + + + + + A base class for all input streams that work on an underlying stream. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A base class for all output streams that work on an underlying stream. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Error codes returned by GIO functions. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Opaque module base class for extending GIO. + + + + + + + + + + + + + Optional API for GIO modules to implement. +Should return a list of all the extension points that may be +implemented in this module. +This method will not be called in normal use, however it may be +called when probing existing modules and recording which extension +points that this modle is used for. This means we won't have to +load and initialze this module unless its needed. +If this function is not implemented by the module the module will +always be loaded, initialized and then unloaded on application startup +so that it can register its extension points during init. +Note that a module need not actually implement all the extension points +that g_io_module_query returns, since the exact list of extension may +depend on runtime issues. However all extension points actually implemented +must be returned by g_io_module_query() (if defined). +When installing a module that implements g_io_module_query you must +run gio-querymodules in order to build the cache files required for +lazy loading. +extension points of the module. The array must be suitable for +freeing with g_strfreev(). + + A %NULL-terminated array of strings, listing the supported + + + + + + + Required API for GIO modules to implement. +This function is ran after the module has been loaded into GIO, +to initialize the module. + + + + + + Required API for GIO modules to implement. +This function is ran when the module is being unloaded from GIO, +to finalize the module. + + + + + + + + + Opaque class for definining and scheduling IO jobs. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + I/O Job function. +Note that depending on whether threads are available, the +#GIOScheduler may run jobs in separate threads or in an idle +in the mainloop. +Long-running jobs should periodically check the @cancellable +to see if they have been cancelled. +complete the job, %FALSE if the job is complete (or cancelled) + + %TRUE if this function should be called again to + + + + + a #GIOSchedulerJob. + + + + optional #GCancellable object, %NULL to ignore. + + + + the data to pass to callback function + + + + + + Base class for read-write streams. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + An abstract type that specifies an icon. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + GIconIface is used to implement GIcon types for various +different systems. See #GThemedIcon and #GLoadableIcon for +examples of how to implement this interface. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Interface for initializable objects. + + + + + + + + + + + + + + + + + + + + + + + Provides an interface for initializing object such that initialization +may fail. + + + + + + + + + + + + + + + + + + + + + Base class for streaming input operations. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Structure used for scatter/gather data input. +You generally pass in an array of #GInputVector<!-- -->s +and the operation will store the read data starting in the +first buffer, switching to the next as needed. + + + + + + + + + Generic type for all kinds of icons that can be loaded +as a stream. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Interface for icons that can be loaded as a stream. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Implements #GInputStream for arbitrary memory chunks. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Implements #GOutputStream for arbitrary memory chunks. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A handle to an object implementing the #GMountIface interface. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Interface for implementing operations for mounts. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Flags used when mounting a mount. + + + + Class for providing authentication methods for mounting operations, +such as mounting a file locally, or authenticating with a server. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + #GMountOperationResult is returned as a result when a request for +information is send by the mounting operation. + + + + + + Flags used when an unmounting a mount. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Base class for writing output. +All classes derived from GOutputStream should implement synchronous +writing, splicing, flushing and closing streams, but may implement +asynchronous versions. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + GOutputStreamSpliceFlags determine how streams should be spliced. + + + + + + Structure used for scatter/gather data output. +You generally pass in an array of #GOutputVector<!-- -->s +and the operation will use all the buffers as if they were +one buffer. + + + + + + + + + + + + + + + #GPasswordSave is used to indicate the lifespan of a saved password. +#Gvfs stores passwords in the Gnome keyring when this flag allows it +to, and later retrieves it again from there. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Interface that handles proxy connection and payload. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A subclass of #GSocketAddressEnumerator that takes another address +enumerator and wraps its results in #GProxyAddress<!-- -->es as +directed by the default #GProxyResolver. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Provides an interface for handling proxy connection and payload. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Interface that can be used to resolve proxy address. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Changes the size of the memory block pointed to by @data to +The function should have the same semantics as realloc(). + + a pointer to the reallocated memory + + + + + memory block to reallocate + + + + size to reallocate @data to + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + An error code used with %G_RESOLVER_ERROR in a #GError returned +from a #GResolver routine. + + + + + + + + + + + Seek object for streaming operations. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Provides an interface for implementing seekable functionality on I/O Streams. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + An implementation of a settings storage repository. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Flags used when creating a binding. These flags determine in which +direction the binding works. The default is to synchronize in both +directions. + + + + + + + + + The type for the function that is used to convert from #GSettings to +an object property. The @value is already initialized to hold values +of the appropriate type. + + %TRUE if the conversion succeeded, %FALSE in case of an error + + + + + return location for the property value + + + + the #GVariant + + + + user data that was specified when the binding was created + + + + + + The type for the function that is used to convert an object property +value to a #GVariant for storing it in #GSettings. + + a new #GVariant holding the data from @value, or %NULL in case of an error + + + + + a #GValue containing the property value to map + + + + the #GVariantType to create + + + + user data that was specified when the binding was created + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The type of the function that is used to convert from a value stored +in a #GSettings to a value that is useful to the application. +If the value is successfully mapped, the result should be stored at +is not in the right format) then %FALSE should be returned. +If @value is %NULL then it means that the mapping function is being +given a "last chance" to successfully return a valid value. %TRUE +must be returned in this case. + + %TRUE if the conversion succeeded, %FALSE in case of an error + + + + + the #GVariant to map, or %NULL + + + + the result of the mapping + + + + the user data that was passed to g_settings_get_mapped() + + + + + + + + The #GSimpleActionGroup structure contains private data and should only be accessed using the provided API. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A simple implementation of #GAsyncResult. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Simple thread function that runs an asynchronous operation and +checks for cancellation. + + + + + + a #GSimpleAsyncResult. + + + + a #GObject. + + + + optional #GCancellable object, %NULL to ignore. + + + + + + + + + + + + + + + + + + A lowlevel network socket object. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Enumerator type for objects that contain or generate +#GSocketAddress<!-- -->es. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A helper class for network servers to listen for and accept connections. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Interface for objects that contain or generate #GSocketAddress<!-- -->es. + + + + + + + + + + + + + + + + + + + + + + + Provides an interface for returning a #GSocketAddressEnumerator +and #GProxyAddressEnumerator + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A socket connection GIOStream object for connection-oriented sockets. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Base class for socket-type specific control messages that can be sent and +received over #GSocket. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The protocol family of a #GSocketAddress. (These values are +identical to the system defines %AF_INET, %AF_INET6 and %AF_UNIX, +if available.) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Flags used in g_socket_receive_message() and g_socket_send_message(). +The flags listed in the enum are some commonly available flags, but the +values used for them are the same as on the platform, and any other flags +are passed in/out as is. So to use a platform specific flag, just include +the right system header and pass in the flag. + + + + + + + + + A protocol identifier is specified when creating a #GSocket, which is a +family/type specific identifier, where 0 means the default protocol for +the particular family/type. +This enum contains a set of commonly available and used protocols. You +can also pass any other identifiers handled by the platform in order to +use protocols not listed here. + + + + + + + + A helper class for handling accepting incomming connections in the +glib mainloop. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + This is the function type of the callback used for the #GSource +returned by g_socket_create_source(). + + it should return %FALSE if the source should be removed. + + + + + the #GSocket + + + + the current condition at the source fired. + + + + data passed in by the user. + + + + + + Flags used when creating a #GSocket. Some protocols may not implement +all the socket types. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A #GSocketConnection for UNIX domain socket connections. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + An implementation of #GIcon for themed icons. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A helper class for handling accepting incomming connections in the +glib mainloop and handling them in a thread. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The #GUnixCredentialsMessage structure contains only private data +and should only be accessed using the provided API. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Class structure for #GUnixCredentialsMessage. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Implements #GInputStream for reading from selectable unix file descriptors + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Defines a Unix mount entry (e.g. <filename>/media/cdrom</filename>). +This corresponds roughly to a mtab entry. + + + Watches #GUnixMount<!-- -->s for changes. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Defines a Unix mount point (e.g. <filename>/dev</filename>). +This corresponds roughly to a fstab entry. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Implements #GOutputStream for outputting to selectable unix file descriptors + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The type of name used by a #GUnixSocketAddress. +%G_UNIX_SOCKET_ADDRESS_PATH indicates a traditional unix domain +socket bound to a filesystem path. %G_UNIX_SOCKET_ADDRESS_ANONYMOUS +indicates a socket not bound to any name (eg, a client-side socket, +or a socket created with socketpair()). +For abstract sockets, there are two incompatible ways of naming +sockaddr_un</literal> as the name, padding the unused parts of the +%sun_path field with zeroes; this corresponds to +%G_UNIX_SOCKET_ADDRESS_ABSTRACT_PADDED. However, many programs +instead just use a portion of %sun_path, and pass an appropriate +smaller length to bind() or connect(). This is +%G_UNIX_SOCKET_ADDRESS_ABSTRACT. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Virtual File System object. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Opaque mountable volume object. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Interface for implementing operations for mountable volumes. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A Volume Monitor that watches for volume events. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Used to select the type of data format to use for #GZlibDecompressor +and #GZlibCompressor. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/GooCanvas-0.10.gir b/GooCanvas-0.10.gir new file mode 100644 index 0000000..f277d52 --- /dev/null +++ b/GooCanvas-0.10.gir @@ -0,0 +1,7447 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Gst-0.10.gir b/Gst-0.10.gir new file mode 100644 index 0000000..97d6c7b --- /dev/null +++ b/Gst-0.10.gir @@ -0,0 +1,23425 @@ + + + + + + + + + + + + + + + + + The status of a GstPad. After activating a pad, which usually happens when the +parent element goes from READY to PAUSED, the GstActivateMode defines if the +pad operates in push or pull mode. + + + + + + The opaque #GstAdapter data structure. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The main tracing object + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Flags indicating which tracing feature to enable. + + + + + Flags for an association entry. + + + + + + + + + + + + + + + + + + + + + + The opaque #GstBaseSink data structure. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Subclasses can override any of the available virtual methods or not, as +needed. At the minimum, the @render method should be overridden to +output/present buffers. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The opaque #GstBaseSrc data structure. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Subclasses can override any of the available virtual methods or not, as +needed. At the minimum, the @create method should be overridden to produce +buffers. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The #GstElement flags that a basesrc element may have. + + + + + + + The opaque #GstBaseTransform data structure. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Subclasses can override any of the available virtual methods or not, as +needed. At minimum either @transform or @transform_ip need to be overridden. +If the element can overwrite the input data with the results (data is of the +same type and quantity) it should provide @transform_ip. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The GstBin base class. Subclasses can access these fields provided +the LOCK is taken. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Subclasses can override the @add_element and @remove_element to +update the list of children in the bin. +The @handle_message method can be overridden to implement custom +message handling. @handle_message takes ownership of the message, just like +#gst_element_post_message. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + GstBinFlags are a set of flags specific to bins. Most are set/used +internally. They can be checked using the GST_OBJECT_FLAG_IS_SET () macro, +and (un)set using GST_OBJECT_FLAG_SET () and GST_OBJECT_FLAG_UNSET (). + + + + + + A bit reader instance. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The structure of a #GstBuffer. Use the associated macros to access the public +variables. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A set of flags that can be provided to the gst_buffer_copy_metadata() +function to specify which metadata fields should be copied. + + + + + + A set of buffer flags used to describe properties of a #GstBuffer. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A function for accessing the last buffer returned by +gst_buffer_list_iterator_next(). The function can leave @buffer in the list, +replace @buffer in the list or remove @buffer from the list, depending on +the return value. If the function returns NULL, @buffer will be removed from +the list, otherwise @buffer will be replaced with the returned buffer. +The last buffer returned by gst_buffer_list_iterator_next() will be replaced +with the buffer returned from the function. The function takes ownership of +unreffed. If NULL is returned, the buffer will be removed from the list. The +list must be writable. +from the list + + the buffer to replace @buffer in the list, or NULL to remove @buffer + + + + + the #GstBuffer + + + + user data + + + + + + A function that will be called from gst_buffer_list_foreach(). The @buffer +field will point to a the reference of the buffer at @idx in @group. +When this function returns #GST_BUFFER_LIST_CONTINUE, the next buffer will be +returned. When #GST_BUFFER_LIST_SKIP_GROUP is returned, all remaining buffers +in the current group will be skipped and the first buffer of the next group +is returned (if any). When GST_BUFFER_LIST_END is returned, +gst_buffer_list_foreach() will return. +When @buffer is set to NULL, the item will be removed from the bufferlist. +When @buffer has been made writable, the new buffer reference can be assigned +to @buffer. This function is responsible for unreffing the old buffer when +removing or modifying. + + a #GstBufferListItem + + + + + pointer the buffer + + + + the group index of @buffer + + + + the index in @group of @buffer + + + + user data passed to gst_buffer_list_foreach() + + + + + + The result of the #GstBufferListFunc. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The different types of buffering methods. + + + + + + + The opaque #GstBus data structure. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The standard flags that a bus may have. + + + + + Specifies the type of function passed to gst_bus_add_watch() or +gst_bus_add_watch_full(), which is called from the mainloop when a message +is available on the bus. +The message passed to the function will be unreffed after execution of this +function so it should not be freed in the function. +Note that this function is used as a GSourceFunc which means that returning +FALSE will remove the GSource from the mainloop. + + %FALSE if the event source should be removed. + + + + + the #GstBus that sent the message + + + + the #GstMessage + + + + user data that has been given, when registering the handler + + + + + + + + Handler will be invoked synchronously, when a new message has been injected +into the bus. This function is mostly used internally. Only one sync handler +can be attached to a given bus. +If the handler returns GST_BUS_DROP, it should unref the message, else the +message should not be unreffed by the sync handler. + + #GstBusSyncReply stating what to do with the message + + + + + the #GstBus that sent the message + + + + the #GstMessage + + + + user data that has been given, when registering the handler + + + + + + The result values for a GstBusSyncHandler. + + + + + + A byte reader instance. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A byte writer instance. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Object describing media types. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Extra flags for a caps. + + + + Opaque #GstChildProxy data structure. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + #GstChildProxy interface. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + #GstClock base structure. The values of this structure are +protected for subclasses, use the methods to use the #GstClock. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The function prototype of the callback. + + %TRUE or %FALSE (currently unused) + + + + + The clock that triggered the callback + + + + The time it was triggered + + + + The #GstClockID that expired + + + + user data passed in the gst_clock_id_wait_async() function + + + + + + GStreamer clock class. Override the vmethods to implement the clock +functionality. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + All pending timeouts or periodic notifies are converted into +an entry. +Note that GstClockEntry should be treated as an opaque structure. It must +not be extended or allocated using a custom allocator. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The type of the clock entry + + + + + The capabilities of this clock + + + + + + + + + + + + The return value of a clock operation. + + + + + + + + + + The different kind of clocks. + + + + + Structure used by the collect_pads. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A function that will be called when the #GstCollectData will be freed. +It is passed the pointer to the structure and should free any custom +memory and resources allocated for it. + + + + + + the #GstCollectData that will be freed + + + + + + Collectpads object. +Note that @data doesn't contain the complete #GstCollectData list +at all times and should not be used for iterating them. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A function that will be called when @buffer is received on the pad managed +by @data in the collecpad object @pads. +The function should use the segment of @data and the negotiated media type on +the pad to perform clipping of @buffer. +This function takes ownership of @buffer. +the buffer has been clipped completely. + + a #GstBuffer that contains the clipped data of @buffer or NULL when + + + + + a #GstCollectPads + + + + a #GstCollectData + + + + a #GstBuffer + + + + user data + + + + + + A function that will be called when all pads have received data. + + #GST_FLOW_OK for success + + + + + the #GstCollectPads that triggered the callback + + + + user data passed to gst_collect_pads_set_function() + + + + + + + + A function to create a copy of some object or +increase its reference count. + + a copy of the object or the same object with increased reference count + + + + + The object to copy + + + + + + Core errors are errors inside the core GStreamer library. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Opaque #GstDataQueue structure. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The prototype of the function used to inform the queue that it should be +considered as full. + + #TRUE if the queue should be considered full. + + + + + a #GstDataQueue. + + + + The number of visible items currently in the queue. + + + + The amount of bytes currently in the queue. + + + + The accumulated duration of the items currently in the queue. + + + + The #gpointer registered when the #GstDataQueue was created. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Structure used by #GstDataQueue. You can supply a different structure, as +long as the top of the structure is identical to this structure. + + + + + + + + + + + + + + + + + + Structure describing the size of a queue. + + + + + + + + + + + + + + This is the struct that describes the categories. Once initialized with +#GST_DEBUG_CATEGORY_INIT, its values can't be changed anymore. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + These are some terminal style flags you can use when creating your +debugging categories to make them stand out in debugging output. + + + + + + + + + + + + + + + + + + + + + + + + + + Available details for pipeline graphs produced by GST_DEBUG_BIN_TO_DOT_FILE() +and GST_DEBUG_BIN_TO_DOT_FILE_WITH_TS(). + + + + + + + + The level defines the importance of a debugging message. The more important a +message is, the greater the probability that the debugging system outputs it. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + GStreamer element abstract base class. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + (inout) + + + + (out) + + + + + + + + + + + (inout) + + + + (out) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + GStreamer element class. Override the vmethods to implement the element +functionality. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + This struct defines the public information about a #GstElement. It contains +meta-data about the element that is mostly for the benefit of editors. +The @klass member can be used by applications to filter elements based +on functionality. + + + + + + + + + + + + + + + + + + + + The opaque #GstElementFactory data structure. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The standard flags that an element may have. + + + + + + + A #GstEvent. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + #GstEventType lists the standard event types that can be sent in a pipeline. +The custom event types can be used for private messages between elements +that can't be expressed using normal +GStreamer buffer passing semantics. Custom events carry an arbitrary +#GstStructure. +Specific custom events are distinguished by the name of the structure. + + + + + + + + + + + + + + + + + + + + + #GstEventTypeFlags indicate the aspects of the different #GstEventType +values. You can get the type flags of a #GstEventType with the +gst_event_type_get_flags() function. + + + + + + + + + Function prototype for a filter callback taht can be use in gst_filter_run(). +The function should apply its filtering to @obj. Additional data passed to +gst_filter_run() are in @data. + + %TRUE for success. + + + + + the object + + + + filter data + + + + + + sent yet) (unused/unimplemented). +this error should post an error message with more +details. +this (and higher) to define custom success +codes. Since 0.10.7. +custom success code to this to avoid compiler +warnings). Since 0.10.29. +this (and lower) to define custom error codes. +Since 0.10.7. +custom error code to this to avoid compiler +warnings). Since 0.10.29. +The result of passing data to a pad. +Note that the custom return values should not be exposed outside of the +element scope and are available since 0.10.7. + + + + + + + + + + + + + + + + + Standard predefined formats + + + + + + + + + A format definition + + + + + + + + + + + + + + + + + + + Opaque #GstGhostPad structure. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Opaque #GstImplementsInterface structure. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Opaque #GstIndex structure. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + An association in an entry. + + + + + + + + + The certainty of a group in the index. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The basic element of an index. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The different types of entries in the index. + + + + + + + The GstIndexFactory object + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Function to filter out entries in the index. +to the index, %FALSE otherwise. + + This function should return %TRUE if the entry is to be added + + + + + The index being queried + + + + The entry to be added. + + + + User data passed to the function. + + + + + + Flags for this index + + + + + + A group of related entries in an index. + + + + + + + + + + + + + + + + + Specify the method to find an index entry in the index. + + + + + + Function to resolve ids to writer descriptions. + + %TRUE if an id could be assigned to the writer. + + + + + the index being queried. + + + + The object that wants to write + + + + A description of the writer. + + + + + + user_data as registered + + + + + + The method used to resolve index writers + + + + + + #GstIterator base structure. The values of this structure are +protected for subclasses, use the methods to use the #GstIterator. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The function that will be called when a #GList iterator is freed. The +owner of the #GList iterator can then clean up its resources. + + + + + + the owner of the iterator + + + + + + A function to be passed to gst_iterator_fold(). + + TRUE if the fold should continue, FALSE if it should stop. + + + + + the item to fold + + + + a #GValue collecting the result + + + + data passed to gst_iterator_fold() + + + + + + This function will be called when the iterator is freed. +Implementors of a #GstIterator should implement this +function and pass it to the constructor of the custom iterator. +The function will be called with the iterator lock held. + + + + + + the iterator + + + + + + The result of a #GstIteratorItemFunction. + + + + + + The function that will be called after the next item of the iterator +has been retrieved. This function will typically increase the refcount +of the item or make a copy. +Implementors of a #GstIterator should implement this +function and pass it to the constructor of the custom iterator. +The function will be called with the iterator lock held. + + the result of the operation. + + + + + the iterator + + + + the item being retrieved. + + + + + + The function that will be called when the next element of the iterator +should be retrieved. +Implementors of a #GstIterator should implement this +function and pass it to the constructor of the custom iterator. +The function will be called with the iterator lock held. + + the result of the operation. + + + + + the iterator + + + + a pointer to hold the next item + + + + + + The result of gst_iterator_next(). + + + + + + + This function will be called whenever a concurrent update happened +to the iterated datastructure. The implementor of the iterator should +restart the iterator from the beginning and clean up any state it might +have. +Implementors of a #GstIterator should implement this +function and pass it to the constructor of the custom iterator. +The function will be called with the iterator lock held. + + + + + + the iterator + + + + + + + + + Library errors are for errors from the library being used by elements +(initializing, finalizing, settings, ...) + + + + + + + + + + Function prototype for a logging function that can be registered with +gst_debug_add_log_function(). +Use G_GNUC_NO_INSTRUMENT on that function. + + + + + + a #GstDebugCategory + + + + a #GstDebugLevel + + + + file name + + + + function name + + + + line number + + + + a #GObject + + + + the message + + + + user data for the log function + + + + + + + + + + + + + + + A #GstMessage. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The different message types that are available. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Base class for refcounted lightweight objects. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Virtual function prototype for methods to create copies of instances. + + reference to cloned instance. + + + + + MiniObject to copy + + + + + + Virtual function prototype for methods to free ressources used by +mini-objects. Subclasses of the mini object are allowed to revive the +passed object by doing a gst_mini_object_ref(). If the object is not +revived after the finalize function, the memory associated with the +object is freed. + + + + + + MiniObject to finalize + + + + + + Flags for the padtemplate + + + + + + + + GStreamer base object class. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + GStreamer base object class. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The standard flags that an gstobject may have. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The #GstPad structure. Use the functions to update the variables. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Check if @pad can accept @caps. By default this function will see if @caps +intersect with the result from gst_pad_get_caps() by can be overridden to +perform extra checks. + + TRUE if the caps can be accepted by the pad. + + + + + the #GstPad to check + + + + the #GstCaps to check + + + + + + This function is called when the pad is activated during the element +READY to PAUSED state change. By default this function will call the +activate function that puts the pad in push mode but elements can +override this function to activate the pad in pull mode if they wish. + + TRUE if the pad could be activated. + + + + + a #GstPad + + + + + + The prototype of the push and pull activate functions. + + TRUE if the pad could be activated or deactivated. + + + + + a #GstPad + + + + activate or deactivate the pad. + + + + + + Callback used by gst_pad_set_blocked_async(). Gets called when the blocking +operation succeeds. + + + + + + the #GstPad that is blockend or unblocked. + + + + blocking state for the pad + + + + the gpointer to optional user data. + + + + + + Ask the sinkpad @pad to allocate a buffer with @offset, @size and @caps. +The result will be stored in @buf. +The purpose of this function is to allocate a buffer that is optimal to +be processed by @pad. The function is mostly overridden by elements that can +provide a hardware buffer in order to avoid additional memcpy operations. +The function can return a buffer that has caps different from the requested +new caps. +If a format change was requested, the returned buffer will be one to hold +the data of said new caps, so its size might be different from the requested +When this function returns anything else than #GST_FLOW_OK, the buffer allocation +failed and @buf does not contain valid data. If the function returns #GST_FLOW_OK and +the @buf is NULL, a #GstBuffer will be created with @caps, @offset and @size. +By default this function returns a new buffer of @size and with @caps containing +purely malloced data. The buffer should be freed with gst_buffer_unref() +after usage. +value means @buf does not hold a valid buffer. + + #GST_FLOW_OK if @buf contains a valid buffer, any other return + + + + + a sink #GstPad + + + + the desired offset of the buffer + + + + the desired size of the buffer + + + + the desired caps of the buffer + + + + pointer to hold the allocated buffer. + + + + + + A function that will be called on sinkpads when chaining buffers. +The function typically processes the data contained in the buffer and +either consumes the data or passes it on to the internally linked pad(s). +The implementer of this function receives a refcount to @buffer and should +gst_buffer_unref() when the buffer is no longer needed. +When a chain function detects an error in the data stream, it must post an +error on the bus and return an appropriate #GstFlowReturn value. + + #GST_FLOW_OK for success + + + + + the sink #GstPad that performed the chain. + + + + the #GstBuffer that is chained, not %NULL. + + + + + + A function that will be called on sinkpads when chaining buffer lists. +The function typically processes the data contained in the buffer list and +either consumes the data or passes it on to the internally linked pad(s). +The implementer of this function receives a refcount to @list and +should gst_buffer_list_unref() when the list is no longer needed. +When a chainlist function detects an error in the data stream, it must +post an error on the bus and return an appropriate #GstFlowReturn value. + + #GST_FLOW_OK for success + + + + + the sink #GstPad that performed the chain. + + + + the #GstBufferList that is chained, not %NULL. + + + + + + Check if @pad can be activated in pull mode. +This function will be deprecated after 0.10; use the seeking query to check +if a pad can support random access. + + TRUE if the pad can operate in pull mode. + + + + + a #GstPad + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The direction of a pad. + + + + + + A dispatcher function is called for all internally linked pads, see +gst_pad_dispatcher(). + + TRUE if the dispatching procedure has to be stopped. + + + + + the #GstPad that is dispatched. + + + + the gpointer to optional user data. + + + + + + Function signature to handle an event for the pad. + + TRUE if the pad could handle the event. + + + + + the #GstPad to handle the event. + + + + the #GstEvent to handle. + + + + + + Given possibly unfixed caps @caps, let @pad use its default prefered +format to make a fixed caps. @caps should be writable. By default this +function will pick the first value of any ranges or lists in the caps but +elements can override this function to perform other behaviour. + + + + + + a #GstPad + + + + the #GstCaps to fixate + + + + + + Pad state flags + + + + + + + + + Returns a copy of the capabilities of the specified pad. By default this +function will return the pad template capabilities, but can optionally +be overridden by elements. + + a newly allocated copy #GstCaps of the pad. + + + + + the #GstPad to get the capabilities of. + + + + + + This function will be called on source pads when a peer element +request a buffer at the specified @offset and @length. If this function +returns #GST_FLOW_OK, the result buffer will be stored in @buffer. The +contents of @buffer is invalid for any other return value. +This function is installed on a source pad with +gst_pad_set_getrange_function() and can only be called on source pads after +they are successfully activated with gst_pad_activate_pull(). +between 0 and the length in bytes of the data available on @pad. The +length (duration in bytes) can be retrieved with a #GST_QUERY_DURATION or with a +#GST_QUERY_SEEKING. +Any @offset larger or equal than the length will make the function return +#GST_FLOW_UNEXPECTED, which corresponds to EOS. In this case @buffer does not +contain a valid buffer. +The buffer size of @buffer will only be smaller than @length when @offset is +near the end of the stream. In all other cases, the size of @buffer must be +exactly the requested size. +It is allowed to call this function with a 0 @length and valid @offset, in +which case @buffer will contain a 0-sized buffer and the function returns +#GST_FLOW_OK. +When this function is called with a -1 @offset, the sequentially next buffer +of length @length in the stream is returned. +When this function is called with a -1 @length, a buffer with a default +optimal length is returned in @buffer. The length might depend on the value +of @offset. +return value leaves @buffer undefined. + + #GST_FLOW_OK for success and a valid buffer in @buffer. Any other + + + + + the src #GstPad to perform the getrange on. + + + + the offset of the range + + + + the length of the range + + + + a memory location to hold the result buffer, cannot be NULL. + + + + + + The signature of the internal pad link function. + + returns + + + + + + + The #GstPad to query. + + + + + + The signature of the internal pad link iterator function. +linked to the given pad on the inside of the parent element. +the caller must call gst_iterator_free() after usage. +Since 0.10.21 + + a new #GstIterator that will iterate over all pads that are + + + + + The #GstPad to query. + + + + + + The amount of checking to be done when linking pads. @GST_PAD_LINK_CHECK_CAPS +and @GST_PAD_LINK_CHECK_TEMPLATE_CAPS are mutually exclusive. If both are +specified, expensive but safe @GST_PAD_LINK_CHECK_CAPS are performed. +<warning><para> +Only disable some of the checks if you are 100% certain you know the link +will not fail because of hierarchy/caps compatibility failures. If uncertain, +use the default checks (%GST_PAD_LINK_CHECK_DEFAULT) or the regular methods +for linking the pads. +</para></warning> + + + + + + + + + + + + + + + + + + + + Result values from gst_pad_link and friends. + + + + + + + + + + Indicates when this pad will become available. + + + + + + + + The signature of the query function. + + TRUE if the query could be performed. + + + + + the #GstPad to query. + + + + the #GstQuery object to execute + + + + + + The signature of the query types function. + + a constant array of query types + + + + + a #GstPad to query + + + + + + Set @caps on @pad. By default this function updates the caps of the +pad but the function can be overriden by elements to perform extra +actions or verifications. + + TRUE if the caps could be set on the pad. + + + + + the #GstPad to set the capabilities of. + + + + the #GstCaps to set + + + + + + The padtemplate object. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Flags for the padtemplate + + + + + + + + + + + + + + + + + A GParamSpec derived structure that contains the meta data for fractional +properties. + + + + + + + + + + + + + + + + + + + + + + + + A %GParamSpec derived structure that contains the meta data +for %GstMiniObject properties. + + + + + + Opaque structure. + + + + + + + + + + + + + + + + + + + + The different parsing errors that can occur. + + + + + + + + + + Parsing options. + + + + + The #GstPipeline structure. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Pipeline flags + + + + + + + The plugin object + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Flags used in connection with gst_plugin_add_dependency(). + + + + + + + A plugin should export a variable of this type called plugin_desc. The plugin +loader will use the data provided there to initialize the plugin. +BSD, MIT/X11, Proprietary, unknown. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The plugin loading errors + + + + + + Opaque #GstPluginFeature structure. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A function that can be used with e.g. gst_registry_feature_filter() +to get a list of pluginfeature that match certain criteria. + + %TRUE for a positive match, %FALSE otherwise + + + + + the pluginfeature to check + + + + the user_data that has been passed on e.g. gst_registry_feature_filter() + + + + + + A function that can be used with e.g. gst_registry_plugin_filter() +to get a list of plugins that match certain criteria. + + TRUE for a positive match, FALSE otherwise + + + + + the plugin to check + + + + the user_data that has been passed on e.g. gst_registry_plugin_filter() + + + + + + The plugin loading state + + + + + A plugin should provide a pointer to a function of either #GstPluginInitFunc +or this type in the plugin_desc struct. +The function will be called by the loader at startup. One would then +register each #GstPluginFeature. This version allows +user data to be passed to init function (useful for bindings). + + %TRUE if plugin initialised successfully + + + + + The plugin object + + + + extra data + + + + + + A plugin should provide a pointer to a function of this type in the +plugin_desc struct. +This function will be called by the loader at startup. One would then +register each #GstPluginFeature. + + %TRUE if plugin initialised successfully + + + + + The plugin object + + + + + + + + A set of file/network descriptors. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A file descriptor object. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The opaque #GstPushSrc data structure. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The #GstQuery structure. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Standard predefined Query types + + + + + + + + + + + + + + + + A Query Type definition + + + + + + + + + + + + + + + Element priority ranks. Defines the order in which the autoplugger (or +similar rank-picking mechanisms, such as e.g. gst_element_make_from_uri()) +will choose this element over an alternative one with the same function. +These constants serve as a rough guidance for defining the rank of a +#GstPluginFeature. Any value is valid, including values bigger than + + + + + + + Opaque #GstRegistry structure. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Resource errors are for any resource used by an element: +memory, files, network connections, process space, ... +They're typically used by source and sink elements. + + + + + + + + + + + + + + + + + + + + + + + + The different search modes. + + + + + + Flags to be used with gst_element_seek() or gst_event_new_seek(). All flags +can be used together. +A non flushing seek might take some time to perform as the currently +playing data in the pipeline will not be cleared. +An accurate seek might be slower for formats that don't have any indexes +or timestamp markers in the stream. Specifying this flag might require a +complete scan of the file in those cases. +no EOS will be emmited by the element that performed the seek, but a +#GST_MESSAGE_SEGMENT_DONE message will be posted on the bus by the element. +When this message is posted, it is possible to send a new seek event to +continue playback. With this seek method it is possible to perform seemless +looping or simple linear editing. +When doing fast forward (rate > 1.0) or fast reverse (rate < -1.0) trickmode +playback, the @GST_SEEK_FLAG_SKIP flag can be used to instruct decoders +and demuxers to adjust the playback rate by skipping frames. This can improve +performance and decrease CPU usage because not all frames need to be decoded. + + + + + + + + + The different types of seek events. When constructing a seek event with +gst_event_new_seek(), a format, a seek method and optional flags are to +be provided. The seek event is then inserted into the graph with +gst_pad_send_event() or gst_element_send_event(). + + + + + + + A helper structure that holds the configured region of +interest in a media file. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The possible states an element can be in. States can be changed using +gst_element_set_state() and checked using gst_element_get_state(). + + + + + + + + These are the different state changes an element goes through. +%GST_STATE_NULL &rArr; %GST_STATE_PLAYING is called an upwards state change +and %GST_STATE_PLAYING &rArr; %GST_STATE_NULL a downwards state change. + + + + + + + + + The possible return values from a state change function. Only + + + + + + + Datastructure to initialize #GstCaps from a string description usually +used in conjunction with GST_STATIC_CAPS() and gst_static_caps_get() to +instantiate a #GstCaps. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Stream errors are for anything related to the stream being processed: +format errors, media type errors, ... +They're typically used by decoders, demuxers, converters, ... + + + + + + + + + + + + + + + + + The type of a %GST_MESSAGE_STREAM_STATUS. The stream status messages inform the +application of new streaming threads and their status. + + + + + + + + + + The GstStructure object. Most fields are private. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The type of a %GST_MESSAGE_STRUCTURE_CHANGE. + + + + + A function that will be called in gst_structure_foreach(). The function may +not modify @value. +the foreach operation should stop with FALSE. + + TRUE if the foreach operation should continue, FALSE if + + + + + the #GQuark of the field name + + + + the #GValue of the field + + + + user data + + + + + + A function that will be called in gst_structure_map_in_place(). The function +may modify @value. +the map operation should stop with FALSE. + + TRUE if the map operation should continue, FALSE if + + + + + the #GQuark of the field name + + + + the #GValue of the field + + + + user data + + + + + + The default implementation of a #GstClock that uses the system time. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Extra tag flags used when registering tags. + + + + + + + + A function that will be called in gst_tag_list_foreach(). The function may +not modify the tag list. + + + + + + the #GstTagList + + + + a name of a tag in @list + + + + user data + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A function for merging multiple values of a tag used when registering +tags. + + + + + + the destination #GValue + + + + the source #GValue + + + + + + The different tag merging modes are basically replace, overwrite and append, +already in the element and (B) the ones that are supplied to the element ( +e.g. via gst_tag_setter_merge_tags() / gst_tag_setter_add_tags() or a +%GST_EVENT_TAG), how are these tags merged? +In the table below this is shown for the cases that a tag exists in the list +(A) or does not exists (!A) and combinations thereof. +<table frame="all" colsep="1" rowsep="1"> +<title>merge mode</title> +<tgroup cols='5' align='left'> +<thead> +<row> +<entry>merge mode</entry> +<entry>A + B</entry> +<entry>A + !B</entry> +<entry>!A + B</entry> +<entry>!A + !B</entry> +</row> +</thead> +<tbody> +<row> +<entry>REPLACE_ALL</entry> +<entry>B</entry> +<entry>-</entry> +<entry>B</entry> +<entry>-</entry> +</row> +<row> +<entry>REPLACE</entry> +<entry>B</entry> +<entry>A</entry> +<entry>B</entry> +<entry>-</entry> +</row> +<row> +<entry>APPEND</entry> +<entry>A, B</entry> +<entry>A</entry> +<entry>B</entry> +<entry>-</entry> +</row> +<row> +<entry>PREPEND</entry> +<entry>B, A</entry> +<entry>A</entry> +<entry>B</entry> +<entry>-</entry> +</row> +<row> +<entry>KEEP</entry> +<entry>A</entry> +<entry>A</entry> +<entry>B</entry> +<entry>-</entry> +</row> +<row> +<entry>KEEP_ALL</entry> +<entry>A</entry> +<entry>A</entry> +<entry>-</entry> +<entry>-</entry> +</row> +</tbody> +</tgroup> +</table> + + + + + + + + + + + Opaque #GstTagSetter data structure. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + #GstTagSetterIFace interface. + + + + + + The #GstTask object. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A function that will repeatedly be called in the thread created by +a #GstTask. + + + + + + user data passed to the function + + + + + + The #GstTaskPool object. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The #GstTaskPoolClass object. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Task function, see gst_task_pool_push(). + + + + + + user data for the task function + + + + + + + + The different states a task can be in + + + + + + Custom GstTask thread callback functions that can be installed. + + + + + + + + + + + + + + Opaque #GstTrace structure. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Object that stores typefind callbacks. To use with #GstTypeFindFactory. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Object that stores information about a typefind function. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A function that will be called by typefinding. + + + + + + A #GstTypeFind structure + + + + optionnal data to pass to the function + + + + + + This function will be called by gst_type_find_helper_get_range() when +typefinding functions request to peek at the data of a stream at certain +offsets. If this function returns GST_FLOW_OK, the result buffer will be +stored in @buffer. The contents of @buffer is invalid for any other +return value. +This function is supposed to behave exactly like a #GstPadGetRangeFunction. + + GST_FLOW_OK for success + + + + + a #GstObject that will handle the getrange request + + + + the offset of the range + + + + the length of the range + + + + a memory location to hold the result buffer + + + + + + The probability of the typefind function. Higher values have more certainty +in doing a reliable typefind. + + + + + + + + Structure used for filtering based on @name and @type. + + + + + + + + + Opaque #GstURIHandler structure. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Any #GstElement using this interface should implement these methods. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The different types of URI direction. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Used together with gst_value_compare() to compare #GValue items. +or GST_VALUE_UNORDERED + + one of GST_VALUE_LESS_THAN, GST_VALUE_EQUAL, GST_VALUE_GREATER_THAN + + + + + first value for comparison + + + + second value for comparison + + + + + + Used by gst_value_deserialize() to parse a non-binary form into the #GValue. + + %TRUE for success + + + + + a #GValue + + + + a string + + + + + + Used by gst_value_intersect() to perform intersection for a specific #GValue +type. If the intersection is non-empty, the result is +placed in @dest and TRUE is returned. If the intersection is +empty, @dest is unmodified and FALSE is returned. +Register a new implementation with gst_value_register_intersect_func(). + + %TRUE if the values can intersect + + + + + a #GValue for the result + + + + a #GValue operand + + + + a #GValue operand + + + + + + Used by gst_value_serialize() to obtain a non-binary form of the #GValue. + + the string representation of the value + + + + + a #GValue + + + + + + Used by gst_value_subtract() to perform subtraction for a specific #GValue +type. Register a new implementation with gst_value_register_subtract_func(). + + %TRUE if the subtraction is not empty + + + + + a #GValue for the result + + + + a #GValue operand + + + + a #GValue operand + + + + + + VTable for the #GValue @type. + + + + + + + + + + + + + + + + + + + + Used by gst_value_union() to perform unification for a specific #GValue +type. Register a new implementation with gst_value_register_union_func(). + + %TRUE if a union was successful + + + + + a #GValue for the result + + + + a #GValue operand + + + + a #GValue operand + + + + + + XML parser object + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + argument count + + + + arguments + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/GstBase-0.10.gir b/GstBase-0.10.gir new file mode 100644 index 0000000..fac6386 --- /dev/null +++ b/GstBase-0.10.gir @@ -0,0 +1,4187 @@ + + + + + + + + + + + + + + The opaque #GstAdapter data structure. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A bit reader instance. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A byte reader instance. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A byte writer instance. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Structure used by the collect_pads. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A function that will be called when the #GstCollectData will be freed. +It is passed the pointer to the structure and should free any custom +memory and resources allocated for it. + + + + + + the #GstCollectData that will be freed + + + + + + Collectpads object. +Note that @data doesn't contain the complete #GstCollectData list +at all times and should not be used for iterating them. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A function that will be called when @buffer is received on the pad managed +by @data in the collecpad object @pads. +The function should use the segment of @data and the negotiated media type on +the pad to perform clipping of @buffer. +This function takes ownership of @buffer. +the buffer has been clipped completely. + + a #GstBuffer that contains the clipped data of @buffer or NULL when + + + + + a #GstCollectPads + + + + a #GstCollectData + + + + a #GstBuffer + + + + user data + + + + + + A function that will be called when all pads have received data. + + #GST_FLOW_OK for success + + + + + the #GstCollectPads that triggered the callback + + + + user data passed to gst_collect_pads_set_function() + + + + + + + + Opaque #GstDataQueue structure. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The prototype of the function used to inform the queue that it should be +considered as full. + + #TRUE if the queue should be considered full. + + + + + a #GstDataQueue. + + + + The number of visible items currently in the queue. + + + + The amount of bytes currently in the queue. + + + + The accumulated duration of the items currently in the queue. + + + + The #gpointer registered when the #GstDataQueue was created. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Structure used by #GstDataQueue. You can supply a different structure, as +long as the top of the structure is identical to this structure. + + + + + + + + + + + + + + + + + + Structure describing the size of a queue. + + + + + + + + + + + + The opaque #GstPushSrc data structure. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + This function will be called by gst_type_find_helper_get_range() when +typefinding functions request to peek at the data of a stream at certain +offsets. If this function returns GST_FLOW_OK, the result buffer will be +stored in @buffer. The contents of @buffer is invalid for any other +return value. +This function is supposed to behave exactly like a #GstPadGetRangeFunction. + + GST_FLOW_OK for success + + + + + a #GstObject that will handle the getrange request + + + + the offset of the range + + + + the length of the range + + + + a memory location to hold the result buffer + + + + + + The opaque #GstBaseSink data structure. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Subclasses can override any of the available virtual methods or not, as +needed. At the minimum, the @render method should be overridden to +output/present buffers. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The opaque #GstBaseSrc data structure. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Subclasses can override any of the available virtual methods or not, as +needed. At the minimum, the @create method should be overridden to produce +buffers. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The #GstElement flags that a basesrc element may have. + + + + + + + + + + + + + The opaque #GstBaseTransform data structure. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Subclasses can override any of the available virtual methods or not, as +needed. At minimum either @transform or @transform_ip need to be overridden. +If the element can overwrite the input data with the results (data is of the +same type and quantity) it should provide @transform_ip. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/GstCheck-0.10.gir b/GstCheck-0.10.gir new file mode 100644 index 0000000..41320ce --- /dev/null +++ b/GstCheck-0.10.gir @@ -0,0 +1,836 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Opaque consistency checker handle. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Get one buffer from @pad. Implemented via buffer probes. This function will +block until the pipeline passes a buffer over @pad, so for robust behavior +in unit tests, you need to use check's timeout to fail out in the case that a +buffer never arrives. +You must have previously called gst_buffer_straw_start_pipeline() on + + the captured #GstBuffer. + + + + + the pipeline previously started via gst_buffer_straw_start_pipeline() + + + + the pad previously passed to gst_buffer_straw_start_pipeline() + + + + + + Sets up a pipeline for buffer sucking. This will allow you to call +gst_buffer_straw_get_buffer() to access buffers as they pass over @pad. +This function is normally used in unit tests that want to verify that a +particular element is outputting correct buffers. For example, you would make +a pipeline via gst_parse_launch(), pull out the pad you want to monitor, then +call gst_buffer_straw_get_buffer() to get the buffers that pass through @pad. +The pipeline will block until you have sucked off the buffers. +This function will set the state of @bin to PLAYING; to clean up, be sure to +call gst_buffer_straw_stop_pipeline(). +Note that you may not start two buffer straws at the same time. This function +is intended for unit tests, not general API use. In fact it calls fail_if +from libcheck, so you cannot use it outside unit tests. + + + + + + the pipeline to run + + + + a pad on an element in @bin + + + + + + Set @bin to #GST_STATE_NULL and release resource allocated in +gst_buffer_straw_start_pipeline(). +You must have previously called gst_buffer_straw_start_pipeline() on + + + + + + the pipeline previously started via gst_buffer_straw_start_pipeline() + + + + the pad previously passed to gst_buffer_straw_start_pipeline() + + + + + + Compare two caps with gst_caps_is_equal and fail unless they are +equal. + + + + + + first caps to compare + + + + second caps to compare + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Frees the allocated data and probe associated with @consist. + + + + + + The #GstStreamConsistency to free. + + + + + + Sets up a data probe on the given pad which will raise assertions if the +data flow is inconsistent. +Currently only works for source pads. + + A #GstStreamConsistency structure used to track data flow. + + + + + The #GstPad on which the dataflow will be checked. + + + + + + Reset the stream checker's internal variables. + + + + + + The #GstStreamConsistency to reset. + + + + + + Unref and remove all buffers that are in the global @buffers GList, +emptying the list. + + + + + + Create an @element with the factory with the name and push the +and this will be compared with @buffer_out. We only check the caps +and the data of the buffers. This function unrefs the buffers. + + + + + + name of the element that needs to be created + + + + push this buffer to the element + + + + compare the result with this buffer + + + + + + Create an @element with the factory with the name and push the buffers in +the buffers in @buffer_out. We only check the caps, size and the data of the +buffers. This function unrefs the buffers in the two lists. +The last_flow_return parameter indicates the expected flow return value from +pushing the final buffer in the list. +This can be used to set up a test which pushes some buffers and then an +invalid buffer, when the final buffer is expected to fail, for example. + + + + + + name of the element that needs to be created + + + + a list of buffers that needs to be puched to the element + + + + + + a list of buffers that we expect from the element + + + + + + the last buffer push needs to give this GstFlowReturn + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/GstController-0.10.gir b/GstController-0.10.gir new file mode 100644 index 0000000..dcfa4c4 --- /dev/null +++ b/GstController-0.10.gir @@ -0,0 +1,867 @@ + + + + + + + + + + + + + + + + + + + + + + + + The instance structure of #GstControlSource. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The class structure of #GstControlSource. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The instance structure of GstController + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The various interpolation modes available. + + + + + + + + + The instance structure of #GstControlSource. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The instance structure of #GstControlSource. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The various waveform modes available. + + + + + + + + Structure for saving a timestamp and a value. + + + + + + + + + Structure to receive multiple values at once. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/GstFft-0.10.gir b/GstFft-0.10.gir new file mode 100644 index 0000000..808acdb --- /dev/null +++ b/GstFft-0.10.gir @@ -0,0 +1,418 @@ + + + + + + + + + + + + + + Instance structure for #GstFFTF32. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Data type for complex numbers composed of +32 bit float. + + + + + + + + + Instance structure for #GstFFTF64. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Data type for complex numbers composed of +64 bit float. + + + + + + + + + Instance structure for #GstFFTS16. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Data type for complex numbers composed of +signed 16 bit integers. + + + + + + + + + Instance structure for #GstFFTS32. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Data type for complex numbers composed of +signed 32 bit integers. + + + + + + + + + The various window functions available. + + + + + + + + + + + + + + + + + + diff --git a/GstNet-0.10.gir b/GstNet-0.10.gir new file mode 100644 index 0000000..8f7d753 --- /dev/null +++ b/GstNet-0.10.gir @@ -0,0 +1,254 @@ + + + + + + + + + + + + + + Opaque #GstNetClientClock structure. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Content of a #GstNetTimePacket. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Opaque #GstNetTimeProvider structure. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/GstNetbuffer-0.10.gir b/GstNetbuffer-0.10.gir new file mode 100644 index 0000000..5b3f447 --- /dev/null +++ b/GstNetbuffer-0.10.gir @@ -0,0 +1,251 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + An opaque network address as used in #GstNetBuffer. + + + + + + + + + + + + + + + + + + + + + + + + buffer for use in network sources and sinks. +It contains the source or destination address of the buffer. + + + + + + + + + + + + + + + + + + + + + + The Address type used in #GstNetAddress. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/GstPbutils-0.10.gir b/GstPbutils-0.10.gir new file mode 100644 index 0000000..77e77af --- /dev/null +++ b/GstPbutils-0.10.gir @@ -0,0 +1,442 @@ + + + + + + + + + + + + + + Opaque context structure for the plugin installation. Use the provided +API to set details on it. + + + + + + + + + + + + + + + + + + + + + + + The prototype of the callback function that will be called once the +external plugin installer program has returned. You only need to provide +a callback function if you are using the asynchronous interface. + + + + + + whether the installation of the requested plugins succeeded or not + + + + the user data passed to gst_install_plugins_async() + + + + + + Result codes returned by gst_install_plugins_async() and +gst_install_plugins_sync(), and also the result code passed to the +#GstInstallPluginsResultFunc specified with gst_install_plugin_async(). +These codes indicate success or failure of starting an external installer +program and to what extent the requested plugins could be installed. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/GstRiff-0.10.gir b/GstRiff-0.10.gir new file mode 100644 index 0000000..ea39ad4 --- /dev/null +++ b/GstRiff-0.10.gir @@ -0,0 +1,937 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/GstRtp-0.10.gir b/GstRtp-0.10.gir new file mode 100644 index 0000000..59725a6 --- /dev/null +++ b/GstRtp-0.10.gir @@ -0,0 +1,2275 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Different types of feedback messages. + + + + + + + + + Data structure that points to a packet at @offset in @buffer. +The size of the structure is made public to allow stack allocations. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Structure holding default payload type information. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/GstRtsp-0.10.gir b/GstRtsp-0.10.gir new file mode 100644 index 0000000..c0c97be --- /dev/null +++ b/GstRtsp-0.10.gir @@ -0,0 +1,2479 @@ + + + + + + + + + + + + + + + Authentication methods, ordered by strength + + + + + + Opaque RTSP connection object. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The possible events for the connection. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The possible network families. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The different transport methods. + + + + + + + An RTSP message containing request, response or data messages. Depending on +the @type, the appropriate structure may be accessed. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The different supported RTSP methods. + + + + + + + + + + + + + + + + + The type of a message. + + + + + + + + + The transfer profile to use. + + + + + + A type to specify a range. + + + + + + + + + Different possible time range units. + + + + + + + + Result codes from the RTSP functions. + + + + + + + + + + + + + + + + + + + + + The different RTSP states. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A time indication. + + + + + + + + + A time range. + + + + + + + + + + + + Possible time types. + + + + + + The transfer mode to use. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + This structure contains the result of a parsed RTSP URL + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The supported RTSP versions. + + + + + + Opaque RTSP watch object that can be used for asynchronous RTSP +operations. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Callback functions from a #GstRTSPWatch. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/GstSdp-0.10.gir b/GstSdp-0.10.gir new file mode 100644 index 0000000..2348f14 --- /dev/null +++ b/GstSdp-0.10.gir @@ -0,0 +1,898 @@ + + + + + + + + + + + + + + The contents of the SDP "a=" field which contains a key/value pair. + + + + + + + + + + + + + + + + + + + + + + + + The contents of the SDP "b=" field which specifies the proposed bandwidth to +be used by the session or media. + + + + + + + + + The contents of the SDP "c=" field which contains connection data. + + + + + + + + + + + + + + + + + + The contents of the SDP "k=" field which is used to convey encryption +keys. + + + + + + + + + The contents of the SDP "m=" field with all related fields. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The contents of the SDP message. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The contents of the SDP "o=" field which gives the originator of the session +(their username and the address of the user's host) plus a session id and +session version number. + + + + + + + + + + + + + + + + + + + + + Return values for the SDP functions. + + + + + The contents of the SDP "t=" field which specify the start and stop times for +a conference session. + + + + + + + + + + + + The contents of the SDP "z=" field which allows the sender to +specify a list of time zone adjustments and offsets from the base +time. + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/GstTag-0.10.gir b/GstTag-0.10.gir new file mode 100644 index 0000000..1d35a2f --- /dev/null +++ b/GstTag-0.10.gir @@ -0,0 +1,667 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Opaque #GstTagDemux structure. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The #GstTagDemuxClass structure. See documentation at beginning of section +for details about what subclasses need to override and do. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Result values from the parse_tag virtual function. + + + + + + Type of image contained in an image tag (specified as field in +the image buffer's caps structure) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/GstVideo-0.10.gir b/GstVideo-0.10.gir new file mode 100644 index 0000000..a2d927a --- /dev/null +++ b/GstVideo-0.10.gir @@ -0,0 +1,803 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Enum value describing the most common video formats. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Helper structure representing a rectangular area. + + + + + + + + + + + + + + + + + + The video sink instance structure. Derived video sinks should set the + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The video sink class structure. Derived classes should override the + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Gtk-2.0.gir b/Gtk-2.0.gir new file mode 100644 index 0000000..498e6f0 --- /dev/null +++ b/Gtk-2.0.gir @@ -0,0 +1,93220 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + The <structname>GtkAboutDialog</structname> struct contains +only private fields and should not be directly accessed. + + + + Creates a new #GtkAboutDialog. + + a newly created #GtkAboutDialog + + + + + Installs a global function to be called whenever the user activates an +email link in an about dialog. +Since 2.18 there exists a default function which uses gtk_show_uri(). To +deactivate it, you can pass %NULL for @func. + + the previous email hook. + + + + + a function to call when an email link is activated. + + + + data to pass to @func + + + + #GDestroyNotify for @data + + + + + + Installs a global function to be called whenever the user activates a +URL link in an about dialog. +Since 2.18 there exists a default function which uses gtk_show_uri(). To +deactivate it, you can pass %NULL for @func. + + the previous URL hook. + + + + + a function to call when a URL link is activated. + + + + data to pass to @func + + + + #GDestroyNotify for @data + + + + + + Returns the program name displayed in the about dialog. +dialog and must not be modified. + + The program name. The string is owned by the about + + + + + Sets the name to display in the about dialog. +If this is not set, it defaults to g_get_application_name(). + + + + + + the program name + + + + + + Returns the program name displayed in the about dialog. +dialog and must not be modified. + + The program name. The string is owned by the about + + + + + Sets the name to display in the about dialog. +If this is not set, it defaults to g_get_application_name(). + + + + + + the program name + + + + + + Returns the version string. +dialog and must not be modified. + + The version string. The string is owned by the about + + + + + Sets the version string to display in the about dialog. + + + + + + the version string + + + + + + Returns the copyright string. +dialog and must not be modified. + + The copyright string. The string is owned by the about + + + + + Sets the copyright string to display in the about dialog. +This should be a short string of one or two lines. + + + + + + (allow-none) the copyright string + + + + + + Returns the comments string. +dialog and must not be modified. + + The comments. The string is owned by the about + + + + + Sets the comments string to display in the about dialog. +This should be a short string of one or two lines. + + + + + + a comments string + + + + + + Returns the license information. +dialog and must not be modified. + + The license information. The string is owned by the about + + + + + Sets the license information to be displayed in the secondary +license dialog. If @license is %NULL, the license button is +hidden. + + + + + + the license information or %NULL + + + + + + Returns whether the license text in @about is +automatically wrapped. + + %TRUE if the license text is wrapped + + + + + Sets whether the license text in @about is +automatically wrapped. + + + + + + whether to wrap the license + + + + + + Returns the website URL. +dialog and must not be modified. + + The website URL. The string is owned by the about + + + + + Sets the URL to use for the website link. +Note that that the hook functions need to be set up +before calling this function. + + + + + + //" + + + + + + Returns the label used for the website link. +owned by the about dialog and must not be modified. + + The label used for the website link. The string is + + + + + Sets the label to be used for the website link. +It defaults to the website URL. + + + + + + the label used for the website link + + + + + + Returns the string which are displayed in the authors tab +of the secondary credits dialog. +the authors. The array is owned by the about dialog +and must not be modified. + + A %NULL-terminated string array containing + + + + + + + Sets the strings which are displayed in the authors tab +of the secondary credits dialog. + + + + + + a %NULL-terminated array of strings + + + + + + + + Returns the string which are displayed in the documenters +tab of the secondary credits dialog. +the documenters. The array is owned by the about dialog +and must not be modified. + + A %NULL-terminated string array containing + + + + + + + Sets the strings which are displayed in the documenters tab +of the secondary credits dialog. + + + + + + a %NULL-terminated array of strings + + + + + + + + Returns the string which are displayed in the artists tab +of the secondary credits dialog. +the artists. The array is owned by the about dialog +and must not be modified. + + A %NULL-terminated string array containing + + + + + + + Sets the strings which are displayed in the artists tab +of the secondary credits dialog. + + + + + + a %NULL-terminated array of strings + + + + + + + + Returns the translator credits string which is displayed +in the translators tab of the secondary credits dialog. +owned by the about dialog and must not be modified. + + The translator credits string. The string is + + + + + Sets the translator credits string which is displayed in +the translators tab of the secondary credits dialog. +The intended use for this string is to display the translator +of the language which is currently used in the user interface. +Using gettext(), a simple way to achieve that is to mark the +string for translation: +|[ +gtk_about_dialog_set_translator_credits (about, _("translator-credits")); +]| +It is a good idea to use the customary msgid "translator-credits" for this +purpose, since translators will already know the purpose of that msgid, and +since #GtkAboutDialog will detect if "translator-credits" is untranslated +and hide the tab. + + + + + + the translator credits + + + + + + Returns the pixbuf displayed as logo in the about dialog. +owned by the about dialog. If you want to keep a reference +to it, you have to call g_object_ref() on it. + + the pixbuf displayed as logo. The pixbuf is + + + + + Sets the pixbuf to be displayed as logo in the about dialog. +If it is %NULL, the default window icon set with +gtk_window_set_default_icon() will be used. + + + + + + a #GdkPixbuf, or %NULL + + + + + + Returns the icon name displayed as logo in the about dialog. +owned by the dialog. If you want to keep a reference +to it, you have to call g_strdup() on it. + + the icon name displayed as logo. The string is + + + + + Sets the pixbuf to be displayed as logo in the about dialog. +If it is %NULL, the default window icon set with +gtk_window_set_default_icon() will be used. + + + + + + an icon name, or %NULL + + + + + + The people who contributed artwork to the program, as a %NULL-terminated +array of strings. Each string may contain email addresses and URLs, which +will be displayed as links, see the introduction for more details. + + + + The authors of the program, as a %NULL-terminated array of strings. +Each string may contain email addresses and URLs, which will be displayed +as links, see the introduction for more details. + + + + Comments about the program. This string is displayed in a label +in the main dialog, thus it should be a short explanation of +the main purpose of the program, not a detailed list of features. + + + + Copyright information for the program. + + + + The people documenting the program, as a %NULL-terminated array of strings. +Each string may contain email addresses and URLs, which will be displayed +as links, see the introduction for more details. + + + + The license of the program. This string is displayed in a +text view in a secondary dialog, therefore it is fine to use +a long multi-paragraph text. Note that the text is only wrapped +in the text view if the "wrap-license" property is set to %TRUE; +otherwise the text itself must contain the intended linebreaks. + + + + A logo for the about box. If this is not set, it defaults to +gtk_window_get_default_icon_list(). + + + + A named icon to use as the logo for the about box. This property +overrides the #GtkAboutDialog:logo property. + + + + The name of the program. +If this is not set, it defaults to g_get_application_name(). + + + + Credits to the translators. This string should be marked as translatable. +The string may contain email addresses and URLs, which will be displayed +as links, see the introduction for more details. + + + + The version of the program. + + + + The URL for the link to the website of the program. +This should be a string starting with "http://. + + + + The label for the link to the website of the program. If this is not set, +it defaults to the URL specified in the #GtkAboutDialog:website property. + + + + Whether to wrap the text in the license dialog. + + + + + + + + + + + The type of a function which is called when a URL or email +link is activated. + + + + + + the #GtkAboutDialog in which the link was activated + + + + the URL or email address to which the activated link points + + + + user data that was passed when the function was registered with gtk_about_dialog_set_email_hook() or gtk_about_dialog_set_url_hook() + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + An object representing and maintaining a group of accelerators. + + Creates a new #GtkAccelGroup. + + a new #GtkAccelGroup object + + + + + Finds the #GtkAccelGroup to which @closure is connected; +see gtk_accel_group_connect(). + + the #GtkAccelGroup to which @closure is connected, or %NULL. + + + + + a #GClosure + + + + + + Locks are added and removed using gtk_accel_group_lock() and +gtk_accel_group_unlock(). +%FALSE otherwise. + + %TRUE if there are 1 or more locks on the @accel_group, + + + + + Gets a #GdkModifierType representing the mask for this + + the modifier mask for this accel group. + + + + + Locks the given accelerator group. +Locking an acelerator group prevents the accelerators contained +within it to be changed during runtime. Refer to +gtk_accel_map_change_entry() about runtime accelerator changes. +If called more than once, @accel_group remains locked until +gtk_accel_group_unlock() has been called an equivalent number +of times. + + + + + + Undoes the last call to gtk_accel_group_lock() on this @accel_group. + + + + + + Installs an accelerator in this group. When @accel_group is being activated +in response to a call to gtk_accel_groups_activate(), @closure will be +invoked if the @accel_key and @accel_mods from gtk_accel_groups_activate() +match those of this connection. +The signature used for the @closure is that of #GtkAccelGroupActivate. +Note that, due to implementation details, a single closure can only be +connected to one accelerator group. + + + + + + key value of the accelerator + + + + modifier combination of the accelerator + + + + a flag mask to configure this accelerator + + + + closure to be executed upon accelerator activation + + + + + + Installs an accelerator in this group, using an accelerator path to look +up the appropriate key and modifiers (see gtk_accel_map_add_entry()). +When @accel_group is being activated in response to a call to +gtk_accel_groups_activate(), @closure will be invoked if the @accel_key and +for the path. +The signature used for the @closure is that of #GtkAccelGroupActivate. +Note that @accel_path string will be stored in a #GQuark. Therefore, if you +pass a static string, you can save some memory by interning it first with +g_intern_static_string(). + + + + + + path used for determining key and modifiers. + + + + closure to be executed upon accelerator activation + + + + + + Removes an accelerator previously installed through +gtk_accel_group_connect(). +Since 2.20 @closure can be %NULL. + + %TRUE if the closure was found and got disconnected + + + + + the closure to remove from this accelerator group, or %NULL to remove all closures + + + + + + Removes an accelerator previously installed through +gtk_accel_group_connect(). + + %TRUE if there was an accelerator which could be removed, %FALSE otherwise + + + + + key value of the accelerator + + + + modifier combination of the accelerator + + + + + + Finds the first accelerator in @accel_group +that matches @accel_key and @accel_mods, and +activates it. + + %TRUE if an accelerator was activated and handled this keypress + + + + + the quark for the accelerator name + + + + the #GObject, usually a #GtkWindow, on which to activate the accelerator. + + + + accelerator keyval from a key event + + + + keyboard state mask from a key event + + + + + + Finds the first entry in an accelerator group for which + + the key of the first entry passing @find_func. The key is owned by GTK+ and must not be freed. + + + + + a function to filter the entries of @accel_group with + + + + data to pass to @find_func + + + + + + Queries an accelerator group for all entries matching @accel_key and + + an array of @n_entries #GtkAccelGroupEntry elements, or %NULL. The array is owned by GTK+ and must not be freed. + + + + + key value of the accelerator + + + + modifier combination of the accelerator + + + + location to return the number of entries found, or %NULL + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The accel-activate signal is an implementation detail of +#GtkAccelGroup and not meant to be used by applications. + + %TRUE if the accelerator was activated + + + + + the object on which the accelerator was activated + + + + the accelerator keyval + + + + the modifier combination of the accelerator + + + + + + The accel-changed signal is emitted when a #GtkAccelGroupEntry +is added to or removed from the accel group. +Widgets like #GtkAccelLabel which display an associated +accelerator should connect to this signal, and rebuild +their visual representation if the @accel_closure is theirs. + + + + + + the accelerator keyval + + + + the modifier combination of the accelerator + + + + the #GClosure of the accelerator + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The #GtkAccelLabel-struct struct contains private data only, and +should be accessed using the functions below. + + + + Creates a new #GtkAccelLabel. + + a new #GtkAccelLabel. + + + + + the label string. Must be non-%NULL. + + + + + + Fetches the widget monitored by this accelerator label. See +gtk_accel_label_set_accel_widget(). + + the object monitored by the accelerator label, or %NULL. + + + + + Returns the width needed to display the accelerator key(s). +This is used by menus to align all of the #GtkMenuItem widgets, and shouldn't +be needed by applications. + + the width needed to display the accelerator key(s). + + + + + Sets the widget to be monitored by this accelerator label. + + + + + + the widget to be monitored. + + + + + + Sets the closure to be monitored by this accelerator label. The closure +must be connected to an accelerator group; see gtk_accel_group_connect(). + + + + + + the closure to monitor for accelerator changes. + + + + + + Recreates the string representing the accelerator keys. +This should not be needed since the string is automatically updated whenever +accelerators are added or removed from the associated widget. + + always returns %FALSE. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Registers a new accelerator with the global accelerator map. +This function should only be called once per @accel_path +with the canonical @accel_key and @accel_mods for this path. +To change the accelerator during runtime programatically, use +gtk_accel_map_change_entry(). +The accelerator path must consist of "&lt;WINDOWTYPE&gt;/Category1/Category2/.../Action", +where &lt;WINDOWTYPE&gt; should be a unique application-specific identifier, that +corresponds to the kind of window the accelerator is being used in, e.g. "Gimp-Image", +"Abiword-Document" or "Gnumeric-Settings". +The Category1/.../Action portion is most appropriately chosen by the action the +accelerator triggers, i.e. for accelerators on menu items, choose the item's menu path, +e.g. "File/Save As", "Image/View/Zoom" or "Edit/Select All". +So a full valid accelerator path may look like: +"&lt;Gimp-Toolbox&gt;/File/Dialogs/Tool Options...". +Note that @accel_path string will be stored in a #GQuark. Therefore, if you +pass a static string, you can save some memory by interning it first with +g_intern_static_string(). + + + + + + valid accelerator path + + + + the accelerator key + + + + the accelerator modifiers + + + + + + Looks up the accelerator entry for @accel_path and fills in @key. + + %TRUE if @accel_path is known, %FALSE otherwise + + + + + a valid accelerator path + + + + the accelerator key to be filled in (optional) + + + + + + Changes the @accel_key and @accel_mods currently associated with @accel_path. +Due to conflicts with other accelerators, a change may not always be possible, +conflicts. A change will only occur if all conflicts could be resolved (which +might not be the case if conflicting accelerators are locked). Successful +changes are indicated by a %TRUE return value. +Note that @accel_path string will be stored in a #GQuark. Therefore, if you +pass a static string, you can save some memory by interning it first with +g_intern_static_string(). + + %TRUE if the accelerator could be changed, %FALSE otherwise + + + + + a valid accelerator path + + + + the new accelerator key + + + + the new accelerator modifiers + + + + %TRUE if other accelerators may be deleted upon conflicts + + + + + + Parses a file previously saved with gtk_accel_map_save() for +accelerator specifications, and propagates them accordingly. + + + + + + a file containing accelerator specifications, in the GLib file name encoding + + + + + + Saves current accelerator specifications (accelerator path, key +and modifiers) to @file_name. +The file is written in a format suitable to be read back in by +gtk_accel_map_load(). + + + + + + the name of the file to contain accelerator specifications, in the GLib file name encoding + + + + + + Loops over the entries in the accelerator map whose accel path +doesn't match any of the filters added with gtk_accel_map_add_filter(), +and execute @foreach_func on each. The signature of @foreach_func is +that of #GtkAccelMapForeach, the @changed parameter indicates whether +this accelerator was changed during runtime (thus, would need +saving during an accelerator map dump). + + + + + + data to be passed into @foreach_func + + + + function to be executed for each accel map entry which is not filtered out + + + + + + Filedescriptor variant of gtk_accel_map_load(). +Note that the file descriptor will not be closed by this function. + + + + + + a valid readable file descriptor + + + + + + #GScanner variant of gtk_accel_map_load(). + + + + + + a #GScanner which has already been provided with an input file + + + + + + Filedescriptor variant of gtk_accel_map_save(). +Note that the file descriptor will not be closed by this function. + + + + + + a valid writable file descriptor + + + + + + Locks the given accelerator path. If the accelerator map doesn't yet contain +an entry for @accel_path, a new one is created. +Locking an accelerator path prevents its accelerator from being changed +during runtime. A locked accelerator path can be unlocked by +gtk_accel_map_unlock_path(). Refer to gtk_accel_map_change_entry() +for information about runtime accelerator changes. +If called more than once, @accel_path remains locked until +gtk_accel_map_unlock_path() has been called an equivalent number +of times. +Note that locking of individual accelerator paths is independent from +locking the #GtkAccelGroup containing them. For runtime accelerator +changes to be possible both the accelerator path and its #GtkAccelGroup +have to be unlocked. + + + + + + a valid accelerator path + + + + + + Undoes the last call to gtk_accel_map_lock_path() on this @accel_path. +Refer to gtk_accel_map_lock_path() for information about accelerator path locking. + + + + + + a valid accelerator path + + + + + + Adds a filter to the global list of accel path filters. +Accel map entries whose accel path matches one of the filters +are skipped by gtk_accel_map_foreach(). +This function is intended for GTK+ modules that create their own +menus, but don't want them to be saved into the applications accelerator +map dump. + + + + + + a pattern (see #GPatternSpec) + + + + + + Loops over all entries in the accelerator map, and execute +#GtkAccelMapForeach, the @changed parameter indicates whether +this accelerator was changed during runtime (thus, would need +saving during an accelerator map dump). + + + + + + data to be passed into @foreach_func + + + + function to be executed for each accel map entry + + + + + + Gets the singleton global #GtkAccelMap object. This object +is useful only for notification of changes to the accelerator +map via the ::changed signal; it isn't a parameter to the +other accelerator map functions. + + the global #GtkAccelMap object + + + + + Notifies of a change in the global accelerator map. +The path is also used as the detail for the signal, +so it is possible to connect to +changed::<replaceable>accel_path</replaceable>. + + + + + + the path of the accelerator that changed + + + + the key value for the new accelerator + + + + the modifier mask for the new accelerator + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Gets the #GtkWidget corresponding to the #GtkAccessible. The returned widget +does not have a reference added, so you do not need to unref it. +the #GtkAccessible, or %NULL. + + pointer to the #GtkWidget corresponding to + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Creates a new #GtkAction object. To add the action to a +#GtkActionGroup and set the accelerator for the action, +call gtk_action_group_add_action_with_accel(). +See <xref linkend="XML-UI"/> for information on allowed action +names. + + a new #GtkAction + + + + + A unique name for the action + + + + the label displayed in menu items and on buttons, or %NULL + + + + a tooltip for the action, or %NULL + + + + the stock icon to display in widgets representing the action, or %NULL + + + + + + Creates a menu item widget that proxies for the given action. + + a menu item connected to the action. + + + + + Creates a toolbar item widget that proxies for the given action. + + a toolbar item connected to the action. + + + + + Connects a widget to an action object as a proxy. Synchronises +various properties of the action with the widget (such as label +text, icon, tooltip, etc), and attaches a callback so that the +action gets activated when the proxy widget does. +If the widget is already connected to an action, it is disconnected +first. + + + + + + the proxy widget + + + + + + Disconnects a proxy widget from an action. +Does <emphasis>not</emphasis> destroy the widget, however. + + + + + + the proxy widget + + + + + + If @action provides a #GtkMenu widget as a submenu for the menu +item or the toolbar item it creates, this function returns an +instance of that menu. + + the menu item provided by the action, or %NULL. + + + + + Returns the name of the action. +be freed. + + the name of the action. The string belongs to GTK+ and should not + + + + + Returns whether the action is effectively sensitive. +are both sensitive. + + %TRUE if the action and its associated action group + + + + + Returns whether the action itself is sensitive. Note that this doesn't +necessarily mean effective sensitivity. See gtk_action_is_sensitive() +for that. + + %TRUE if the action itself is sensitive. + + + + + Sets the ::sensitive property of the action to @sensitive. Note that +this doesn't necessarily mean effective sensitivity. See +gtk_action_is_sensitive() +for that. + + + + + + %TRUE to make the action sensitive + + + + + + Returns whether the action is effectively visible. +are both visible. + + %TRUE if the action and its associated action group + + + + + Returns whether the action itself is visible. Note that this doesn't +necessarily mean effective visibility. See gtk_action_is_sensitive() +for that. + + %TRUE if the action itself is visible. + + + + + Sets the ::visible property of the action to @visible. Note that +this doesn't necessarily mean effective visibility. See +gtk_action_is_visible() +for that. + + + + + + %TRUE to make the action visible + + + + + + Emits the "activate" signal on the specified action, if it isn't +insensitive. This gets called by the proxy widgets when they get +activated. +It can also be used to manually activate an action. + + + + + + This function is intended for use by action implementations to +create icons displayed in the proxy widgets. + + a widget that displays the icon for this action. + + + + + the size of the icon that should be created. + + + + + + Creates a menu item widget that proxies for the given action. + + a menu item connected to the action. + + + + + Creates a toolbar item widget that proxies for the given action. + + a toolbar item connected to the action. + + + + + If @action provides a #GtkMenu widget as a submenu for the menu +item or the toolbar item it creates, this function returns an +instance of that menu. + + the menu item provided by the action, or %NULL. + + + + + Returns the proxy widgets for an action. +See also gtk_widget_get_action(). +and must not be modified. + + a #GSList of proxy widgets. The list is owned by GTK+ + + + + + + + Installs the accelerator for @action if @action has an +accel path and group. See gtk_action_set_accel_path() and +gtk_action_set_accel_group() +Since multiple proxies may independently trigger the installation +of the accelerator, the @action counts the number of times this +function has been called and doesn't remove the accelerator until +gtk_action_disconnect_accelerator() has been called as many times. + + + + + + Undoes the effect of one call to gtk_action_connect_accelerator(). + + + + + + Returns the accel path for this action. +if none is set. The returned string is owned by GTK+ +and must not be freed or modified. + + the accel path for this action, or %NULL + + + + + Returns the accel closure for this action. +owned by GTK+ and must not be unreffed or modified. + + the accel closure for this action. The returned closure is + + + + + Connects a widget to an action object as a proxy. Synchronises +various properties of the action with the widget (such as label +text, icon, tooltip, etc), and attaches a callback so that the +action gets activated when the proxy widget does. +If the widget is already connected to an action, it is disconnected +first. + + + + + + the proxy widget + + + + + + Disconnects a proxy widget from an action. +Does <emphasis>not</emphasis> destroy the widget, however. + + + + + + the proxy widget + + + + + + Disables calls to the gtk_action_activate() +function by signals on the given proxy widget. This is used to +break notification loops for things like check or radio actions. +This function is intended for use by action implementations. +action directly so this doesnt apply anymore. + + + + + + a proxy widget + + + + + + Re-enables calls to the gtk_action_activate() +function by signals on the given proxy widget. This undoes the +blocking done by gtk_action_block_activate_from(). +This function is intended for use by action implementations. +action directly so this doesnt apply anymore. + + + + + + a proxy widget + + + + + + Disable activation signals from the action +This is needed when updating the state of your proxy +#GtkActivatable widget could result in calling gtk_action_activate(), +this is a convenience function to avoid recursing in those +cases (updating toggle state for instance). + + + + + + Reenable activation signals from the action + + + + + + Sets the accel path for this action. All proxy widgets associated +with the action will have this accel path, so that their +accelerators are consistent. +Note that @accel_path string will be stored in a #GQuark. Therefore, if you +pass a static string, you can save some memory by interning it first with +g_intern_static_string(). + + + + + + the accelerator path + + + + + + Sets the #GtkAccelGroup in which the accelerator for this action +will be installed. + + + + + + a #GtkAccelGroup or %NULL + + + + + + Sets the label of @action. + + + + + + the label text to set + + + + + + Gets the label text of @action. + + the label text + + + + + Sets a shorter label text on @action. + + + + + + the label text to set + + + + + + Gets the short label text of @action. + + the short label text. + + + + + Sets the tooltip text on @action + + + + + + the tooltip text + + + + + + Gets the tooltip text of @action. + + the tooltip text + + + + + Sets the stock id on @action + + + + + + the stock id + + + + + + Gets the stock id of @action. + + the stock id + + + + + Sets the icon of @action. + + + + + + the #GIcon to set + + + + + + Gets the gicon of @action. + + The action's #GIcon if one is set. + + + + + Sets the icon name on @action + + + + + + the icon name to set + + + + + + Gets the icon name of @action. + + the icon name + + + + + Sets whether @action is visible when horizontal + + + + + + whether the action is visible horizontally + + + + + + Checks whether @action is visible when horizontal + + whether @action is visible when horizontal + + + + + Sets whether @action is visible when vertical + + + + + + whether the action is visible vertically + + + + + + Checks whether @action is visible when horizontal + + whether @action is visible when horizontal + + + + + Sets whether the action is important, this attribute is used +primarily by toolbar items to decide whether to show a label +or not. + + + + + + %TRUE to make the action important + + + + + + Checks whether @action is important or not + + whether @action is important + + + + + Sets whether @action<!-- -->'s menu item proxies will ignore the +#GtkSettings:gtk-menu-images setting and always show their image, if available. +Use this if the menu item would be useless or hard to use +without their image. + + + + + + %TRUE if menuitem proxies should always show their image + + + + + + Returns whether @action<!-- -->'s menu item proxies will ignore the +#GtkSettings:gtk-menu-images setting and always show their image, +if available. + + %TRUE if the menu item proxies will always show their image + + + + + + + + If %TRUE, the action's menu item proxies will ignore the #GtkSettings:gtk-menu-images +setting and always show their image, if available. +Use this property if the menu item would be useless or hard to use +without their image. + + + + The #GIcon displayed in the #GtkAction. +Note that the stock icon is preferred, if the #GtkAction:stock-id +property holds the id of an existing stock icon. +This is an appearance property and thus only applies if +#GtkActivatable:use-action-appearance is %TRUE. + + + + + + + The name of the icon from the icon theme. +Note that the stock icon is preferred, if the #GtkAction:stock-id +property holds the id of an existing stock icon, and the #GIcon is +preferred if the #GtkAction:gicon property is set. +This is an appearance property and thus only applies if +#GtkActivatable:use-action-appearance is %TRUE. + + + + + + + The label used for menu items and buttons that activate +this action. If the label is %NULL, GTK+ uses the stock +label specified via the stock-id property. +This is an appearance property and thus only applies if +#GtkActivatable:use-action-appearance is %TRUE. + + + + + + + + + + A shorter label that may be used on toolbar buttons. +This is an appearance property and thus only applies if +#GtkActivatable:use-action-appearance is %TRUE. + + + + The stock icon displayed in widgets representing this action. +This is an appearance property and thus only applies if +#GtkActivatable:use-action-appearance is %TRUE. + + + + + + + + + + + + + When %TRUE, toolitem proxies for this action are represented in the +toolbar overflow menu. + + + + + + + + + + + + + The "activate" signal is emitted when the action is activated. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + a menu item connected to the action. + + + + + + + + + + + + + a toolbar item connected to the action. + + + + + + + + + + + + + + + + + + + + the proxy widget + + + + + + + + + + + + + + + + the proxy widget + + + + + + + + + the menu item provided by the action, or %NULL. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Creates a new #GtkActionGroup object. The name of the action group +is used when associating <link linkend="Action-Accel">keybindings</link> +with the actions. + + the new #GtkActionGroup + + + + + the name of the action group. + + + + + + Looks up an action in the action group by name. + + the action, or %NULL if no action by that name exists + + + + + the name of the action + + + + + + Gets the name of the action group. + + the name of the action group. + + + + + Returns %TRUE if the group is sensitive. The constituent actions +can only be logically sensitive (see gtk_action_is_sensitive()) if +they are sensitive (see gtk_action_get_sensitive()) and their group +is sensitive. + + %TRUE if the group is sensitive. + + + + + Changes the sensitivity of @action_group + + + + + + new sensitivity + + + + + + Returns %TRUE if the group is visible. The constituent actions +can only be logically visible (see gtk_action_is_visible()) if +they are visible (see gtk_action_get_visible()) and their group +is visible. + + %TRUE if the group is visible. + + + + + Changes the visible of @action_group. + + + + + + new visiblity + + + + + + Looks up an action in the action group by name. + + the action, or %NULL if no action by that name exists + + + + + the name of the action + + + + + + Lists the actions in the action group. + + an allocated list of the action objects in the action group + + + + + + + Adds an action object to the action group. Note that this function +does not set up the accel path of the action, which can lead to problems +if a user tries to modify the accelerator of a menuitem associated with +the action. Therefore you must either set the accel path yourself with +gtk_action_set_accel_path(), or use +<literal>gtk_action_group_add_action_with_accel (..., NULL)</literal>. + + + + + + an action + + + + + + Adds an action object to the action group and sets up the accelerator. +If @accelerator is %NULL, attempts to use the accelerator associated +with the stock_id of the action. +Accel paths are set to +<literal>&lt;Actions&gt;/<replaceable>group-name</replaceable>/<replaceable>action-name</replaceable></literal>. + + + + + + the action to add + + + + the accelerator for the action, in the format understood by gtk_accelerator_parse(), or "" for no accelerator, or %NULL to use the stock accelerator + + + + + + Removes an action object from the action group. + + + + + + an action + + + + + + This is a convenience function to create a number of actions and add them +to the action group. +The "activate" signals of the actions are connected to the callbacks and +their accel paths are set to +<literal>&lt;Actions&gt;/<replaceable>group-name</replaceable>/<replaceable>action-name</replaceable></literal>. + + + + + + an array of action descriptions + + + + the number of entries + + + + data to pass to the action callbacks + + + + + + This is a convenience function to create a number of toggle actions and add them +to the action group. +The "activate" signals of the actions are connected to the callbacks and +their accel paths are set to +<literal>&lt;Actions&gt;/<replaceable>group-name</replaceable>/<replaceable>action-name</replaceable></literal>. + + + + + + an array of toggle action descriptions + + + + the number of entries + + + + data to pass to the action callbacks + + + + + + This is a convenience routine to create a group of radio actions and +add them to the action group. +The "changed" signal of the first radio action is connected to the +<literal>&lt;Actions&gt;/<replaceable>group-name</replaceable>/<replaceable>action-name</replaceable></literal>. + + + + + + an array of radio action descriptions + + + + the number of entries + + + + the value of the action to activate initially, or -1 if no action should be activated + + + + the callback to connect to the changed signal + + + + data to pass to the action callbacks + + + + + + This variant of gtk_action_group_add_actions() adds a #GDestroyNotify +callback for @user_data. + + + + + + an array of action descriptions + + + + the number of entries + + + + data to pass to the action callbacks + + + + destroy notification callback for @user_data + + + + + + This variant of gtk_action_group_add_toggle_actions() adds a +#GDestroyNotify callback for @user_data. + + + + + + an array of toggle action descriptions + + + + the number of entries + + + + data to pass to the action callbacks + + + + destroy notification callback for @user_data + + + + + + This variant of gtk_action_group_add_radio_actions() adds a +#GDestroyNotify callback for @user_data. + + + + + + an array of radio action descriptions + + + + the number of entries + + + + the value of the action to activate initially, or -1 if no action should be activated + + + + the callback to connect to the changed signal + + + + data to pass to the action callbacks + + + + destroy notification callback for @user_data + + + + + + Sets a function to be used for translating the @label and @tooltip of +#GtkActionGroupEntry<!-- -->s added by gtk_action_group_add_actions(). +If you're using gettext(), it is enough to set the translation domain +with gtk_action_group_set_translation_domain(). + + + + + + a #GtkTranslateFunc + + + + data to be passed to @func and @notify + + + + a #GDestroyNotify function to be called when @action_group is destroyed and when the translation function is changed again + + + + + + Sets the translation domain and uses g_dgettext() for translating the +gtk_action_group_add_actions(). +If you're not using gettext() for localization, see +gtk_action_group_set_translate_func(). + + + + + + the translation domain to use for g_dgettext() calls + + + + + + Translates a string using the specified translate_func(). This +is mainly intended for language bindings. + + the translation of @string + + + + + a string + + + + + + + + + + + + + + + + + + + + + The ::connect-proxy signal is emitted after connecting a proxy to +an action in the group. Note that the proxy may have been connected +to a different action before. +This is intended for simple customizations for which a custom action +class would be too clumsy, e.g. showing tooltips for menuitems in the +statusbar. +#GtkUIManager proxies the signal and provides global notification +just before any action is connected to a proxy, which is probably more +convenient to use. + + + + + + the action + + + + the proxy + + + + + + The ::disconnect-proxy signal is emitted after disconnecting a proxy +from an action in the group. +#GtkUIManager proxies the signal and provides global notification +just before any action is connected to a proxy, which is probably more +convenient to use. + + + + + + the action + + + + the proxy + + + + + + The ::post-activate signal is emitted just after the @action in the +This is intended for #GtkUIManager to proxy the signal and provide global +notification just after any action is activated. + + + + + + the action + + + + + + The ::pre-activate signal is emitted just before the @action in the +This is intended for #GtkUIManager to proxy the signal and provide global +notification just before any action is activated. + + + + + + the action + + + + + + + + + + + + + the action, or %NULL if no action by that name exists + + + + + + + + the name of the action + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + This is called to update the activatable completely, this is called +internally when the #GtkActivatable::related-action property is set +or unset and by the implementing class when +#GtkActivatable::use-action-appearance changes. + + + + + + the related #GtkAction or %NULL + + + + + + This is called to update the activatable completely, this is called +internally when the #GtkActivatable::related-action property is set +or unset and by the implementing class when +#GtkActivatable::use-action-appearance changes. + + + + + + the related #GtkAction or %NULL + + + + + + Sets the related action on the @activatable object. +<note><para>#GtkActivatable implementors need to handle the #GtkActivatable:related-action +property and call gtk_activatable_do_set_related_action() when it changes.</para></note> + + + + + + the #GtkAction to set + + + + + + Gets the related #GtkAction for @activatable. + + the related #GtkAction if one is set. + + + + + Sets whether this activatable should reset its layout and appearance +when setting the related action or when the action changes appearance +<note><para>#GtkActivatable implementors need to handle the +#GtkActivatable:use-action-appearance property and call +gtk_activatable_sync_action_properties() to update @activatable +if needed.</para></note> + + + + + + whether to use the actions appearance + + + + + + Gets whether this activatable should reset its layout +and appearance when setting the related action or when +the action changes appearance. + + whether @activatable uses its actions appearance. + + + + + This is a utility function for #GtkActivatable implementors. +When implementing #GtkActivatable you must call this when +handling changes of the #GtkActivatable:related-action, and +you must also use this to break references in #GObject->dispose(). +This function adds a reference to the currently set related +action for you, it also makes sure the #GtkActivatable->update() +method is called when the related #GtkAction properties change +and registers to the action's proxy list. +<note><para>Be careful to call this before setting the local +copy of the #GtkAction property, since this function uses +gtk_activatable_get_action() to retrieve the previous action</para></note> + + + + + + the #GtkAction to set + + + + + + The action that this activatable will activate and receive +updates from for various states and possibly appearance. +<note><para>#GtkActivatable implementors need to handle the this property and +call gtk_activatable_do_set_related_action() when it changes.</para></note> + + + + Whether this activatable should reset its layout +and appearance when setting the related action or when +the action changes appearance. +See the #GtkAction documentation directly to find which properties +should be ignored by the #GtkActivatable when this property is %FALSE. +<note><para>#GtkActivatable implementors need to handle this property +and call gtk_activatable_sync_action_properties() on the activatable +widget when it changes.</para></note> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + the related #GtkAction or %NULL + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Gets the current value of the adjustment. See +gtk_adjustment_set_value (). + + The current value of the adjustment. + + + + + + + + + + + + + + + Retrieves the minimum value of the adjustment. + + The current minimum value of the adjustment. + + + + + Sets the minimum value of the adjustment. +When setting multiple adjustment properties via their individual +setters, multiple "changed" signals will be emitted. However, since +the emission of the "changed" signal is tied to the emission of the +"GObject::notify" signals of the changed properties, it's possible +to compress the "changed" signals into one by calling +g_object_freeze_notify() and g_object_thaw_notify() around the +calls to the individual setters. +Alternatively, using a single g_object_set() for all the properties +to change, or using gtk_adjustment_configure() has the same effect +of compressing "changed" emissions. + + + + + + the new minimum value + + + + + + Retrieves the maximum value of the adjustment. + + The current maximum value of the adjustment. + + + + + Sets the maximum value of the adjustment. +Note that values will be restricted by +<literal>upper - page-size</literal> if the page-size +property is nonzero. +See gtk_adjustment_set_lower() about how to compress multiple +emissions of the "changed" signal when setting multiple adjustment +properties. + + + + + + the new maximum value + + + + + + Retrieves the step increment of the adjustment. + + The current step increment of the adjustment. + + + + + Sets the step increment of the adjustment. +See gtk_adjustment_set_lower() about how to compress multiple +emissions of the "changed" signal when setting multiple adjustment +properties. + + + + + + the new step increment + + + + + + Retrieves the page increment of the adjustment. + + The current page increment of the adjustment. + + + + + Sets the page increment of the adjustment. +See gtk_adjustment_set_lower() about how to compress multiple +emissions of the "changed" signal when setting multiple adjustment +properties. + + + + + + the new page increment + + + + + + Retrieves the page size of the adjustment. + + The current page size of the adjustment. + + + + + Sets the page size of the adjustment. +See gtk_adjustment_set_lower() about how to compress multiple +emissions of the "changed" signal when setting multiple adjustment +properties. + + + + + + the new page size + + + + + + Sets all properties of the adjustment at once. +Use this function to avoid multiple emissions of the "changed" +signal. See gtk_adjustment_set_lower() for an alternative way +of compressing multiple emissions of "changed" into one. + + + + + + the new value + + + + the new minimum value + + + + the new maximum value + + + + the new step increment + + + + the new page increment + + + + the new page size + + + + + + The minimum value of the adjustment. + + + + The page increment of the adjustment. + + + + The page size of the adjustment. +Note that the page-size is irrelevant and should be set to zero +if the adjustment is used for a simple scalar value, e.g. in a +#GtkSpinButton. + + + + The step increment of the adjustment. + + + + The maximum value of the adjustment. +Note that values will be restricted by +<literal>upper - page-size</literal> if the page-size +property is nonzero. + + + + The value of the adjustment. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Creates a new #GtkAlignment. + + the new #GtkAlignment. + + + + + the horizontal alignment of the child widget, from 0 (left) to 1 (right). + + + + the vertical alignment of the child widget, from 0 (top) to 1 (bottom). + + + + the amount that the child widget expands horizontally to fill up unused space, from 0 to 1. A value of 0 indicates that the child widget should never expand. A value of 1 indicates that the child widget will expand to fill all of the space allocated for the #GtkAlignment. + + + + the amount that the child widget expands vertically to fill up unused space, from 0 to 1. The values are similar to @xscale. + + + + + + Sets the #GtkAlignment values. + + + + + + the horizontal alignment of the child widget, from 0 (left) to 1 (right). + + + + the vertical alignment of the child widget, from 0 (top) to 1 (bottom). + + + + the amount that the child widget expands horizontally to fill up unused space, from 0 to 1. A value of 0 indicates that the child widget should never expand. A value of 1 indicates that the child widget will expand to fill all of the space allocated for the #GtkAlignment. + + + + the amount that the child widget expands vertically to fill up unused space, from 0 to 1. The values are similar to @xscale. + + + + + + Sets the padding on the different sides of the widget. +The padding adds blank space to the sides of the widget. For instance, +this can be used to indent the child widget towards the right by adding +padding on the left. + + + + + + the padding at the top of the widget + + + + the padding at the bottom of the widget + + + + the padding at the left of the widget + + + + the padding at the right of the widget. + + + + + + Gets the padding on the different sides of the widget. +See gtk_alignment_set_padding (). + + + + + + location to store the padding for the top of the widget, or %NULL + + + + location to store the padding for the bottom of the widget, or %NULL + + + + location to store the padding for the left of the widget, or %NULL + + + + location to store the padding for the right of the widget, or %NULL + + + + + + The padding to insert at the bottom of the widget. + + + + The padding to insert at the left of the widget. + + + + The padding to insert at the right of the widget. + + + + The padding to insert at the top of the widget. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Creates a new #GtkArrow widget. + + the new #GtkArrow widget. + + + + + a valid #GtkArrowType. + + + + a valid #GtkShadowType. + + + + + + Sets the direction and style of the #GtkArrow, @arrow. + + + + + + a valid #GtkArrowType. + + + + a valid #GtkShadowType. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Create a new #GtkAspectFrame. + + the new #GtkAspectFrame. + + + + + Label text. + + + + Horizontal alignment of the child within the allocation of the #GtkAspectFrame. This ranges from 0.0 (left aligned) to 1.0 (right aligned) + + + + Vertical alignment of the child within the allocation of the #GtkAspectFrame. This ranges from 0.0 (left aligned) to 1.0 (right aligned) + + + + The desired aspect ratio. + + + + If %TRUE, @ratio is ignored, and the aspect ratio is taken from the requistion of the child. + + + + + + Set parameters for an existing #GtkAspectFrame. + + + + + + Horizontal alignment of the child within the allocation of the #GtkAspectFrame. This ranges from 0.0 (left aligned) to 1.0 (right aligned) + + + + Vertical alignment of the child within the allocation of the #GtkAspectFrame. This ranges from 0.0 (left aligned) to 1.0 (right aligned) + + + + The desired aspect ratio. + + + + If %TRUE, @ratio is ignored, and the aspect ratio is taken from the requistion of the child. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Creates a new #GtkAssistant. + + a newly created #GtkAssistant + + + + + Returns the page number of the current page +the @assistant, if the @assistant has no pages, -1 will be returned + + The index (starting from 0) of the current page in + + + + + Switches the page to @page_num. Note that this will only be necessary +in custom buttons, as the @assistant flow can be set with +gtk_assistant_set_forward_page_func(). + + + + + + index of the page to switch to, starting from 0. If negative, the last page will be used. If greater than the number of pages in the @assistant, nothing will be done. + + + + + + Returns the number of pages in the @assistant + + The number of pages in the @assistant. + + + + + Returns the child widget contained in page number @page_num. + + The child widget, or %NULL if @page_num is out of bounds. + + + + + The index of a page in the @assistant, or -1 to get the last page; + + + + + + Prepends a page to the @assistant. + + the index (starting at 0) of the inserted page + + + + + a #GtkWidget + + + + + + Appends a page to the @assistant. + + the index (starting at 0) of the inserted page + + + + + a #GtkWidget + + + + + + Inserts a page in the @assistant at a given position. + + the index (starting from 0) of the inserted page + + + + + a #GtkWidget + + + + the index (starting at 0) at which to insert the page, or -1 to append the page to the @assistant + + + + + + Sets the page forwarding function to be @page_func, this function will +be used to determine what will be the next page when the user presses +the forward button. Setting @page_func to %NULL will make the assistant +to use the default forward function, which just goes to the next visible +page. + + + + + + the #GtkAssistantPageFunc, or %NULL to use the default one + + + + user data for @page_func + + + + destroy notifier for @data + + + + + + Sets the page type for @page. The page type determines the page +behavior in the @assistant. + + + + + + a page of @assistant + + + + the new type for @page + + + + + + Gets the page type of @page. + + the page type of @page. + + + + + a page of @assistant + + + + + + Sets a title for @page. The title is displayed in the header +area of the assistant when @page is the current page. + + + + + + a page of @assistant + + + + the new title for @page + + + + + + Gets the title for @page. + + the title for @page. + + + + + a page of @assistant + + + + + + Sets a header image for @page. This image is displayed in the header +area of the assistant when @page is the current page. + + + + + + a page of @assistant + + + + the new header image @page + + + + + + Gets the header image for @page. +if there's no header image for the page. + + the header image for @page, or %NULL + + + + + a page of @assistant + + + + + + Sets a header image for @page. This image is displayed in the side +area of the assistant when @page is the current page. + + + + + + a page of @assistant + + + + the new header image @page + + + + + + Gets the header image for @page. +if there's no side image for the page. + + the side image for @page, or %NULL + + + + + a page of @assistant + + + + + + Sets whether @page contents are complete. This will make + + + + + + a page of @assistant + + + + the completeness status of the page + + + + + + Gets whether @page is complete. + + %TRUE if @page is complete. + + + + + a page of @assistant + + + + + + Adds a widget to the action area of a #GtkAssistant. + + + + + + a #GtkWidget + + + + + + Removes a widget from the action area of a #GtkAssistant. + + + + + + a #GtkWidget + + + + + + Forces @assistant to recompute the buttons state. +GTK+ automatically takes care of this in most situations, +e.g. when the user goes to a different page, or when the +visibility or completeness of a page changes. +One situation where it can be necessary to call this +function is when changing a value on the current page +affects the future page flow of the assistant. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The ::apply signal is emitted when the apply button is clicked. The default +behavior of the #GtkAssistant is to switch to the page after the current +page, unless the current page is the last one. +A handler for the ::apply signal should carry out the actions for which +the wizard has collected data. If the action takes a long time to complete, +you might consider to put a page of type %GTK_ASSISTANT_PAGE_PROGRESS +after the confirmation page and handle this operation within the +#GtkAssistant::prepare signal of the progress page. + + + + + + The ::cancel signal is emitted when then the cancel button is clicked. + + + + + + The ::close signal is emitted either when the close button of +a summary page is clicked, or when the apply button in the last +page in the flow (of type %GTK_ASSISTANT_PAGE_CONFIRM) is clicked. + + + + + + The ::prepare signal is emitted when a new page is set as the assistant's +current page, before making the new page visible. A handler for this signal +can do any preparation which are necessary before showing @page. + + + + + + the current page + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A function used by gtk_assistant_set_forward_page_func() to know which +is the next page given a current one. It's called both for computing the +next page when the user presses the "forward" button and for handling +the behavior of the "last" button. + + The next page number. + + + + + The page number used to calculate the next page. + + + + user data. + + + + + + An enum for determining the page role inside the #GtkAssistant. It's +used to handle buttons sensitivity and visibility. +Note that an assistant needs to end its page flow with a page of type +%GTK_ASSISTANT_PAGE_CONFIRM or %GTK_ASSISTANT_PAGE_SUMMARY to be correct. + + + + + + + + + + + + + + + + + + + + + + + + Gets the child of the #GtkBin, or %NULL if the bin contains +no child widget. The returned widget does not have a reference +added, so you do not need to unref it. + + pointer to child of the #GtkBin + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + GTK+ maintains a global list of binding sets. Each binding set has +a unique name which needs to be specified upon creation. + + new binding set + + + + + unique name of this binding set + + + + + + Find a key binding matching @keyval and @modifiers within + + %TRUE if a binding was found and activated + + + + + key value of the binding + + + + key modifier of the binding + + + + object to activate when binding found + + + + + + This function is used internally by the GtkRC parsing mechanism to +assign match patterns to #GtkBindingSet structures. + + + + + + path type the pattern applies to + + + + the actual match pattern + + + + binding priority + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Allocates a new #GtkBorder structure and initializes its elements to zero. +freed with gtk_border_free() + + a new empty #GtkBorder. The newly allocated #GtkBorder should be + + + + + Copies a #GtkBorder structure. + + a copy of @border_. + + + + + Frees a #GtkBorder structure. + + + + + + + + + + + Adds @child to @box, packed with reference to the start of @box. +The @child is packed after any other child packed with reference +to the start of @box. + + + + + + the #GtkWidget to be added to @box + + + + %TRUE if the new child is to be given extra space allocated to + + + + %TRUE if space given to @child by the @expand option is actually allocated to @child, rather than just padding it. This parameter has no effect if @expand is set to %FALSE. A child is always allocated the full height of a #GtkHBox and the full width of a #GtkVBox. This option affects the other dimension + + + + extra space in pixels to put between this child and its neighbors, over and above the global amount specified by #GtkBox:spacing property. If @child is a widget at one of the reference ends of @box, then @padding pixels are also put between + + + + + + Adds @child to @box, packed with reference to the end of @box. +The @child is packed after (away from end of) any other child +packed with reference to the end of @box. + + + + + + the #GtkWidget to be added to @box + + + + %TRUE if the new child is to be given extra space allocated to @box. The extra space will be divided evenly between all children of @box that use this option + + + + %TRUE if space given to @child by the @expand option is actually allocated to @child, rather than just padding it. This parameter has no effect if @expand is set to %FALSE. A child is always allocated the full height of a #GtkHBox and the full width of a #GtkVBox. This option affects the other dimension + + + + extra space in pixels to put between this child and its neighbors, over and above the global amount specified by #GtkBox:spacing property. If @child is a widget at one of the reference ends of @box, then @padding pixels are also put between + + + + + + Adds @widget to @box, packed with reference to the start of @box. +The child is packed after any other child packed with reference +to the start of @box. +Parameters for how to pack the child @widget, #GtkBox:expand, +#GtkBox:fill and #GtkBox:padding, are given their default +values, %TRUE, %TRUE, and 0, respectively. + + + + + + the #GtkWidget to be added to @box + + + + + + Adds @widget to @box, packed with reference to the end of @box. +The child is packed after any other child packed with reference +to the start of @box. +Parameters for how to pack the child @widget, #GtkBox:expand, +#GtkBox:fill and #GtkBox:padding, are given their default +values, %TRUE, %TRUE, and 0, respectively. + + + + + + the #GtkWidget to be added to @box + + + + + + Sets the #GtkBox:homogeneous property of @box, controlling +whether or not all children of @box are given equal space +in the box. + + + + + + a boolean value, %TRUE to create equal allotments, %FALSE for variable allotments + + + + + + Returns whether the box is homogeneous (all children are the +same size). See gtk_box_set_homogeneous(). + + %TRUE if the box is homogeneous. + + + + + Sets the #GtkBox:spacing property of @box, which is the +number of pixels to place between children of @box. + + + + + + the number of pixels to put between children + + + + + + Gets the value set by gtk_box_set_spacing(). + + spacing between children + + + + + Moves @child to a new @position in the list of @box children. +The list is the <structfield>children</structfield> field of +#GtkBox-struct, and contains both widgets packed #GTK_PACK_START +as well as widgets packed #GTK_PACK_END, in the order that these +widgets were added to @box. +A widget's position in the @box children list determines where +the widget is packed into @box. A child widget at some position +in the list will be packed just after all other widgets of the +same packing type that appear earlier in the list. + + + + + + the #GtkWidget to move + + + + the new position for @child in the list of children of @box, starting from 0. If negative, indicates the end of the list + + + + + + Obtains information about how @child is packed into @box. + + + + + + the #GtkWidget of the child to query + + + + pointer to return location for #GtkBox:expand child property + + + + pointer to return location for #GtkBox:fill child property + + + + pointer to return location for #GtkBox:padding child property + + + + pointer to return location for #GtkBox:pack-type child property + + + + + + Sets the way @child is packed into @box. + + + + + + the #GtkWidget of the child to set + + + + the new value of the #GtkBox:expand child property + + + + the new value of the #GtkBox:fill child property + + + + the new value of the #GtkBox:padding child property + + + + the new value of the #GtkBox:pack-type child property + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Sets the name of the @buildable object. + + + + + + name to set + + + + + + Gets the name of the @buildable object. +#GtkBuilder sets the name based on the the +<link linkend="BUILDER-UI">GtkBuilder UI definition</link> +used to construct the @buildable. + + the name set with gtk_buildable_set_name() + + + + + Adds a child to @buildable. @type is an optional string +describing how the child should be added. + + + + + + a #GtkBuilder + + + + child to add + + + + kind of child or %NULL + + + + + + Sets the property name @name to @value on the @buildable object. + + + + + + a #GtkBuilder + + + + name of property + + + + value of property + + + + + + Constructs a child of @buildable with the name @name. +#GtkBuilder calls this function if a "constructor" has been +specified in the UI definition. + + the constructed child + + + + + #GtkBuilder used to construct this object + + + + name of child to construct + + + + + + This is called for each unknown element under &lt;child&gt;. +if it doesn't. + + %TRUE if a object has a custom implementation, %FALSE + + + + + a #GtkBuilder used to construct this object + + + + child object or %NULL for non-child tags + + + + name of tag + + + + a #GMarkupParser structure to fill in + + + + return location for user data that will be passed in to parser functions + + + + + + This is called at the end of each custom element handled by +the buildable. + + + + + + #GtkBuilder used to construct this object + + + + child object or %NULL for non-child tags + + + + name of tag + + + + user data that will be passed in to parser functions + + + + + + This is similar to gtk_buildable_parser_finished() but is +called once for each custom tag handled by the @buildable. + + + + + + a #GtkBuilder + + + + child object or %NULL for non-child tags + + + + the name of the tag + + + + user data created in custom_tag_start + + + + + + Called when the builder finishes the parsing of a +<link linkend="BUILDER-UI">GtkBuilder UI definition</link>. +Note that this will be called once for each time +gtk_builder_add_from_file() or gtk_builder_add_from_string() +is called on a builder. + + + + + + a #GtkBuilder + + + + + + Get the internal child called @childname of the @buildable object. + + the internal child of the buildable object + + + + + a #GtkBuilder + + + + name of child + + + + + + Sets the name of the @buildable object. + + + + + + name to set + + + + + + Gets the name of the @buildable object. +#GtkBuilder sets the name based on the the +<link linkend="BUILDER-UI">GtkBuilder UI definition</link> +used to construct the @buildable. + + the name set with gtk_buildable_set_name() + + + + + Adds a child to @buildable. @type is an optional string +describing how the child should be added. + + + + + + a #GtkBuilder + + + + child to add + + + + kind of child or %NULL + + + + + + Sets the property name @name to @value on the @buildable object. + + + + + + a #GtkBuilder + + + + name of property + + + + value of property + + + + + + Constructs a child of @buildable with the name @name. +#GtkBuilder calls this function if a "constructor" has been +specified in the UI definition. + + the constructed child + + + + + #GtkBuilder used to construct this object + + + + name of child to construct + + + + + + This is called for each unknown element under &lt;child&gt;. +if it doesn't. + + %TRUE if a object has a custom implementation, %FALSE + + + + + a #GtkBuilder used to construct this object + + + + child object or %NULL for non-child tags + + + + name of tag + + + + a #GMarkupParser structure to fill in + + + + return location for user data that will be passed in to parser functions + + + + + + This is called at the end of each custom element handled by +the buildable. + + + + + + #GtkBuilder used to construct this object + + + + child object or %NULL for non-child tags + + + + name of tag + + + + user data that will be passed in to parser functions + + + + + + This is similar to gtk_buildable_parser_finished() but is +called once for each custom tag handled by the @buildable. + + + + + + a #GtkBuilder + + + + child object or %NULL for non-child tags + + + + the name of the tag + + + + user data created in custom_tag_start + + + + + + Called when the builder finishes the parsing of a +<link linkend="BUILDER-UI">GtkBuilder UI definition</link>. +Note that this will be called once for each time +gtk_builder_add_from_file() or gtk_builder_add_from_string() +is called on a builder. + + + + + + a #GtkBuilder + + + + + + Get the internal child called @childname of the @buildable object. + + the internal child of the buildable object + + + + + a #GtkBuilder + + + + name of child + + + + + + + The GtkBuildableIface interface contains method that are +necessary to allow #GtkBuilder to construct an object from +a GtkBuilder UI definition. + + + + + + + + + + + + + + name to set + + + + + + + + + the name set with gtk_buildable_set_name() + + + + + + + + + + + + + + + + + + + + a #GtkBuilder + + + + child to add + + + + kind of child or %NULL + + + + + + + + + + + + + + + + a #GtkBuilder + + + + name of property + + + + value of property + + + + + + + + + the constructed child + + + + + + + + #GtkBuilder used to construct this object + + + + name of child to construct + + + + + + + + + %TRUE if a object has a custom implementation, %FALSE + + + + + + + + a #GtkBuilder used to construct this object + + + + child object or %NULL for non-child tags + + + + name of tag + + + + a #GMarkupParser structure to fill in + + + + return location for user data that will be passed in to parser functions + + + + + + + + + + + + + + + + #GtkBuilder used to construct this object + + + + child object or %NULL for non-child tags + + + + name of tag + + + + user data that will be passed in to parser functions + + + + + + + + + + + + + + + + a #GtkBuilder + + + + child object or %NULL for non-child tags + + + + the name of the tag + + + + user data created in custom_tag_start + + + + + + + + + + + + + + + + a #GtkBuilder + + + + + + + + + the internal child of the buildable object + + + + + + + + a #GtkBuilder + + + + name of child + + + + + + + + + Creates a new builder object. + + a new #GtkBuilder object + + + + + Looks up a type by name, using the virtual function that +#GtkBuilder has for that purpose. This is mainly used when +implementing the #GtkBuildable interface on a type. +if no type was found + + the #GType found for @type_name or #G_TYPE_INVALID + + + + + type name to lookup + + + + + + Parses a file containing a <link linkend="BUILDER-UI">GtkBuilder +UI definition</link> and merges it with the current contents of @builder. +Upon errors 0 will be returned and @error will be assigned a +#GError from the #GTK_BUILDER_ERROR, #G_MARKUP_ERROR or #G_FILE_ERROR +domain. + + A positive value on success, 0 if an error occurred + + + + + the name of the file to parse + + + + + + Parses a string containing a <link linkend="BUILDER-UI">GtkBuilder +UI definition</link> and merges it with the current contents of @builder. +Upon errors 0 will be returned and @error will be assigned a +#GError from the #GTK_BUILDER_ERROR or #G_MARKUP_ERROR domain. + + A positive value on success, 0 if an error occurred + + + + + the string to parse + + + + the length of @buffer (may be -1 if @buffer is nul-terminated) + + + + + + Parses a file containing a <link linkend="BUILDER-UI">GtkBuilder +UI definition</link> building only the requested objects and merges +them with the current contents of @builder. +Upon errors 0 will be returned and @error will be assigned a +#GError from the #GTK_BUILDER_ERROR, #G_MARKUP_ERROR or #G_FILE_ERROR +domain. +<note><para> +If you are adding an object that depends on an object that is not +its child (for instance a #GtkTreeView that depends on its +#GtkTreeModel), you have to explicitely list all of them in @object_ids. +</para></note> + + A positive value on success, 0 if an error occurred + + + + + the name of the file to parse + + + + nul-terminated array of objects to build + + + + + + + + Parses a string containing a <link linkend="BUILDER-UI">GtkBuilder +UI definition</link> building only the requested objects and merges +them with the current contents of @builder. +Upon errors 0 will be returned and @error will be assigned a +#GError from the #GTK_BUILDER_ERROR or #G_MARKUP_ERROR domain. +<note><para> +If you are adding an object that depends on an object that is not +its child (for instance a #GtkTreeView that depends on its +#GtkTreeModel), you have to explicitely list all of them in @object_ids. +</para></note> + + A positive value on success, 0 if an error occurred + + + + + the string to parse + + + + the length of @buffer (may be -1 if @buffer is nul-terminated) + + + + nul-terminated array of objects to build + + + + + + + + Gets the object named @name. Note that this function does not +increment the reference count of the returned object. +it could not be found in the object tree. + + the object named @name or %NULL if + + + + + name of object to get + + + + + + Gets all objects that have been constructed by @builder. Note that +this function does not increment the reference counts of the returned +objects. +constructed by the #GtkBuilder instance. It should be freed by +g_slist_free() + + a newly-allocated #GSList containing all the objects + + + + + + + This method is a simpler variation of gtk_builder_connect_signals_full(). +It uses #GModule's introspective features (by opening the module %NULL) +to look at the application's symbol table. From here it tries to match +the signal handler names given in the interface description with +symbols in the application and connects the signals. +Note that this function will not work correctly if #GModule is not +supported on the platform. +When compiling applications for Windows, you must declare signal callbacks +with #G_MODULE_EXPORT, or they will not be put in the symbol table. +On Linux and Unices, this is not necessary; applications should instead +be compiled with the -Wl,--export-dynamic CFLAGS, and linked against +gmodule-export-2.0. + + + + + + a pointer to a structure sent in as user data to all signals + + + + + + This function can be thought of the interpreted language binding +version of gtk_builder_connect_signals(), except that it does not +require GModule to function correctly. + + + + + + the function used to connect the signals + + + + arbitrary data that will be passed to the connection function + + + + + + Sets the translation domain of @builder. +See #GtkBuilder:translation-domain. + + + + + + the translation domain or %NULL + + + + + + Gets the translation domain of @builder. +by the builder object and must not be modified or freed. + + the translation domain. This string is owned + + + + + Looks up a type by name, using the virtual function that +#GtkBuilder has for that purpose. This is mainly used when +implementing the #GtkBuildable interface on a type. +if no type was found + + the #GType found for @type_name or #G_TYPE_INVALID + + + + + type name to lookup + + + + + + This function demarshals a value from a string. This function +calls g_value_init() on the @value argument, so it need not be +initialised beforehand. +This function can handle char, uchar, boolean, int, uint, long, +ulong, enum, flags, float, double, string, #GdkColor and +#GtkAdjustment type values. Support for #GtkWidget type values is +still to come. +Upon errors %FALSE will be returned and @error will be assigned a +#GError from the #GTK_BUILDER_ERROR domain. + + %TRUE on success + + + + + the #GParamSpec for the property + + + + the string representation of the value + + + + the #GValue to store the result in + + + + + + Like gtk_builder_value_from_string(), this function demarshals +a value from a string, but takes a #GType instead of #GParamSpec. +This function calls g_value_init() on the @value argument, so it +need not be initialised beforehand. +Upon errors %FALSE will be returned and @error will be assigned a +#GError from the #GTK_BUILDER_ERROR domain. + + %TRUE on success + + + + + the #GType of the value + + + + the string representation of the value + + + + the #GValue to store the result in + + + + + + + + + + + + + + + + + + + + + + the #GType found for @type_name or #G_TYPE_INVALID + + + + + + + + type name to lookup + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + This is the signature of a function used to connect signals. It is used +by the gtk_builder_connect_signals() and gtk_builder_connect_signals_full() +methods. It is mainly intended for interpreted language bindings, but +could be useful where the programmer wants more control over the signal +connection process. + + + + + + a #GtkBuilder + + + + object to connect a signal to + + + + name of the signal + + + + name of the handler + + + + a #GObject, if non-%NULL, use g_signal_connect_object() + + + + #GConnectFlags to use + + + + user data + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Creates a new #GtkButton containing the image and text from a stock item. +Some stock ids have preprocessor macros like #GTK_STOCK_OK and +#GTK_STOCK_APPLY. +If @stock_id is unknown, then it will be treated as a mnemonic +label (as for gtk_button_new_with_mnemonic()). + + a new #GtkButton + + + + + the name of the stock item + + + + + + Creates a new #GtkButton containing a label. +If characters in @label are preceded by an underscore, they are underlined. +If you need a literal underscore character in a label, use '__' (two +underscores). The first underlined character represents a keyboard +accelerator called a mnemonic. +Pressing Alt and that key activates the button. + + a new #GtkButton + + + + + The text of the button, with an underscore in front of the mnemonic character + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Sets the text of the label of the button to @str. This text is +also used to select the stock item if gtk_button_set_use_stock() +is used. +This will also clear any previously set labels. + + + + + + a string + + + + + + Fetches the text from the label of the button, as set by +gtk_button_set_label(). If the label text has not +been set the return value will be %NULL. This will be the +case if you create an empty button with gtk_button_new() to +use as a container. +by the widget and must not be modified or freed. + + The text of the label widget. This string is owned + + + + + If true, an underline in the text of the button label indicates +the next character should be used for the mnemonic accelerator key. + + + + + + %TRUE if underlines in the text indicate mnemonics + + + + + + Returns whether an embedded underline in the button label indicates a +mnemonic. See gtk_button_set_use_underline (). +indicates the mnemonic accelerator keys. + + %TRUE if an embedded underline in the button label + + + + + If %TRUE, the label set on the button is used as a +stock id to select the stock item for the button. + + + + + + %TRUE if the button should use a stock item + + + + + + Returns whether the button label is a stock item. +select a stock item instead of being +used directly as the label text. + + %TRUE if the button label is used to + + + + + Sets whether the button will grab focus when it is clicked with the mouse. +Making mouse clicks not grab focus is useful in places like toolbars where +you don't want the keyboard focus removed from the main area of the +application. + + + + + + whether the button grabs focus when clicked with the mouse + + + + + + Returns whether the button grabs focus when it is clicked with the mouse. +See gtk_button_set_focus_on_click(). +the mouse. + + %TRUE if the button grabs focus when it is clicked with + + + + + Sets the alignment of the child. This property has no effect unless +the child is a #GtkMisc or a #GtkAligment. + + + + + + the horizontal position of the child, 0.0 is left aligned, 1.0 is right aligned + + + + the vertical position of the child, 0.0 is top aligned, 1.0 is bottom aligned + + + + + + Gets the alignment of the child in the button. + + + + + + return location for horizontal alignment + + + + return location for vertical alignment + + + + + + Set the image of @button to the given widget. Note that +it depends on the #GtkSettings:gtk-button-images setting whether the +image will be displayed or not, you don't have to call +gtk_widget_show() on @image yourself. + + + + + + a widget to set as the image for the button + + + + + + Gets the widget that is currenty set as the image of @button. +This may have been explicitly set by gtk_button_set_image() +or constructed by gtk_button_new_from_stock(). + + a #GtkWidget or %NULL in case there is no image + + + + + Sets the position of the image relative to the text +inside the button. + + + + + + the position + + + + + + Gets the position of the image relative to the text +inside the button. + + the position + + + + + + + + + + + The position of the image relative to the text inside the button. + + + + + + + + + + + + + + + + If the child of the button is a #GtkMisc or #GtkAlignment, this property +can be used to control it's horizontal alignment. 0.0 is left aligned, +1.0 is right aligned. + + + + If the child of the button is a #GtkMisc or #GtkAlignment, this property +can be used to control it's vertical alignment. 0.0 is top aligned, +1.0 is bottom aligned. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The ::activate signal on GtkButton is an action signal and +emitting it causes the button to animate press then release. +Applications should never connect to this signal, but use the +#GtkButton::clicked signal. + + + + + + Emitted when the button has been activated (pressed and released). + + + + + + Emitted when the pointer enters the button. + + + + + + Emitted when the pointer leaves the button. + + + + + + Emitted when the button is pressed. + + + + + + Emitted when the button is released. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Returns whether @child should appear in a secondary group of children. + + whether @child should appear in a secondary group of children. + + + + + a child of @widget + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Prebuilt sets of buttons for the dialog. If +none of these choices are appropriate, simply use %GTK_BUTTONS_NONE +then call gtk_dialog_add_buttons(). +<note> +Please note that %GTK_BUTTONS_OK, %GTK_BUTTONS_YES_NO +and %GTK_BUTTONS_OK_CANCEL are discouraged by the +<ulink url="http://library.gnome.org/devel/hig-book/stable/">GNOME HIG</ulink>. +</note> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Creates a new calendar, with the current date being selected. + + a newly #GtkCalendar widget + + + + + Shifts the calendar to a different month. + + %TRUE, always + + + + + a month number between 0 and 11. + + + + the year the month is in. + + + + + + Selects a day from the current month. + + + + + + the day number between 1 and 31, or 0 to unselect the currently selected day. + + + + + + Places a visual marker on a particular day. + + %TRUE, always + + + + + the day number to mark between 1 and 31. + + + + + + Removes the visual marker from a particular day. + + %TRUE, always + + + + + the day number to unmark between 1 and 31. + + + + + + Remove all visual markers. + + + + + + Sets display options (whether to display the heading and the month +headings). + + + + + + the display options to set + + + + + + Returns the current display options of @calendar. + + the display options. + + + + + Sets display options (whether to display the heading and the month headings). + + + + + + the display options to set. + + + + + + Obtains the selected date from a #GtkCalendar. + + + + + + location to store the year number, or %NULL + + + + location to store the month number (between 0 and 11), or %NULL + + + + location to store the day number (between 1 and 31), or %NULL + + + + + + Installs a function which provides Pango markup with detail information +for each day. Examples for such details are holidays or appointments. That +information is shown below each day when #GtkCalendar:show-details is set. +A tooltip containing with full detail information is provided, if the entire +text should not fit into the details area, or if #GtkCalendar:show-details +is not set. +The size of the details area can be restricted by setting the +#GtkCalendar:detail-width-chars and #GtkCalendar:detail-height-rows +properties. + + + + + + a function providing details for each day. + + + + data to pass to @func invokations. + + + + a function for releasing @data. + + + + + + Updates the width of detail cells. +See #GtkCalendar:detail-width-chars. + + + + + + detail width in characters. + + + + + + Updates the height of detail cells. +See #GtkCalendar:detail-height-rows. + + + + + + detail height in rows. + + + + + + Queries the width of detail cells, in characters. +See #GtkCalendar:detail-width-chars. + + The width of detail cells, in characters. + + + + + Queries the height of detail cells, in rows. +See #GtkCalendar:detail-width-chars. + + The height of detail cells, in rows. + + + + + Does nothing. Previously locked the display of the calendar until +it was thawed with gtk_calendar_thaw(). + + + + + + Does nothing. Previously defrosted a calendar; all the changes made +since the last gtk_calendar_freeze() were displayed. + + + + + + The selected day (as a number between 1 and 31, or 0 +to unselect the currently selected day). +This property gets initially set to the current day. + + + + Height of a detail cell, in rows. +A value of 0 allows any width. See gtk_calendar_set_detail_func(). + + + + Width of a detail cell, in characters. +A value of 0 allows any width. See gtk_calendar_set_detail_func(). + + + + The selected month (as a number between 0 and 11). +This property gets initially set to the current month. + + + + Determines whether the selected month can be changed. + + + + Determines whether day names are displayed. + + + + Determines whether details are shown directly in the widget, or if they are +available only as tooltip. When this property is set days with details are +marked. + + + + Determines whether a heading is displayed. + + + + Determines whether week numbers are displayed. + + + + The selected year. +This property gets initially set to the current year. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + This kind of functions provide Pango markup with detail information for the +specified day. Examples for such details are holidays or appointments. The +function returns %NULL when no information is available. +for the specified day, or %NULL. + + Newly allocated string with Pango markup with details + + + + + a #GtkCalendar. + + + + the year for which details are needed. + + + + the month for which details are needed. + + + + the day of @month for which details are needed. + + + + the data passed with gtk_calendar_set_detail_func(). + + + + + + These options can be used to influence the display and behaviour of a #GtkCalendar. + + + + + + + + + + + The type of the callback functions used for e.g. iterating over +the children of a container, see gtk_container_foreach(). + + + + + + the widget to operate on + + + + user-supplied data + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Begins editing on a @cell_editable. @event is the #GdkEvent that began +the editing process. It may be %NULL, in the instance that editing was +initiated through programatic means. + + + + + + A #GdkEvent, or %NULL + + + + + + Begins editing on a @cell_editable. @event is the #GdkEvent that began +the editing process. It may be %NULL, in the instance that editing was +initiated through programatic means. + + + + + + A #GdkEvent, or %NULL + + + + + + Emits the #GtkCellEditable::editing-done signal. + + + + + + Emits the #GtkCellEditable::remove-widget signal. + + + + + + Indicates whether editing on the cell has been canceled. + + + + This signal is a sign for the cell renderer to update its +value from the @cell_editable. +Implementations of #GtkCellEditable are responsible for +emitting this signal when they are done editing, e.g. +#GtkEntry is emitting it when the user presses Enter. +gtk_cell_editable_editing_done() is a convenience method +for emitting GtkCellEditable::editing-done. + + + + + + This signal is meant to indicate that the cell is finished +editing, and the widget may now be destroyed. +Implementations of #GtkCellEditable are responsible for +emitting this signal when they are done editing. It must +be emitted after the #GtkCellEditable::editing-done signal, +to give the cell renderer a chance to update the cell's value +before the widget is removed. +gtk_cell_editable_remove_widget() is a convenience method +for emitting GtkCellEditable::remove-widget. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A #GdkEvent, or %NULL + + + + + + + + + Packs the @cell into the beginning of @cell_layout. If @expand is %FALSE, +then the @cell is allocated no more space than it needs. Any unused space +is divided evenly between cells for which @expand is %TRUE. +Note that reusing the same cell renderer is not supported. + + + + + + A #GtkCellRenderer. + + + + %TRUE if @cell is to be given extra space allocated to @cell_layout. + + + + + + Adds the @cell to the end of @cell_layout. If @expand is %FALSE, then the +divided evenly between cells for which @expand is %TRUE. +Note that reusing the same cell renderer is not supported. + + + + + + A #GtkCellRenderer. + + + + %TRUE if @cell is to be given extra space allocated to @cell_layout. + + + + + + Unsets all the mappings on all renderers on @cell_layout and +removes all renderers from @cell_layout. + + + + + + Adds an attribute mapping to the list in @cell_layout. The @column is the +column of the model to get a value from, and the @attribute is the +parameter on @cell to be set from the value. So for example if column 2 +of the model contains strings, you could have the "text" attribute of a +#GtkCellRendererText get its values from column 2. + + + + + + A #GtkCellRenderer. + + + + An attribute on the renderer. + + + + The column position on the model to get the attribute from. + + + + + + Sets the #GtkCellLayoutDataFunc to use for @cell_layout. This function +is used instead of the standard attributes mapping for setting the +column value, and should set the value of @cell_layout's cell renderer(s) +as appropriate. @func may be %NULL to remove and older one. + + + + + + A #GtkCellRenderer. + + + + The #GtkCellLayoutDataFunc to use. + + + + The user data for @func. + + + + The destroy notification for @func_data. + + + + + + Clears all existing attributes previously set with +gtk_cell_layout_set_attributes(). + + + + + + A #GtkCellRenderer to clear the attribute mapping on. + + + + + + Re-inserts @cell at @position. Note that @cell has already to be packed +into @cell_layout for this to function properly. + + + + + + A #GtkCellRenderer to reorder. + + + + New position to insert @cell at. + + + + + + Returns the cell renderers which have been added to @cell_layout. +renderers has been newly allocated and should be freed with +g_list_free() when no longer needed. + + a list of cell renderers. The list, but not the + + + + + + + Packs the @cell into the beginning of @cell_layout. If @expand is %FALSE, +then the @cell is allocated no more space than it needs. Any unused space +is divided evenly between cells for which @expand is %TRUE. +Note that reusing the same cell renderer is not supported. + + + + + + A #GtkCellRenderer. + + + + %TRUE if @cell is to be given extra space allocated to @cell_layout. + + + + + + Adds the @cell to the end of @cell_layout. If @expand is %FALSE, then the +divided evenly between cells for which @expand is %TRUE. +Note that reusing the same cell renderer is not supported. + + + + + + A #GtkCellRenderer. + + + + %TRUE if @cell is to be given extra space allocated to @cell_layout. + + + + + + Returns the cell renderers which have been added to @cell_layout. +renderers has been newly allocated and should be freed with +g_list_free() when no longer needed. + + a list of cell renderers. The list, but not the + + + + + + + Unsets all the mappings on all renderers on @cell_layout and +removes all renderers from @cell_layout. + + + + + + Sets the attributes in list as the attributes of @cell_layout. The +attributes should be in attribute/column order, as in +gtk_cell_layout_add_attribute(). All existing attributes are removed, and +replaced with the new attributes. + + + + + + A #GtkCellRenderer. + + + + + + + + + + Adds an attribute mapping to the list in @cell_layout. The @column is the +column of the model to get a value from, and the @attribute is the +parameter on @cell to be set from the value. So for example if column 2 +of the model contains strings, you could have the "text" attribute of a +#GtkCellRendererText get its values from column 2. + + + + + + A #GtkCellRenderer. + + + + An attribute on the renderer. + + + + The column position on the model to get the attribute from. + + + + + + Sets the #GtkCellLayoutDataFunc to use for @cell_layout. This function +is used instead of the standard attributes mapping for setting the +column value, and should set the value of @cell_layout's cell renderer(s) +as appropriate. @func may be %NULL to remove and older one. + + + + + + A #GtkCellRenderer. + + + + The #GtkCellLayoutDataFunc to use. + + + + The user data for @func. + + + + The destroy notification for @func_data. + + + + + + Clears all existing attributes previously set with +gtk_cell_layout_set_attributes(). + + + + + + A #GtkCellRenderer to clear the attribute mapping on. + + + + + + Re-inserts @cell at @position. Note that @cell has already to be packed +into @cell_layout for this to function properly. + + + + + + A #GtkCellRenderer to reorder. + + + + New position to insert @cell at. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A #GtkCellRenderer. + + + + %TRUE if @cell is to be given extra space allocated to @cell_layout. + + + + + + + + + + + + + + + + A #GtkCellRenderer. + + + + %TRUE if @cell is to be given extra space allocated to @cell_layout. + + + + + + + + + + + + + + + + + + + + + + + + + + + + A #GtkCellRenderer. + + + + An attribute on the renderer. + + + + The column position on the model to get the attribute from. + + + + + + + + + + + + + + + + A #GtkCellRenderer. + + + + The #GtkCellLayoutDataFunc to use. + + + + The user data for @func. + + + + The destroy notification for @func_data. + + + + + + + + + + + + + + + + A #GtkCellRenderer to clear the attribute mapping on. + + + + + + + + + + + + + + + + A #GtkCellRenderer to reorder. + + + + New position to insert @cell at. + + + + + + + + + a list of cell renderers. The list, but not the + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Obtains the width and height needed to render the cell. Used by view +widgets to determine the appropriate size for the cell_area passed to +gtk_cell_renderer_render(). If @cell_area is not %NULL, fills in the +x and y offsets (if set) of the cell relative to this location. +Please note that the values set in @width and @height, as well as those +in @x_offset and @y_offset are inclusive of the xpad and ypad properties. + + + + + + the widget the renderer is rendering to + + + + The area a cell will be allocated, or %NULL + + + + location to return x offset of cell relative to @cell_area, or %NULL + + + + location to return y offset of cell relative to @cell_area, or %NULL + + + + location to return width needed to render a cell, or %NULL + + + + location to return height needed to render a cell, or %NULL + + + + + + Invokes the virtual render function of the #GtkCellRenderer. The three +passed-in rectangles are areas of @window. Most renderers will draw within +should be honored with respect to @cell_area. @background_area includes the +blank space around the cell, and also the area containing the tree expander; +so the @background_area rectangles for all cells tile to cover the entire + + + + + + a #GdkDrawable to draw to + + + + the widget owning @window + + + + entire cell area (including tree expanders and maybe padding on the sides) + + + + area normally rendered by a cell renderer + + + + area that actually needs updating + + + + flags that affect rendering + + + + + + Passes an activate event to the cell renderer for possible processing. +Some cell renderers may use events; for example, #GtkCellRendererToggle +toggles when it gets a mouse click. + + %TRUE if the event was consumed/handled + + + + + a #GdkEvent + + + + widget that received the event + + + + widget-dependent string representation of the event location; e.g. for #GtkTreeView, a string representation of #GtkTreePath + + + + background area as passed to gtk_cell_renderer_render() + + + + cell area as passed to gtk_cell_renderer_render() + + + + render flags + + + + + + Passes an activate event to the cell renderer for possible processing. + + A new #GtkCellEditable, or %NULL + + + + + a #GdkEvent + + + + widget that received the event + + + + widget-dependent string representation of the event location; e.g. for #GtkTreeView, a string representation of #GtkTreePath + + + + background area as passed to gtk_cell_renderer_render() + + + + cell area as passed to gtk_cell_renderer_render() + + + + render flags + + + + + + Obtains the width and height needed to render the cell. Used by view +widgets to determine the appropriate size for the cell_area passed to +gtk_cell_renderer_render(). If @cell_area is not %NULL, fills in the +x and y offsets (if set) of the cell relative to this location. +Please note that the values set in @width and @height, as well as those +in @x_offset and @y_offset are inclusive of the xpad and ypad properties. + + + + + + the widget the renderer is rendering to + + + + The area a cell will be allocated, or %NULL + + + + location to return x offset of cell relative to @cell_area, or %NULL + + + + location to return y offset of cell relative to @cell_area, or %NULL + + + + location to return width needed to render a cell, or %NULL + + + + location to return height needed to render a cell, or %NULL + + + + + + Invokes the virtual render function of the #GtkCellRenderer. The three +passed-in rectangles are areas of @window. Most renderers will draw within +should be honored with respect to @cell_area. @background_area includes the +blank space around the cell, and also the area containing the tree expander; +so the @background_area rectangles for all cells tile to cover the entire + + + + + + a #GdkDrawable to draw to + + + + the widget owning @window + + + + entire cell area (including tree expanders and maybe padding on the sides) + + + + area normally rendered by a cell renderer + + + + area that actually needs updating + + + + flags that affect rendering + + + + + + Passes an activate event to the cell renderer for possible processing. +Some cell renderers may use events; for example, #GtkCellRendererToggle +toggles when it gets a mouse click. + + %TRUE if the event was consumed/handled + + + + + a #GdkEvent + + + + widget that received the event + + + + widget-dependent string representation of the event location; e.g. for #GtkTreeView, a string representation of #GtkTreePath + + + + background area as passed to gtk_cell_renderer_render() + + + + cell area as passed to gtk_cell_renderer_render() + + + + render flags + + + + + + Passes an activate event to the cell renderer for possible processing. + + A new #GtkCellEditable, or %NULL + + + + + a #GdkEvent + + + + widget that received the event + + + + widget-dependent string representation of the event location; e.g. for #GtkTreeView, a string representation of #GtkTreePath + + + + background area as passed to gtk_cell_renderer_render() + + + + cell area as passed to gtk_cell_renderer_render() + + + + render flags + + + + + + Sets the renderer size to be explicit, independent of the properties set. + + + + + + the width of the cell renderer, or -1 + + + + the height of the cell renderer, or -1 + + + + + + Fills in @width and @height with the appropriate size of @cell. + + + + + + location to fill in with the fixed width of the cell, or %NULL + + + + location to fill in with the fixed height of the cell, or %NULL + + + + + + Sets the renderer's alignment within its available space. + + + + + + the x alignment of the cell renderer + + + + the y alignment of the cell renderer + + + + + + Fills in @xalign and @yalign with the appropriate values of @cell. + + + + + + location to fill in with the x alignment of the cell, or %NULL + + + + location to fill in with the y alignment of the cell, or %NULL + + + + + + Sets the renderer's padding. + + + + + + the x padding of the cell renderer + + + + the y padding of the cell renderer + + + + + + Fills in @xpad and @ypad with the appropriate values of @cell. + + + + + + location to fill in with the x padding of the cell, or %NULL + + + + location to fill in with the y padding of the cell, or %NULL + + + + + + Sets the cell renderer's visibility. + + + + + + the visibility of the cell + + + + + + Returns the cell renderer's visibility. + + %TRUE if the cell renderer is visible + + + + + Sets the cell renderer's sensitivity. + + + + + + the sensitivity of the cell + + + + + + Returns the cell renderer's sensitivity. + + %TRUE if the cell renderer is sensitive + + + + + Causes the cell renderer to emit the #GtkCellRenderer::editing-canceled +signal. +This function is for use only by implementations of cell renderers that +need to notify the client program that an editing process was canceled +and the changes were not committed. + + + + + + Informs the cell renderer that the editing is stopped. +If @canceled is %TRUE, the cell renderer will emit the +#GtkCellRenderer::editing-canceled signal. +This function should be called by cell renderer implementations +in response to the #GtkCellEditable::editing-done signal of +#GtkCellEditable. + + + + + + %TRUE if the editing has been canceled + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + This signal gets emitted when the user cancels the process of editing a +cell. For example, an editable cell renderer could be written to cancel +editing when the user presses Escape. + + + + + + This signal gets emitted when a cell starts to be edited. +The intended use of this signal is to do special setup +on @editable, e.g. adding a #GtkEntryCompletion or setting +up additional columns in a #GtkComboBox. +Note that GTK+ doesn't guarantee that cell renderers will +continue to use the same kind of widget for editing in future +releases, therefore you should check the type of @editable +before doing any specific setup, as in the following example: +|[ +static void +text_editing_started (GtkCellRenderer *cell, +GtkCellEditable *editable, +const gchar *path, +gpointer data) +{ +if (GTK_IS_ENTRY (editable)) +{ +GtkEntry *entry = GTK_ENTRY (editable); +/&ast; ... create a GtkEntryCompletion &ast;/ +gtk_entry_set_completion (entry, completion); +} +} +]| + + + + + + the #GtkCellEditable + + + + the path identifying the edited cell + + + + + + + + Creates a new #GtkCellRendererAccel. + + the new cell renderer + + + + + The keyval of the accelerator. + + + + Determines if the edited accelerators are GTK+ accelerators. If +they are, consumed modifiers are suppressed, only accelerators +accepted by GTK+ are allowed, and the accelerators are rendered +in the same way as they are in menus. + + + + The modifier mask of the accelerator. + + + + The hardware keycode of the accelerator. Note that the hardware keycode is +only relevant if the key does not have a keyval. Normally, the keyboard +configuration should assign keyvals to all keys. + + + + + + + + + + + + + + + + + + + + + + + + + + + + Gets emitted when the user has removed the accelerator. + + + + + + the path identifying the row of the edited cell + + + + + + Gets emitted when the user has selected a new accelerator. + + + + + + the path identifying the row of the edited cell + + + + the new accelerator keyval + + + + the new acclerator modifier mask + + + + the keycode of the new accelerator + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + the widget the renderer is rendering to + + + + The area a cell will be allocated, or %NULL + + + + location to return x offset of cell relative to @cell_area, or %NULL + + + + location to return y offset of cell relative to @cell_area, or %NULL + + + + location to return width needed to render a cell, or %NULL + + + + location to return height needed to render a cell, or %NULL + + + + + + + + + + + + + + + + a #GdkDrawable to draw to + + + + the widget owning @window + + + + entire cell area (including tree expanders and maybe padding on the sides) + + + + area normally rendered by a cell renderer + + + + area that actually needs updating + + + + flags that affect rendering + + + + + + + + + %TRUE if the event was consumed/handled + + + + + + + + a #GdkEvent + + + + widget that received the event + + + + widget-dependent string representation of the event location; e.g. for #GtkTreeView, a string representation of #GtkTreePath + + + + background area as passed to gtk_cell_renderer_render() + + + + cell area as passed to gtk_cell_renderer_render() + + + + render flags + + + + + + + + + A new #GtkCellEditable, or %NULL + + + + + + + + a #GdkEvent + + + + widget that received the event + + + + widget-dependent string representation of the event location; e.g. for #GtkTreeView, a string representation of #GtkTreePath + + + + background area as passed to gtk_cell_renderer_render() + + + + cell area as passed to gtk_cell_renderer_render() + + + + render flags + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Creates a new #GtkCellRendererCombo. +Adjust how text is drawn using object properties. +Object properties can be set globally (with g_object_set()). +Also, with #GtkTreeViewColumn, you can bind a property to a value +in a #GtkTreeModel. For example, you can bind the "text" property +on the cell renderer to a string value in the model, thus rendering +a different string in each row of the #GtkTreeView. + + the new cell renderer + + + + + + + + Holds a tree model containing the possible values for the combo box. +Use the text_column property to specify the column holding the values. + + + + Specifies the model column which holds the possible values for the +combo box. +Note that this refers to the model specified in the model property, +<emphasis>not</emphasis> the model backing the tree view to which +this cell renderer is attached. +#GtkCellRendererCombo automatically adds a text cell renderer for +this column to its combo box. + + + + + + + + + + + + + + + + + + + This signal is emitted each time after the user selected an item in +the combo box, either by using the mouse or the arrow keys. Contrary +to GtkComboBox, GtkCellRendererCombo::changed is not emitted for +changes made to a selected item in the entry. The argument @new_iter +corresponds to the newly selected item in the combo box and it is relative +to the GtkTreeModel set via the model property on GtkCellRendererCombo. +Note that as soon as you change the model displayed in the tree view, +the tree view will immediately cease the editing operating. This +means that you most probably want to refrain from changing the model +until the combo cell renderer emits the edited or editing_canceled signal. + + + + + + a string of the path identifying the edited cell (relative to the tree view model) + + + + the new iter selected in the combo box (relative to the combo box model) + + + + + + + + + + + + + + + + + + Creates a new #GtkCellRendererPixbuf. Adjust rendering +parameters using object properties. Object properties can be set +globally (with g_object_set()). Also, with #GtkTreeViewColumn, you +can bind a property to a value in a #GtkTreeModel. For example, you +can bind the "pixbuf" property on the cell renderer to a pixbuf value +in the model, thus rendering a different image in each row of the +#GtkTreeView. + + the new cell renderer + + + + + Specifies whether the rendered pixbuf should be colorized +according to the #GtkCellRendererState. + + + + The GIcon representing the icon to display. +If the icon theme is changed, the image will be updated +automatically. + + + + The name of the themed icon to display. +This property only has an effect if not overridden by "stock_id" +or "pixbuf" properties. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Creates a new #GtkCellRendererProgress. + + the new cell renderer + + + + + The "orientation" property controls the direction and growth +direction of the progress bar (left-to-right, right-to-left, +top-to-bottom or bottom-to-top). + + + + Setting this to a non-negative value causes the cell renderer to +enter "activity mode", where a block bounces back and forth to +indicate that some progress is made, without specifying exactly how +much. +Each increment of the property causes the block to move by a little +bit. +To indicate that the activity has not started yet, set the property +to zero. To indicate completion, set the property to %G_MAXINT. + + + + The "text" property determines the label which will be drawn +over the progress bar. Setting this property to %NULL causes the default +label to be displayed. Setting this property to an empty string causes +no label to be displayed. + + + + The "text-xalign" property controls the horizontal alignment of the +text in the progress bar. Valid values range from 0 (left) to 1 +(right). Reserved for RTL layouts. + + + + The "text-yalign" property controls the vertical alignment of the +text in the progress bar. Valid values range from 0 (top) to 1 +(bottom). + + + + The "value" property determines the percentage to which the +progress bar will be "filled in". + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Creates a new #GtkCellRendererSpin. + + a new #GtkCellRendererSpin + + + + + The adjustment that holds the value of the spinbutton. +This must be non-%NULL for the cell renderer to be editable. + + + + The acceleration rate when you hold down a button. + + + + The number of decimal places to display. + + + + + + + + + + + + + + + + + + + + + + + + Pulse of the spinner. Increment this value to draw the next frame of the +spinner animation. Usually, you would update this value in a timeout. +The #GtkSpinner widget draws one full cycle of the animation per second by default. +You can learn about the number of frames used by the theme +by looking at the #GtkSpinner:num-steps style property and the duration +of the cycle by looking at #GtkSpinner:cycle-duration. + + + + The #GtkIconSize value that specifies the size of the rendered spinner. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Creates a new #GtkCellRendererText. Adjust how text is drawn using +object properties. Object properties can be +set globally (with g_object_set()). Also, with #GtkTreeViewColumn, +you can bind a property to a value in a #GtkTreeModel. For example, +you can bind the "text" property on the cell renderer to a string +value in the model, thus rendering a different string in each row +of the #GtkTreeView + + the new cell renderer + + + + + Sets the height of a renderer to explicitly be determined by the "font" and +"y_pad" property set on it. Further changes in these properties do not +affect the height, so they must be accompanied by a subsequent call to this +function. Using this function is unflexible, and should really only be used +if calculating the size of a cell is too slow (ie, a massive number of cells +displayed). If @number_of_rows is -1, then the fixed height is unset, and +the height is determined by the properties again. + + + + + + Number of rows of text each cell renderer is allocated, or -1 + + + + + + + + + Specifies how to align the lines of text with respect to each other. +Note that this property describes how to align the lines of text in +case there are several of them. The "xalign" property of #GtkCellRenderer, +on the other hand, sets the horizontal alignment of the whole text. + + + + + + + + + + + + + + + + + + + + + + Specifies the preferred place to ellipsize the string, if the cell renderer +does not have enough room to display the entire string. Setting it to +%PANGO_ELLIPSIZE_NONE turns off ellipsizing. See the wrap-width property +for another way of making the text fit into a given width. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The desired width of the cell, in characters. If this property is set to +-1, the width will be calculated automatically, otherwise the cell will +request either 3 characters or the property value, whichever is greater. + + + + Specifies how to break the string into multiple lines, if the cell +renderer does not have enough room to display the entire string. +This property has no effect unless the wrap-width property is set. + + + + Specifies the width at which the text is wrapped. The wrap-mode property can +be used to influence at what character positions the line breaks can be placed. +Setting wrap-width to -1 turns wrapping off. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Creates a new #GtkCellRendererToggle. Adjust rendering +parameters using object properties. Object properties can be set +globally (with g_object_set()). Also, with #GtkTreeViewColumn, you +can bind a property to a value in a #GtkTreeModel. For example, you +can bind the "active" property on the cell renderer to a boolean value +in the model, thus causing the check button to reflect the state of +the model. + + the new cell renderer + + + + + Returns whether we're rendering radio toggles rather than checkboxes. + + %TRUE if we're rendering radio toggles rather than checkboxes + + + + + If @radio is %TRUE, the cell renderer renders a radio toggle +(i.e. a toggle in a group of mutually-exclusive toggles). +If %FALSE, it renders a check toggle (a standalone boolean option). +This can be set globally for the cell renderer, or changed just +before rendering each cell in the model (for #GtkTreeView, you set +up a per-row setting using #GtkTreeViewColumn to associate model +columns with cell renderer properties). + + + + + + %TRUE to make the toggle look like a radio button + + + + + + Returns whether the cell renderer is active. See +gtk_cell_renderer_toggle_set_active(). + + %TRUE if the cell renderer is active. + + + + + Activates or deactivates a cell renderer. + + + + + + the value to set. + + + + + + Returns whether the cell renderer is activatable. See +gtk_cell_renderer_toggle_set_activatable(). + + %TRUE if the cell renderer is activatable. + + + + + Makes the cell renderer activatable. + + + + + + the value to set. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The ::toggled signal is emitted when the cell is toggled. + + + + + + string representation of #GtkTreePath describing the event location + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Creates a new #GtkCellView widget. + + A newly created #GtkCellView widget. + + + + + Creates a new #GtkCellView widget, adds a #GtkCellRendererText +to it, and makes its show @text. + + A newly created #GtkCellView widget. + + + + + the text to display in the cell view + + + + + + Creates a new #GtkCellView widget, adds a #GtkCellRendererText +to it, and makes it show @markup. The text can be +marked up with the <link linkend="PangoMarkupFormat">Pango text +markup language</link>. + + A newly created #GtkCellView widget. + + + + + the text to display in the cell view + + + + + + Creates a new #GtkCellView widget, adds a #GtkCellRendererPixbuf +to it, and makes its show @pixbuf. + + A newly created #GtkCellView widget. + + + + + the image to display in the cell view + + + + + + Sets the model for @cell_view. If @cell_view already has a model +set, it will remove it before setting the new model. If @model is +%NULL, then it will unset the old model. + + + + + + a #GtkTreeModel + + + + + + Returns the model for @cell_view. If no model is used %NULL is +returned. + + a #GtkTreeModel used or %NULL + + + + + Sets the row of the model that is currently displayed +by the #GtkCellView. If the path is unset, then the +contents of the cellview "stick" at their last value; +this is not normally a desired result, but may be +a needed intermediate state if say, the model for +the #GtkCellView becomes temporarily empty. + + + + + + a #GtkTreePath or %NULL to unset. + + + + + + Returns a #GtkTreePath referring to the currently +displayed row. If no row is currently displayed, +%NULL is returned. + + the currently displayed row or %NULL + + + + + Sets @requisition to the size needed by @cell_view to display +the model row pointed to by @path. + + %TRUE + + + + + a #GtkTreePath + + + + return location for the size + + + + + + Sets the background color of @view. + + + + + + the new background color + + + + + + Returns the cell renderers which have been added to @cell_view. +renderers has been newly allocated and should be freed with +g_list_free() when no longer needed. + + a list of cell renderers. The list, but not the + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Creates a new #GtkCheckButton containing a label. The label +will be created using gtk_label_new_with_mnemonic(), so underscores +in @label indicate the mnemonic for the check button. + + a new #GtkCheckButton + + + + + The text of the button, with an underscore in front of the mnemonic character + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Creates a new #GtkCheckMenuItem containing a label. The label +will be created using gtk_label_new_with_mnemonic(), so underscores +in @label indicate the mnemonic for the menu item. + + a new #GtkCheckMenuItem + + + + + The text of the button, with an underscore in front of the mnemonic character + + + + + + + + + + + + + + + + + + + + + + + + + + Returns whether the check menu item is active. See +gtk_check_menu_item_set_active (). + + %TRUE if the menu item is checked. + + + + + + + + + + If the user has selected a range of elements (such as some text or +spreadsheet cells) that are affected by a boolean setting, and the +current values in that range are inconsistent, you may want to +display the check in an "in between" state. This function turns on +"in between" display. Normally you would turn off the inconsistent +state again if the user explicitly selects a setting. This has to be +done manually, gtk_check_menu_item_set_inconsistent() only affects +visual appearance, it doesn't affect the semantics of the widget. + + + + + + %TRUE to display an "inconsistent" third state check + + + + + + Retrieves the value set by gtk_check_menu_item_set_inconsistent(). + + %TRUE if inconsistent + + + + + Sets whether @check_menu_item is drawn like a #GtkRadioMenuItem + + + + + + whether @check_menu_item is drawn like a #GtkRadioMenuItem + + + + + + Returns whether @check_menu_item looks like a #GtkRadioMenuItem + + Whether @check_menu_item looks like a #GtkRadioMenuItem + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Returns the clipboard object for the given selection. +Cut/copy/paste menu items and keyboard shortcuts should use +the default clipboard, returned by passing %GDK_SELECTION_CLIPBOARD for @selection. +(%GDK_NONE is supported as a synonym for GDK_SELECTION_CLIPBOARD +for backwards compatibility reasons.) +The currently-selected object or text should be provided on the clipboard +identified by #GDK_SELECTION_PRIMARY. Cut/copy/paste menu items +conceptually copy the contents of the #GDK_SELECTION_PRIMARY clipboard +to the default clipboard, i.e. they copy the selection to what the +user sees as the clipboard. +(Passing #GDK_NONE is the same as using <literal>gdk_atom_intern +("CLIPBOARD", FALSE)</literal>. See <ulink +url="http://www.freedesktop.org/Standards/clipboards-spec"> +http://www.freedesktop.org/Standards/clipboards-spec</ulink> +for a detailed discussion of the "CLIPBOARD" vs. "PRIMARY" +selections under the X window system. On Win32 the +#GDK_SELECTION_PRIMARY clipboard is essentially ignored.) +It's possible to have arbitrary named clipboards; if you do invent +new clipboards, you should prefix the selection name with an +underscore (because the ICCCM requires that nonstandard atoms are +underscore-prefixed), and namespace it as well. For example, +if your application called "Foo" has a special-purpose +clipboard, you might call it "_FOO_SPECIAL_CLIPBOARD". +clipboard already exists, a new one will +be created. Once a clipboard object has +been created, it is persistent and, since +it is owned by GTK+, must not be freed or +unrefd. + + the appropriate clipboard object. If no + + + + + the display for which the clipboard is to be retrieved or created + + + + a #GdkAtom which identifies the clipboard to use. + + + + + + Returns the clipboard object for the given selection. +See gtk_clipboard_get_for_display() for complete details. +already exists, a new one will be created. Once a clipboard +object has been created, it is persistent and, since it is +owned by GTK+, must not be freed or unreffed. + + the appropriate clipboard object. If no clipboard + + + + + a #GdkAtom which identifies the clipboard to use + + + + + + Gets the #GdkDisplay associated with @clipboard + + the #GdkDisplay associated with @clipboard + + + + + Virtually sets the contents of the specified clipboard by providing +a list of supported formats for the clipboard data and a function +to call to get the actual data when it is requested. +the clipboard data failed the provided callback functions +will be ignored. + + %TRUE if setting the clipboard data succeeded. If setting + + + + + array containing information about the available forms for the clipboard data + + + + number of elements in @targets + + + + function to call to get the actual clipboard data + + + + when the clipboard contents are set again, this function will be called, and @get_func will not be subsequently called. + + + + user data to pass to @get_func and @clear_func. + + + + + + Virtually sets the contents of the specified clipboard by providing +a list of supported formats for the clipboard data and a function +to call to get the actual data when it is requested. +The difference between this function and gtk_clipboard_set_with_data() +is that instead of an generic @user_data pointer, a #GObject is passed +in. +the clipboard data failed the provided callback functions +will be ignored. + + %TRUE if setting the clipboard data succeeded. If setting + + + + + array containing information about the available forms for the clipboard data + + + + number of elements in @targets + + + + function to call to get the actual clipboard data + + + + when the clipboard contents are set again, this function will be called, and @get_func will not be subsequently called. + + + + an object that "owns" the data. This object will be passed to the callbacks when called. + + + + + + If the clipboard contents callbacks were set with +gtk_clipboard_set_with_owner(), and the gtk_clipboard_set_with_data() or +gtk_clipboard_clear() has not subsequently called, returns the owner set +by gtk_clipboard_set_with_owner(). + + the owner of the clipboard, if any; otherwise %NULL. + + + + + Clears the contents of the clipboard. Generally this should only +be called between the time you call gtk_clipboard_set_with_owner() +or gtk_clipboard_set_with_data(), +and when the @clear_func you supplied is called. Otherwise, the +clipboard may be owned by someone else. + + + + + + Sets the contents of the clipboard to the given UTF-8 string. GTK+ will +make a copy of the text and take responsibility for responding +for requests for the text, and for converting the text into +the requested format. + + + + + + a UTF-8 string. + + + + length of @text, in bytes, or -1, in which case the length will be determined with <function>strlen()</function>. + + + + + + Sets the contents of the clipboard to the given #GdkPixbuf. +GTK+ will take responsibility for responding for requests +for the image, and for converting the image into the +requested format. + + + + + + a #GdkPixbuf + + + + + + Requests the contents of clipboard as the given target. +When the results of the result are later received the supplied callback +will be called. + + + + + + an atom representing the form into which the clipboard owner should convert the selection. + + + + A function to call when the results are received (or the retrieval fails). If the retrieval fails the length field of @selection_data will be negative. + + + + user data to pass to @callback + + + + + + Requests the contents of the clipboard as text. When the text is +later received, it will be converted to UTF-8 if necessary, and +The @text parameter to @callback will contain the resulting text if +the request succeeded, or %NULL if it failed. This could happen for +various reasons, in particular if the clipboard was empty or if the +contents of the clipboard could not be converted into text form. + + + + + + a function to call when the text is received, or the retrieval fails. (It will always be called one way or the other.) + + + + user data to pass to @callback. + + + + + + Requests the contents of the clipboard as rich text. When the rich +text is later received, @callback will be called. +The @text parameter to @callback will contain the resulting rich +text if the request succeeded, or %NULL if it failed. The @length +parameter will contain @text's length. This function can fail for +various reasons, in particular if the clipboard was empty or if the +contents of the clipboard could not be converted into rich text form. + + + + + + a #GtkTextBuffer + + + + a function to call when the text is received, or the retrieval fails. (It will always be called one way or the other.) + + + + user data to pass to @callback. + + + + + + Requests the contents of the clipboard as image. When the image is +later received, it will be converted to a #GdkPixbuf, and +The @pixbuf parameter to @callback will contain the resulting +#GdkPixbuf if the request succeeded, or %NULL if it failed. This +could happen for various reasons, in particular if the clipboard +was empty or if the contents of the clipboard could not be +converted into an image. + + + + + + a function to call when the image is received, or the retrieval fails. (It will always be called one way or the other.) + + + + user data to pass to @callback. + + + + + + Requests the contents of the clipboard as URIs. When the URIs are +later received @callback will be called. +The @uris parameter to @callback will contain the resulting array of +URIs if the request succeeded, or %NULL if it failed. This could happen +for various reasons, in particular if the clipboard was empty or if the +contents of the clipboard could not be converted into URI form. + + + + + + a function to call when the URIs are received, or the retrieval fails. (It will always be called one way or the other.) + + + + user data to pass to @callback. + + + + + + Requests the contents of the clipboard as list of supported targets. +When the list is later received, @callback will be called. +The @targets parameter to @callback will contain the resulting targets if +the request succeeded, or %NULL if it failed. + + + + + + a function to call when the targets are received, or the retrieval fails. (It will always be called one way or the other.) + + + + user data to pass to @callback. + + + + + + Requests the contents of the clipboard using the given target. +This function waits for the data to be received using the main +loop, so events, timeouts, etc, may be dispatched during the wait. +if retrieving the given target failed. If non-%NULL, +this value must be freed with gtk_selection_data_free() +when you are finished with it. + + a newly-allocated #GtkSelectionData object or %NULL + + + + + an atom representing the form into which the clipboard owner should convert the selection. + + + + + + Requests the contents of the clipboard as text and converts +the result to UTF-8 if necessary. This function waits for +the data to be received using the main loop, so events, +timeouts, etc, may be dispatched during the wait. +be freed with g_free(), or %NULL if retrieving +the selection data failed. (This could happen +for various reasons, in particular if the +clipboard was empty or if the contents of the +clipboard could not be converted into text form.) + + a newly-allocated UTF-8 string which must + + + + + Requests the contents of the clipboard as rich text. This function +waits for the data to be received using the main loop, so events, +timeouts, etc, may be dispatched during the wait. +be freed with g_free(), or %NULL if retrieving +the selection data failed. (This could happen +for various reasons, in particular if the +clipboard was empty or if the contents of the +clipboard could not be converted into text form.) + + a newly-allocated binary block of data which must + + + + + + + a #GtkTextBuffer + + + + return location for the format of the returned data + + + + return location for the length of the returned data + + + + + + Requests the contents of the clipboard as image and converts +the result to a #GdkPixbuf. This function waits for +the data to be received using the main loop, so events, +timeouts, etc, may be dispatched during the wait. +be disposed with g_object_unref(), or %NULL if +retrieving the selection data failed. (This +could happen for various reasons, in particular +if the clipboard was empty or if the contents of +the clipboard could not be converted into an image.) + + a newly-allocated #GdkPixbuf object which must + + + + + Requests the contents of the clipboard as URIs. This function waits +for the data to be received using the main loop, so events, +timeouts, etc, may be dispatched during the wait. +%NULL-terminated array of strings which must +be freed with g_strfreev(), or %NULL if +retrieving the selection data failed. (This +could happen for various reasons, in particular +if the clipboard was empty or if the contents of +the clipboard could not be converted into URI form.) + + a newly-allocated + + + + + + + + + + + + + + + + + + + + Test to see if there is text available to be pasted +This is done by requesting the TARGETS atom and checking +if it contains any of the supported text targets. This function +waits for the data to be received using the main loop, so events, +timeouts, etc, may be dispatched during the wait. +This function is a little faster than calling +gtk_clipboard_wait_for_text() since it doesn't need to retrieve +the actual text. + + %TRUE is there is text available, %FALSE otherwise. + + + + + Test to see if there is rich text available to be pasted +This is done by requesting the TARGETS atom and checking +if it contains any of the supported rich text targets. This function +waits for the data to be received using the main loop, so events, +timeouts, etc, may be dispatched during the wait. +This function is a little faster than calling +gtk_clipboard_wait_for_rich_text() since it doesn't need to retrieve +the actual text. + + %TRUE is there is rich text available, %FALSE otherwise. + + + + + a #GtkTextBuffer + + + + + + Test to see if there is an image available to be pasted +This is done by requesting the TARGETS atom and checking +if it contains any of the supported image targets. This function +waits for the data to be received using the main loop, so events, +timeouts, etc, may be dispatched during the wait. +This function is a little faster than calling +gtk_clipboard_wait_for_image() since it doesn't need to retrieve +the actual image data. + + %TRUE is there is an image available, %FALSE otherwise. + + + + + Test to see if there is a list of URIs available to be pasted +This is done by requesting the TARGETS atom and checking +if it contains the URI targets. This function +waits for the data to be received using the main loop, so events, +timeouts, etc, may be dispatched during the wait. +This function is a little faster than calling +gtk_clipboard_wait_for_uris() since it doesn't need to retrieve +the actual URI data. + + %TRUE is there is an URI list available, %FALSE otherwise. + + + + + Checks if a clipboard supports pasting data of a given type. This +function can be used to determine if a "Paste" menu item should be +insensitive or not. +If you want to see if there's text available on the clipboard, use +gtk_clipboard_wait_is_text_available () instead. + + %TRUE if the target is available, %FALSE otherwise. + + + + + A #GdkAtom indicating which target to look for. + + + + + + Hints that the clipboard data should be stored somewhere when the +application exits or when gtk_clipboard_store () is called. +This value is reset when the clipboard owner changes. +Where the clipboard data is stored is platform dependent, +see gdk_display_store_clipboard () for more information. + + + + + + array containing information about which forms should be stored or %NULL to indicate that all forms should be stored. + + + + number of elements in @targets + + + + + + Stores the current clipboard data somewhere so that it will stay +around after the application has quit. + + + + + + The ::owner-change signal is emitted when GTK+ receives an +event that indicates that the ownership of the selection +associated with @clipboard has changed. + + + + + + the @GdkEventOwnerChange event + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Creates a new color button. This returns a widget in the form of +a small button containing a swatch representing the current selected +color. When the button is clicked, a color-selection dialog will open, +allowing the user to select a color. The swatch will be updated to reflect +the new color when the user finishes. + + a new color button. + + + + + Creates a new color button. + + a new color button. + + + + + A #GdkColor to set the current color with. + + + + + + Sets the current color to be @color. + + + + + + A #GdkColor to set the current color with. + + + + + + Sets the current opacity to be @alpha. + + + + + + an integer between 0 and 65535. + + + + + + Sets @color to be the current color in the #GtkColorButton widget. + + + + + + a #GdkColor to fill in with the current color. + + + + + + Returns the current alpha value. + + an integer between 0 and 65535. + + + + + Sets whether or not the color button should use the alpha channel. + + + + + + %TRUE if color button should use alpha channel, %FALSE if not. + + + + + + Does the color selection dialog use the alpha channel? + + %TRUE if the color sample uses alpha channel, %FALSE if not. + + + + + Sets the title for the color selection dialog. + + + + + + String containing new window title. + + + + + + Gets the title of the color selection dialog. + + An internal string, do not free the return value + + + + + The selected opacity value (0 fully transparent, 65535 fully opaque). + + + + The selected color. + + + + The title of the color selection dialog + + + + If this property is set to %TRUE, the color swatch on the button is rendered against a +checkerboard background to show its opacity and the opacity slider is displayed in the +color selection dialog. + + + + + + + + + + The ::color-set signal is emitted when the user selects a color. +When handling this signal, use gtk_color_button_get_color() and +gtk_color_button_get_alpha() to find out which color was just selected. +Note that this signal is only emitted when the <emphasis>user</emphasis> +changes the color. If you need to react to programmatic color changes +as well, use the notify::color signal. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Creates a new GtkColorSelection. + + a new #GtkColorSelection + + + + + Parses a color palette string; the string is a colon-separated +list of color names readable by gdk_color_parse(). + + %TRUE if a palette was successfully parsed. + + + + + a string encoding a color palette. + + + + return location for allocated array of #GdkColor. + + + + return location for length of array. + + + + + + Encodes a palette as a string, useful for persistent storage. + + allocated string encoding the palette. + + + + + an array of colors. + + + + length of the array. + + + + + + Installs a global function to be called whenever the user tries to +modify the palette in a color selection. This function should save +the new palette contents, and update the GtkSettings property +"gtk-color-palette" so all GtkColorSelection widgets will be modified. +Use gtk_color_selection_set_change_palette_with_screen_hook() instead. + + the previous change palette hook (that was replaced). + + + + + a function to call when the custom palette needs saving. + + + + + + Installs a global function to be called whenever the user tries to +modify the palette in a color selection. This function should save +the new palette contents, and update the GtkSettings property +"gtk-color-palette" so all GtkColorSelection widgets will be modified. + + the previous change palette hook (that was replaced). + + + + + a function to call when the custom palette needs saving. + + + + + + Determines whether the colorsel has an opacity control. + + %TRUE if the @colorsel has an opacity control. %FALSE if it does't. + + + + + Sets the @colorsel to use or not use opacity. + + + + + + %TRUE if @colorsel can set the opacity, %FALSE otherwise. + + + + + + Determines whether the color selector has a color palette. + + %TRUE if the selector has a palette. %FALSE if it hasn't. + + + + + Shows and hides the palette based upon the value of @has_palette. + + + + + + %TRUE if palette is to be visible, %FALSE otherwise. + + + + + + Sets the current color to be @color. The first time this is called, it will +also set the original color to be @color too. + + + + + + A #GdkColor to set the current color with. + + + + + + Sets the current opacity to be @alpha. The first time this is called, it will +also set the original opacity to be @alpha too. + + + + + + an integer between 0 and 65535. + + + + + + Sets @color to be the current color in the GtkColorSelection widget. + + + + + + a #GdkColor to fill in with the current color. + + + + + + Returns the current alpha value. + + an integer between 0 and 65535. + + + + + Sets the 'previous' color to be @color. This function should be called with +some hesitations, as it might seem confusing to have that color change. +Calling gtk_color_selection_set_current_color() will also set this color the first +time it is called. + + + + + + a #GdkColor to set the previous color with. + + + + + + Sets the 'previous' alpha to be @alpha. This function should be called with +some hesitations, as it might seem confusing to have that alpha change. + + + + + + an integer between 0 and 65535. + + + + + + Fills @color in with the original color value. + + + + + + a #GdkColor to fill in with the original color value. + + + + + + Returns the previous alpha value. + + an integer between 0 and 65535. + + + + + Gets the current state of the @colorsel. +if the selection has stopped. + + %TRUE if the user is currently dragging a color around, and %FALSE + + + + + Sets the current color to be @color. The first time this is called, it will +also set the original color to be @color too. + + + + + + an array of 4 doubles specifying the red, green, blue and opacity to set the current color to. + + + + + + Sets @color to be the current color in the GtkColorSelection widget. + + + + + + an array of 4 #gdouble to fill in with the current color. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Retrieves the #GtkColorSelection widget embedded in the dialog. + + the embedded #GtkColorSelection + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Creates a new empty #GtkComboBox. + + A new #GtkComboBox. + + + + + Creates a new #GtkComboBox with the model initialized to @model. + + A new #GtkComboBox. + + + + + A #GtkTreeModel. + + + + + + Convenience function which constructs a new text combo box, which is a +#GtkComboBox just displaying strings. If you use this function to create +a text combo box, you should only manipulate its data source with the +gtk_combo_box_insert_text(), gtk_combo_box_prepend_text() and +gtk_combo_box_remove_text(). + + A new text combo box. + + + + + Returns the currently active string in @combo_box or %NULL if none +is selected. Note that you can only use this function with combo +boxes constructed with gtk_combo_box_new_text() and with +#GtkComboBoxEntry<!-- -->s. +Must be freed with g_free(). + + a newly allocated string containing the currently active text. + + + + + Returns the wrap width which is used to determine the number of columns +for the popup menu. If the wrap width is larger than 1, the combo box +is in table mode. + + the wrap width. + + + + + Sets the wrap width of @combo_box to be @width. The wrap width is basically +the preferred number of columns when you want the popup to be layed out +in a table. + + + + + + Preferred number of columns + + + + + + Returns the column with row span information for @combo_box. + + the row span column. + + + + + Sets the column with row span information for @combo_box to be @row_span. +The row span column contains integers which indicate how many rows +an item should span. + + + + + + A column in the model passed during construction. + + + + + + Returns the column with column span information for @combo_box. + + the column span column. + + + + + Sets the column with column span information for @combo_box to be +how many columns an item should span. + + + + + + A column in the model passed during construction + + + + + + Gets the current value of the :add-tearoffs property. + + the current value of the :add-tearoffs property. + + + + + Sets whether the popup menu should have a tearoff +menu item. + + + + + + %TRUE to add tearoff menu items + + + + + + Gets the current title of the menu in tearoff mode. See +gtk_combo_box_set_add_tearoffs(). +string which must not be freed. + + the menu's title in tearoff mode. This is an internal copy of the + + + + + Sets the menu's title in tearoff mode. + + + + + + a title for the menu in tearoff mode + + + + + + Returns whether the combo box grabs focus when it is clicked +with the mouse. See gtk_combo_box_set_focus_on_click(). +clicked with the mouse. + + %TRUE if the combo box grabs focus when it is + + + + + Sets whether the combo box will grab focus when it is clicked with +the mouse. Making mouse clicks not grab focus is useful in places +like toolbars where you don't want the keyboard focus removed from +the main area of the application. + + + + + + whether the combo box grabs focus when clicked with the mouse + + + + + + Returns the index of the currently active item, or -1 if there's no +active item. If the model is a non-flat treemodel, and the active item +is not an immediate child of the root of the tree, this function returns +<literal>gtk_tree_path_get_indices (path)[0]</literal>, where +<literal>path</literal> is the #GtkTreePath of the active item. +or -1 if there's no active item. + + An integer which is the index of the currently active item, + + + + + Sets the active item of @combo_box to be the item at @index. + + + + + + An index in the model passed during construction, or -1 to have no active item + + + + + + Sets @iter to point to the current active item, if it exists. + + %TRUE, if @iter was set + + + + + The uninitialized #GtkTreeIter + + + + + + Sets the current active item to be the one referenced by @iter, or +unsets the active item if @iter is %NULL. + + + + + + The #GtkTreeIter, or %NULL + + + + + + Sets the model used by @combo_box to be @model. Will unset a previously set +model (if applicable). If model is %NULL, then it will unset the model. +Note that this function does not clear the cell renderers, you have to +call gtk_cell_layout_clear() yourself if you need to set up different +cell renderers for the new model. + + + + + + A #GtkTreeModel + + + + + + + + + + + Returns the current row separator function. + + the current row separator function. + + + + + Sets the row separator function, which is used to determine +whether a row should be drawn as a separator. If the row separator +function is %NULL, no separators are drawn. This is the default value. + + + + + + a #GtkTreeViewRowSeparatorFunc + + + + user data to pass to @func, or %NULL + + + + destroy notifier for @data, or %NULL + + + + + + Sets whether the dropdown button of the combo box should be +always sensitive (%GTK_SENSITIVITY_ON), never sensitive (%GTK_SENSITIVITY_OFF) +or only if there is at least one item to display (%GTK_SENSITIVITY_AUTO). + + + + + + specify the sensitivity of the dropdown button + + + + + + Returns whether the combo box sets the dropdown button +sensitive or not when there are no items in the model. +is sensitive when the model is empty, %GTK_SENSITIVITY_OFF +if the button is always insensitive or +%GTK_SENSITIVITY_AUTO if it is only sensitive as long as +the model has one item to be selected. + + %GTK_SENSITIVITY_ON if the dropdown button + + + + + Appends @string to the list of strings stored in @combo_box. Note that +you can only use this function with combo boxes constructed with +gtk_combo_box_new_text(). + + + + + + A string + + + + + + Inserts @string at @position in the list of strings stored in @combo_box. +Note that you can only use this function with combo boxes constructed +with gtk_combo_box_new_text(). + + + + + + An index to insert @text + + + + A string + + + + + + Prepends @string to the list of strings stored in @combo_box. Note that +you can only use this function with combo boxes constructed with +gtk_combo_box_new_text(). + + + + + + A string + + + + + + Removes the string at @position from @combo_box. Note that you can only use +this function with combo boxes constructed with gtk_combo_box_new_text(). + + + + + + Index of the item to remove + + + + + + Returns the currently active string in @combo_box or %NULL if none +is selected. Note that you can only use this function with combo +boxes constructed with gtk_combo_box_new_text() and with +#GtkComboBoxEntry<!-- -->s. +Must be freed with g_free(). + + a newly allocated string containing the currently active text. + + + + + Pops up the menu or dropdown list of @combo_box. +This function is mostly intended for use by accessibility technologies; +applications should have little use for it. + + + + + + Hides the menu or dropdown list of @combo_box. +This function is mostly intended for use by accessibility technologies; +applications should have little use for it. + + + + + + Gets the accessible object corresponding to the combo box's popup. +This function is mostly intended for use by accessibility technologies; +applications should have little use for it. + + the accessible object corresponding to the combo box's popup. + + + + + The item which is currently active. If the model is a non-flat treemodel, +and the active item is not an immediate child of the root of the tree, +this property has the value +<literal>gtk_tree_path_get_indices (path)[0]</literal>, +where <literal>path</literal> is the #GtkTreePath of the active item. + + + + The add-tearoffs property controls whether generated menus +have tearoff menu items. +Note that this only affects menu style combo boxes. + + + + Whether the dropdown button is sensitive when +the model is empty. + + + + If this is set to a non-negative value, it must be the index of a column +of type %G_TYPE_INT in the model. +The values of that column are used to determine how many columns a value +in the list will span. + + + + + + + The has-frame property controls whether a frame +is drawn around the entry. + + + + The model from which the combo box takes the values shown +in the list. + + + + Whether the combo boxes dropdown is popped up. +Note that this property is mainly useful, because +it allows you to connect to notify::popup-shown. + + + + If this is set to a non-negative value, it must be the index of a column +of type %G_TYPE_INT in the model. +The values of that column are used to determine how many rows a value in +the list will span. Therefore, the values in the model column pointed to +by this property must be greater than zero and not larger than wrap-width. + + + + A title that may be displayed by the window manager +when the popup is torn-off. + + + + If wrap-width is set to a positive value, the list will be +displayed in multiple columns, the number of columns is +determined by wrap-width. + + + + + + + + + + The changed signal is emitted when the active +item is changed. The can be due to the user selecting +a different item from the list, or due to a +call to gtk_combo_box_set_active_iter(). +It will also be emitted while typing into a GtkComboBoxEntry, +as well as when selecting an item from the GtkComboBoxEntry's list. + + + + + + The ::move-active signal is a +<link linkend="keybinding-signals">keybinding signal</link> +which gets emitted to move the active selection. + + + + + + a #GtkScrollType + + + + + + The ::popdown signal is a +<link linkend="keybinding-signals">keybinding signal</link> +which gets emitted to popdown the combo box list. +The default bindings for this signal are Alt+Up and Escape. + + + + + + The ::popup signal is a +<link linkend="keybinding-signals">keybinding signal</link> +which gets emitted to popup the combo box list. +The default binding for this signal is Alt+Down. + + + + + + + + + + + + + + + + + + + + + + + + + a newly allocated string containing the currently active text. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Creates a new #GtkComboBoxEntry which has a #GtkEntry as child. After +construction, you should set a model using gtk_combo_box_set_model() and a +text column using gtk_combo_box_entry_set_text_column(). + + A new #GtkComboBoxEntry. + + + + + Creates a new #GtkComboBoxEntry which has a #GtkEntry as child and a list +of strings as popup. You can get the #GtkEntry from a #GtkComboBoxEntry +using GTK_ENTRY (GTK_BIN (combo_box_entry)->child). To add and remove +strings from the list, just modify @model using its data manipulation +API. + + A new #GtkComboBoxEntry. + + + + + A #GtkTreeModel. + + + + A column in @model to get the strings from. + + + + + + Convenience function which constructs a new editable text combo box, which +is a #GtkComboBoxEntry just displaying strings. If you use this function to +create a text combo box, you should only manipulate its data source with +gtk_combo_box_insert_text(), gtk_combo_box_prepend_text() and +gtk_combo_box_remove_text(). + + A new text #GtkComboBoxEntry. + + + + + Sets the model column which @entry_box should use to get strings from +to be @text_column. + + + + + + A column in @model to get the strings from. + + + + + + Returns the column which @entry_box is using to get the strings from. + + A column in the data source model of @entry_box. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Finds a child property of a container class by name. + + the #GParamSpec of the child property or %NULL if @class has no child property with that name. + + + + + a #GtkContainerClass + + + + the name of the child property to find + + + + + + Returns all child properties of a container class. + + a newly allocated %NULL-terminated array of #GParamSpec*. The array must be freed with g_free(). + + + + + a #GtkContainerClass + + + + location to return the number of child properties found + + + + + + + + + + + + + + + + + + + + + + Returns the type of the children supported by the container. +Note that this may return %G_TYPE_NONE to indicate that no more +children can be added, e.g. for a #GtkPaned which already has two +children. + + a #GType. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Sets the border width of the container. +The border width of a container is the amount of space to leave +around the outside of the container. The only exception to this is +#GtkWindow; because toplevel windows can't leave space outside, +they leave the space inside. The border is added on all sides of +the container. To add space to only one side, one approach is to +create a #GtkAlignment widget, call gtk_widget_set_size_request() +to give it a size, and place it on the side of the container as +a spacer. + + + + + + amount of blank space to leave <emphasis>outside</emphasis> the container. Valid values are in the range 0-65535 pixels. + + + + + + Retrieves the border width of the container. See +gtk_container_set_border_width(). + + the current border width + + + + + Adds @widget to @container. Typically used for simple containers +such as #GtkWindow, #GtkFrame, or #GtkButton; for more complicated +layout containers such as #GtkBox or #GtkTable, this function will +pick default packing parameters that may not be correct. So +consider functions such as gtk_box_pack_start() and +gtk_table_attach() as an alternative to gtk_container_add() in +those cases. A widget may be added to only one container at a time; +you can't place the same widget inside two different containers. + + + + + + a widget to be placed inside @container + + + + + + Removes @widget from @container. @widget must be inside @container. +Note that @container will own a reference to @widget, and that this +may be the last reference held; so removing a widget from its +container can destroy that widget. If you want to use @widget +again, you need to add a reference to it while it's not inside +a container, using g_object_ref(). If you don't want to use @widget +again it's usually more efficient to simply destroy it directly +using gtk_widget_destroy() since this will remove it from the +container and help break any circular reference count cycles. + + + + + + a current child of @container + + + + + + Sets the resize mode for the container. +The resize mode of a container determines whether a resize request +will be passed to the container's parent, queued for later execution +or executed immediately. + + + + + + the new resize mode + + + + + + Returns the resize mode for the container. See +gtk_container_set_resize_mode (). + + the current resize mode + + + + + + + + + + Invokes @callback on each non-internal child of @container. See +gtk_container_forall() for details on what constitutes an +"internal" child. Most applications should use +gtk_container_foreach(), rather than gtk_container_forall(). + + + + + + a callback + + + + callback user data + + + + + + + + + + + + + + + + + + + + + + + + + Returns the container's non-internal children. See +gtk_container_forall() for details on what constitutes an "internal" child. + + a newly-allocated list of the container's non-internal children. + + + + + + + When a container receives an expose event, it must send synthetic +expose events to all children that don't have their own #GdkWindows. +This function provides a convenient way of doing this. A container, +when it receives an expose event, calls gtk_container_propagate_expose() +once for each child, passing in the event the container received. +gtk_container_propagate_expose() takes care of deciding whether +an expose event needs to be sent to the child, intersecting +the event's area with the child area, and sending the event. +In most cases, a container can simply either simply inherit the +#GtkWidget::expose implementation from #GtkContainer, or, do some drawing +and then chain to the ::expose implementation from #GtkContainer. + + + + + + a child of @container + + + + a expose event sent to container + + + + + + Sets a focus chain, overriding the one computed automatically by GTK+. +In principle each widget in the chain should be a descendant of the +container, but this is not enforced by this method, since it's allowed +to set the focus chain before you pack the widgets, or have a widget +in the chain that isn't always packed. The necessary checks are done +when the focus chain is actually traversed. + + + + + + the new focus chain + + + + + + + + Retrieves the focus chain of the container, if one has been +set explicitly. If no focus chain has been explicitly +set, GTK+ computes the focus chain based on the positions +of the children. In that case, GTK+ stores %NULL in +has been set explicitly. + + %TRUE if the focus chain of the container + + + + + location to store the focus chain of the container, or %NULL. You should free this list using g_list_free() when you are done with it, however no additional reference count is added to the individual widgets in the focus chain. + + + + + + + + Removes a focus chain explicitly set with gtk_container_set_focus_chain(). + + + + + + Sets the @reallocate_redraws flag of the container to the given value. +Containers requesting reallocation redraws get automatically +redrawn if any of their children changed allocation. + + + + + + the new value for the container's @reallocate_redraws flag + + + + + + Sets, or unsets if @child is %NULL, the focused child of @container. +This function emits the GtkContainer::set_focus_child signal of +default behaviour by overriding the class closure of this signal. + + + + + + a #GtkWidget, or %NULL + + + + + + Returns the current focus child widget inside @container. +inside @container, or %NULL if none is set. + + The child widget which has the focus + + + + + Hooks up an adjustment to focus handling in a container, so when a +child of the container is focused, the adjustment is scrolled to +show that widget. This function sets the vertical alignment. See +gtk_scrolled_window_get_vadjustment() for a typical way of obtaining +the adjustment and gtk_container_set_focus_hadjustment() for setting +the horizontal adjustment. +The adjustments have to be in pixel units and in the same coordinate +system as the allocation for immediate children of the container. + + + + + + an adjustment which should be adjusted when the focus is moved among the descendents of @container + + + + + + Retrieves the vertical focus adjustment for the container. See +gtk_container_set_focus_vadjustment(). +none has been set. + + the vertical focus adjustment, or %NULL if + + + + + Hooks up an adjustment to focus handling in a container, so when a child +of the container is focused, the adjustment is scrolled to show that +widget. This function sets the horizontal alignment. +See gtk_scrolled_window_get_hadjustment() for a typical way of obtaining +the adjustment and gtk_container_set_focus_vadjustment() for setting +the vertical adjustment. +The adjustments have to be in pixel units and in the same coordinate +system as the allocation for immediate children of the container. + + + + + + an adjustment which should be adjusted when the focus is moved among the descendents of @container + + + + + + Retrieves the horizontal focus adjustment for the container. See +gtk_container_set_focus_hadjustment (). +none has been set. + + the horizontal focus adjustment, or %NULL if + + + + + + + + + + Returns the type of the children supported by the container. +Note that this may return %G_TYPE_NONE to indicate that no more +children can be added, e.g. for a #GtkPaned which already has two +children. + + a #GType. + + + + + Adds @widget to @container, setting child properties at the same time. +See gtk_container_add() and gtk_container_child_set() for more details. + + + + + + a widget to be placed inside @container + + + + the name of the first child property to set + + + + + + + + + + Sets one or more child properties for @child and @container. + + + + + + a widget which is a child of @container + + + + the name of the first property to set + + + + + + + + + + Gets the values of one or more child properties for @child and @container. + + + + + + a widget which is a child of @container + + + + the name of the first property to get + + + + + + + + + + Sets a child property for @child and @container. + + + + + + a widget which is a child of @container + + + + the name of the property to set + + + + the value to set the property to + + + + + + Gets the value of a child property for @child and @container. + + + + + + a widget which is a child of @container + + + + the name of the property to get + + + + a location to return the value + + + + + + Invokes @callback on each child of @container, including children +that are considered "internal" (implementation details of the +container). "Internal" children generally weren't added by the user +of the container, but were added by the container implementation +itself. Most applications should use gtk_container_foreach(), +rather than gtk_container_forall(). + + + + + + a callback + + + + callback user data + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + a #GType. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Installs a child property on a container class. + + + + + + the id for the property + + + + the #GParamSpec for the property + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Creates a new #GtkDialog with title @title (or %NULL for the default +title; see gtk_window_set_title()) and transient parent @parent (or +%NULL for none; see gtk_window_set_transient_for()). The @flags +argument can be used to make the dialog modal (#GTK_DIALOG_MODAL) +and/or to have it destroyed along with its transient parent +(#GTK_DIALOG_DESTROY_WITH_PARENT). After @flags, button +text/response ID pairs should be listed, with a %NULL pointer ending +the list. Button text can be either a stock ID such as +#GTK_STOCK_OK, or some arbitrary text. A response ID can be +any positive number, or one of the values in the #GtkResponseType +enumeration. If the user clicks one of these dialog buttons, +#GtkDialog will emit the #GtkDialog::response signal with the corresponding +response ID. If a #GtkDialog receives the #GtkWidget::delete-event signal, +it will emit ::response with a response ID of #GTK_RESPONSE_DELETE_EVENT. +However, destroying a dialog does not emit the ::response signal; +so be careful relying on ::response when using the +#GTK_DIALOG_DESTROY_WITH_PARENT flag. Buttons are from left to right, +so the first button in the list will be the leftmost button in the dialog. +Here's a simple example: +|[ +GtkWidget *dialog = gtk_dialog_new_with_buttons ("My dialog", +main_app_window, +GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT, +GTK_STOCK_OK, +GTK_RESPONSE_ACCEPT, +GTK_STOCK_CANCEL, +GTK_RESPONSE_REJECT, +NULL); +]| + + a new #GtkDialog + + + + + Title of the dialog, or %NULL + + + + Transient parent of the dialog, or %NULL + + + + from #GtkDialogFlags + + + + stock ID or text to go in first button, or %NULL + + + + + + + + + + Adds an activatable widget to the action area of a #GtkDialog, +connecting a signal handler that will emit the #GtkDialog::response +signal on the dialog when the widget is activated. The widget is +appended to the end of the dialog's action area. If you want to add a +non-activatable widget, simply pack it into the @action_area field +of the #GtkDialog struct. + + + + + + an activatable widget + + + + response ID for @child + + + + + + Adds a button with the given text (or a stock button, if @button_text is a +stock ID) and sets things up so that clicking the button will emit the +#GtkDialog::response signal with the given @response_id. The button is +appended to the end of the dialog's action area. The button widget is +returned, but usually you don't need it. + + the button widget that was added + + + + + text of button, or stock ID + + + + response ID for the button + + + + + + Adds more buttons, same as calling gtk_dialog_add_button() +repeatedly. The variable argument list should be %NULL-terminated +as with gtk_dialog_new_with_buttons(). Each button must have both +text and response ID. + + + + + + button text or stock ID + + + + + + + + + + Calls <literal>gtk_widget_set_sensitive (widget, @setting)</literal> +for each widget in the dialog's action area with the given @response_id. +A convenient way to sensitize/desensitize dialog buttons. + + + + + + a response ID + + + + %TRUE for sensitive + + + + + + Sets the last widget in the dialog's action area with the given @response_id +as the default widget for the dialog. Pressing "Enter" normally activates +the default widget. + + + + + + a response ID + + + + + + Gets the widget button that uses the given response ID in the action area +of a dialog. + + the @widget button that uses the given @response_id, or %NULL. + + + + + the response ID used by the @dialog widget + + + + + + Gets the response id of a widget in the action area +of a dialog. +if @widget doesn't have a response id set. + + the response id of @widget, or %GTK_RESPONSE_NONE + + + + + a widget in the action area of @dialog + + + + + + Sets whether the dialog has a separator above the buttons. +%TRUE by default. + + + + + + %TRUE to have a separator + + + + + + Accessor for whether the dialog has a separator. + + %TRUE if the dialog has a separator + + + + + Sets an alternative button order. If the +#GtkSettings:gtk-alternative-button-order setting is set to %TRUE, +the dialog buttons are reordered according to the order of the +response ids passed to this function. +By default, GTK+ dialogs use the button order advocated by the Gnome +<ulink url="http://developer.gnome.org/projects/gup/hig/2.0/">Human +Interface Guidelines</ulink> with the affirmative button at the far +right, and the cancel button left of it. But the builtin GTK+ dialogs +and #GtkMessageDialog<!-- -->s do provide an alternative button order, +which is more suitable on some platforms, e.g. Windows. +Use this function after adding all the buttons to your dialog, as the +following example shows: +|[ +cancel_button = gtk_dialog_add_button (GTK_DIALOG (dialog), +GTK_STOCK_CANCEL, +GTK_RESPONSE_CANCEL); +ok_button = gtk_dialog_add_button (GTK_DIALOG (dialog), +GTK_STOCK_OK, +GTK_RESPONSE_OK); +gtk_widget_grab_default (ok_button); +help_button = gtk_dialog_add_button (GTK_DIALOG (dialog), +GTK_STOCK_HELP, +GTK_RESPONSE_HELP); +gtk_dialog_set_alternative_button_order (GTK_DIALOG (dialog), +GTK_RESPONSE_OK, +GTK_RESPONSE_CANCEL, +GTK_RESPONSE_HELP, +-1); +]| + + + + + + a response id used by one @dialog's buttons + + + + + + + + + + Sets an alternative button order. If the +#GtkSettings:gtk-alternative-button-order setting is set to %TRUE, +the dialog buttons are reordered according to the order of the +response ids in @new_order. +See gtk_dialog_set_alternative_button_order() for more information. +This function is for use by language bindings. + + + + + + the number of response ids in @new_order + + + + an array of response ids of @dialog's buttons + + + + + + Emits the #GtkDialog::response signal with the given response ID. +Used to indicate that the user has responded to the dialog in some way; +typically either you or gtk_dialog_run() will be monitoring the +::response signal and take appropriate action. + + + + + + response ID + + + + + + Blocks in a recursive main loop until the @dialog either emits the +#GtkDialog::response signal, or is destroyed. If the dialog is +destroyed during the call to gtk_dialog_run(), gtk_dialog_run() returns +#GTK_RESPONSE_NONE. Otherwise, it returns the response ID from the +::response signal emission. +Before entering the recursive main loop, gtk_dialog_run() calls +gtk_widget_show() on the dialog for you. Note that you still +need to show any children of the dialog yourself. +During gtk_dialog_run(), the default behavior of #GtkWidget::delete-event +is disabled; if the dialog receives ::delete_event, it will not be +destroyed as windows usually are, and gtk_dialog_run() will return +#GTK_RESPONSE_DELETE_EVENT. Also, during gtk_dialog_run() the dialog +will be modal. You can force gtk_dialog_run() to return at any time by +calling gtk_dialog_response() to emit the ::response signal. Destroying +the dialog during gtk_dialog_run() is a very bad idea, because your +post-run code won't know whether the dialog was destroyed or not. +After gtk_dialog_run() returns, you are responsible for hiding or +destroying the dialog if you wish to do so. +Typical usage of this function might be: +|[ +gint result = gtk_dialog_run (GTK_DIALOG (dialog)); +switch (result) +{ +case GTK_RESPONSE_ACCEPT: +do_application_specific_something (); +break; +default: +do_nothing_since_dialog_was_cancelled (); +break; +} +gtk_widget_destroy (dialog); +]| +Note that even though the recursive main loop gives the effect of a +modal dialog (it prevents the user from interacting with other +windows in the same window group while the dialog is run), callbacks +such as timeouts, IO channel watches, DND drops, etc, <emphasis>will</emphasis> +be triggered during a gtk_dialog_run() call. + + response ID + + + + + Returns the action area of @dialog. + + the action area. + + + + + Returns the content area of @dialog. + + the content area #GtkVBox. + + + + + When %TRUE, the dialog has a separator bar above its buttons. + + + + + + + + + + + + + + + + The ::close signal is a +<link linkend="keybinding-signals">keybinding signal</link> +which gets emitted when the user uses a keybinding to close +the dialog. +The default binding for this signal is the Escape key. + + + + + + Emitted when an action widget is clicked, the dialog receives a +delete event, or the application programmer calls gtk_dialog_response(). +On a delete event, the response ID is #GTK_RESPONSE_DELETE_EVENT. +Otherwise, it depends on which action widget was clicked. + + + + + + the response ID + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Retrieves a sequence of characters. The characters that are retrieved +are those characters at positions from @start_pos up to, but not +including @end_pos. If @end_pos is negative, then the the characters +retrieved are those characters from @start_pos to the end of the text. +Note that positions are specified in characters, not bytes. +string. This string is allocated by the #GtkEditable +implementation and should be freed by the caller. + + a pointer to the contents of the widget as a + + + + + start of text + + + + end of text + + + + + + + + + + + + + + + + + + + Retrieves the selection bound of the editable. start_pos will be filled +with the start of the selection and @end_pos with end. If no text was +selected both will be identical and %FALSE will be returned. +Note that positions are specified in characters, not bytes. + + %TRUE if an area is selected, %FALSE otherwise + + + + + location to store the starting position, or %NULL + + + + location to store the end position, or %NULL + + + + + + Sets the cursor position in the editable to the given value. +The cursor is displayed before the character with the given (base 0) +index in the contents of the editable. The value must be less than or +equal to the number of characters in the editable. A value of -1 +indicates that the position should be set after the last character +of the editable. Note that @position is in characters, not in bytes. + + + + + + the position of the cursor + + + + + + Retrieves the current position of the cursor relative to the start +of the content of the editable. +Note that this position is in characters, not in bytes. + + the cursor position + + + + + Selects a region of text. The characters that are selected are +those characters at positions from @start_pos up to, but not +including @end_pos. If @end_pos is negative, then the the +characters selected are those characters from @start_pos to +the end of the text. +Note that positions are specified in characters, not bytes. + + + + + + start of region + + + + end of region + + + + + + Retrieves the selection bound of the editable. start_pos will be filled +with the start of the selection and @end_pos with end. If no text was +selected both will be identical and %FALSE will be returned. +Note that positions are specified in characters, not bytes. + + %TRUE if an area is selected, %FALSE otherwise + + + + + location to store the starting position, or %NULL + + + + location to store the end position, or %NULL + + + + + + Inserts @new_text_length bytes of @new_text into the contents of the +widget, at position @position. +Note that the position is in characters, not in bytes. +The function updates @position to point after the newly inserted text. + + + + + + the text to append + + + + the length of the text in bytes, or -1 + + + + location of the position text will be inserted at + + + + + + Deletes a sequence of characters. The characters that are deleted are +those characters at positions from @start_pos up to, but not including +are those from @start_pos to the end of the text. +Note that the positions are specified in characters, not bytes. + + + + + + start position + + + + end position + + + + + + Retrieves a sequence of characters. The characters that are retrieved +are those characters at positions from @start_pos up to, but not +including @end_pos. If @end_pos is negative, then the the characters +retrieved are those characters from @start_pos to the end of the text. +Note that positions are specified in characters, not bytes. +string. This string is allocated by the #GtkEditable +implementation and should be freed by the caller. + + a pointer to the contents of the widget as a + + + + + start of text + + + + end of text + + + + + + Removes the contents of the currently selected content in the editable and +puts it on the clipboard. + + + + + + Copies the contents of the currently selected content in the editable and +puts it on the clipboard. + + + + + + Pastes the content of the clipboard to the current position of the +cursor in the editable. + + + + + + Deletes the currently selected text of the editable. +This call doesn't do anything if there is no selected text. + + + + + + Sets the cursor position in the editable to the given value. +The cursor is displayed before the character with the given (base 0) +index in the contents of the editable. The value must be less than or +equal to the number of characters in the editable. A value of -1 +indicates that the position should be set after the last character +of the editable. Note that @position is in characters, not in bytes. + + + + + + the position of the cursor + + + + + + Retrieves the current position of the cursor relative to the start +of the content of the editable. +Note that this position is in characters, not in bytes. + + the cursor position + + + + + Determines if the user can edit the text in the editable +widget or not. + + + + + + %TRUE if the user is allowed to edit the text in the widget + + + + + + Retrieves whether @editable is editable. See +gtk_editable_set_editable(). + + %TRUE if @editable is editable. + + + + + The ::changed signal is emitted at the end of a single +user-visible operation on the contents of the #GtkEditable. +E.g., a paste operation that replaces the contents of the +selection will cause only one signal emission (even though it +is implemented by first deleting the selection, then inserting +the new content, and may cause multiple ::notify::text signals +to be emitted). + + + + + + This signal is emitted when text is deleted from +the widget by the user. The default handler for +this signal will normally be responsible for deleting +the text, so by connecting to this signal and then +stopping the signal with g_signal_stop_emission(), it +is possible to modify the range of deleted text, or +prevent it from being deleted entirely. The @start_pos +and @end_pos parameters are interpreted as for +gtk_editable_delete_text(). + + + + + + the starting position + + + + the end position + + + + + + This signal is emitted when text is inserted into +the widget by the user. The default handler for +this signal will normally be responsible for inserting +the text, so by connecting to this signal and then +stopping the signal with g_signal_stop_emission(), it +is possible to modify the inserted text, or prevent +it from being inserted entirely. + + + + + + the new text to insert + + + + the length of the new text, in bytes, or -1 if new_text is nul-terminated + + + + the position, in characters, at which to insert the new text. this is an in-out parameter. After the signal emission is finished, it should point after the newly inserted text. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + a pointer to the contents of the widget as a + + + + + + + + start of text + + + + end of text + + + + + + + + + + + + + + + + + + + + + + + + + + + %TRUE if an area is selected, %FALSE otherwise + + + + + + + + location to store the starting position, or %NULL + + + + location to store the end position, or %NULL + + + + + + + + + + + + + + + + the position of the cursor + + + + + + + + + the cursor position + + + + + + + + + + + + + + + + + Creates a new entry. + + a new #GtkEntry. + + + + + Creates a new entry with the specified text buffer. + + a new #GtkEntry + + + + + The buffer to use for the new #GtkEntry. + + + + + + Creates a new #GtkEntry widget with the given maximum length. + + a new #GtkEntry + + + + + the maximum length of the entry, or 0 for no maximum. (other than the maximum length of entries.) The value passed in will be clamped to the range 0-65536. + + + + + + + + + + + + + + + + + + + + + + + + + Get the #GtkEntryBuffer object which holds the text for +this widget. + + A #GtkEntryBuffer object. + + + + + Set the #GtkEntryBuffer object which holds the text for +this widget. + + + + + + a #GtkEntryBuffer + + + + + + Returns the #GdkWindow which contains the text. This function is +useful when drawing something to the entry in an expose-event +callback because it enables the callback to distinguish between +the text window and entry's icon windows. +See also gtk_entry_get_icon_window(). + + the entry's text window. + + + + + Sets whether the contents of the entry are visible or not. +When visibility is set to %FALSE, characters are displayed +as the invisible char, and will also appear that way when +the text in the entry widget is copied elsewhere. +By default, GTK+ picks the best invisible character available +in the current font, but it can be changed with +gtk_entry_set_invisible_char(). + + + + + + %TRUE if the contents of the entry are displayed as plaintext + + + + + + Retrieves whether the text in @entry is visible. See +gtk_entry_set_visibility(). + + %TRUE if the text is currently visible + + + + + Sets the character to use in place of the actual text when +gtk_entry_set_visibility() has been called to set text visibility +to %FALSE. i.e. this is the character used in "password mode" to +show the user how many characters have been typed. By default, GTK+ +picks the best invisible char available in the current font. If you +set the invisible char to 0, then the user will get no feedback +at all; there will be no text on the screen as they type. + + + + + + a Unicode character + + + + + + Retrieves the character displayed in place of the real characters +for entries with visibility set to false. See gtk_entry_set_invisible_char(). +show invisible text at all. + + the current invisible char, or 0, if the entry does not + + + + + Unsets the invisible char previously set with +gtk_entry_set_invisible_char(). So that the +default invisible char is used again. + + + + + + Sets whether the entry has a beveled frame around it. + + + + + + new value + + + + + + Gets the value set by gtk_entry_set_has_frame(). + + whether the entry has a beveled frame + + + + + Sets %entry's inner-border property to %border, or clears it if %NULL +is passed. The inner-border is the area around the entry's text, but +inside its frame. +If set, this property overrides the inner-border style property. +Overriding the style-provided border is useful when you want to do +in-place editing of some text in a canvas or list widget, where +pixel-exact positioning of the entry is important. + + + + + + a #GtkBorder, or %NULL + + + + + + This function returns the entry's #GtkEntry:inner-border property. See +gtk_entry_set_inner_border() for more information. + + the entry's #GtkBorder, or %NULL if none was set. + + + + + Sets whether the text is overwritten when typing in the #GtkEntry. + + + + + + new value + + + + + + Gets the value set by gtk_entry_set_overwrite_mode(). + + whether the text is overwritten when typing. + + + + + Sets the maximum allowed length of the contents of the widget. If +the current contents are longer than the given length, then they +will be truncated to fit. +This is equivalent to: +<informalexample><programlisting> +gtk_entry_buffer_set_max_length (gtk_entry_get_buffer (entry), max); +</programlisting></informalexample> + + + + + + the maximum length of the entry, or 0 for no maximum. (other than the maximum length of entries.) The value passed in will be clamped to the range 0-65536. + + + + + + Retrieves the maximum allowed length of the text in +This is equivalent to: +<informalexample><programlisting> +gtk_entry_buffer_get_max_length (gtk_entry_get_buffer (entry)); +</programlisting></informalexample> +in #GtkEntry, or 0 if there is no maximum. + + the maximum allowed number of characters + + + + + Retrieves the current length of the text in +This is equivalent to: +<informalexample><programlisting> +gtk_entry_buffer_get_length (gtk_entry_get_buffer (entry)); +</programlisting></informalexample> +in #GtkEntry, or 0 if there are none. + + the current number of characters + + + + + If @setting is %TRUE, pressing Enter in the @entry will activate the default +widget for the window containing the entry. This usually means that +the dialog box containing the entry will be closed, since the default +widget is usually one of the dialog buttons. +(For experts: if @setting is %TRUE, the entry calls +gtk_window_activate_default() on the window containing the entry, in +the default handler for the #GtkWidget::activate signal.) + + + + + + %TRUE to activate window's default widget on Enter keypress + + + + + + Retrieves the value set by gtk_entry_set_activates_default(). + + %TRUE if the entry will activate the default widget + + + + + Changes the size request of the entry to be about the right size +for @n_chars characters. Note that it changes the size +<emphasis>request</emphasis>, the size can still be affected by +how you pack the widget into containers. If @n_chars is -1, the +size reverts to the default entry size. + + + + + + width in chars + + + + + + Gets the value set by gtk_entry_set_width_chars(). + + number of chars to request space for, or negative if unset + + + + + Sets the text in the widget to the given +value, replacing the current contents. +See gtk_entry_buffer_set_text(). + + + + + + the new text + + + + + + Retrieves the contents of the entry widget. +See also gtk_editable_get_chars(). +This is equivalent to: +<informalexample><programlisting> +gtk_entry_buffer_get_text (gtk_entry_get_buffer (entry)); +</programlisting></informalexample> +string. This string points to internally allocated +storage in the widget and must not be freed, modified or +stored. + + a pointer to the contents of the widget as a + + + + + Gets the #PangoLayout used to display the entry. +The layout is useful to e.g. convert text positions to +pixel positions, in combination with gtk_entry_get_layout_offsets(). +The returned layout is owned by the entry and must not be +modified or freed by the caller. +Keep in mind that the layout text may contain a preedit string, so +gtk_entry_layout_index_to_text_index() and +gtk_entry_text_index_to_layout_index() are needed to convert byte +indices in the layout to byte indices in the entry contents. + + the #PangoLayout for this entry + + + + + Obtains the position of the #PangoLayout used to render text +in the entry, in widget coordinates. Useful if you want to line +up the text in an entry with some other text, e.g. when using the +entry to implement editable cells in a sheet widget. +Also useful to convert mouse events into coordinates inside the +#PangoLayout, e.g. to take some action if some part of the entry text +is clicked. +Note that as the user scrolls around in the entry the offsets will +change; you'll need to connect to the "notify::scroll-offset" +signal to track this. Remember when using the #PangoLayout +functions you need to convert to and from pixels using +PANGO_PIXELS() or #PANGO_SCALE. +Keep in mind that the layout text may contain a preedit string, so +gtk_entry_layout_index_to_text_index() and +gtk_entry_text_index_to_layout_index() are needed to convert byte +indices in the layout to byte indices in the entry contents. + + + + + + location to store X offset of layout, or %NULL + + + + location to store Y offset of layout, or %NULL + + + + + + Sets the alignment for the contents of the entry. This controls +the horizontal positioning of the contents when the displayed +text is shorter than the width of the entry. + + + + + + The horizontal alignment, from 0 (left) to 1 (right). Reversed for RTL layouts + + + + + + Gets the value set by gtk_entry_set_alignment(). + + the alignment + + + + + Sets @completion to be the auxiliary completion object to use with @entry. +All further configuration of the completion mechanism is done on + + + + + + The #GtkEntryCompletion or %NULL + + + + + + Returns the auxiliary completion object currently in use by @entry. + + The auxiliary completion object currently in use by @entry. + + + + + Converts from a position in the entry contents (returned +by gtk_entry_get_text()) to a position in the +entry's #PangoLayout (returned by gtk_entry_get_layout(), +with text retrieved via pango_layout_get_text()). + + byte index into the entry contents + + + + + byte index into the entry layout text + + + + + + Converts from a position in the entry's #PangoLayout (returned by +gtk_entry_get_layout()) to a position in the entry contents +(returned by gtk_entry_get_text()). + + byte index into the entry layout text + + + + + byte index into the entry contents + + + + + + Hooks up an adjustment to the cursor position in an entry, so that when +the cursor is moved, the adjustment is scrolled to show that position. +See gtk_scrolled_window_get_hadjustment() for a typical way of obtaining +the adjustment. +The adjustment has to be in pixel units and in the same coordinate system +as the entry. + + + + + + an adjustment which should be adjusted when the cursor is moved, or %NULL + + + + + + Retrieves the horizontal cursor adjustment for the entry. +See gtk_entry_set_cursor_hadjustment(). +if none has been set. + + the horizontal cursor adjustment, or %NULL + + + + + Causes the entry's progress indicator to "fill in" the given +fraction of the bar. The fraction should be between 0.0 and 1.0, +inclusive. + + + + + + fraction of the task that's been completed + + + + + + Returns the current fraction of the task that's been completed. +See gtk_entry_set_progress_fraction(). + + a fraction from 0.0 to 1.0 + + + + + Sets the fraction of total entry width to move the progress +bouncing block for each call to gtk_entry_progress_pulse(). + + + + + + fraction between 0.0 and 1.0 + + + + + + Retrieves the pulse step set with gtk_entry_set_progress_pulse_step(). + + a fraction from 0.0 to 1.0 + + + + + Indicates that some progress is made, but you don't know how much. +Causes the entry's progress indicator to enter "activity mode," +where a block bounces back and forth. Each call to +gtk_entry_progress_pulse() causes the block to move by a little bit +(the amount of movement per pulse is determined by +gtk_entry_set_progress_pulse_step()). + + + + + + Sets the icon shown in the specified position using a pixbuf. +If @pixbuf is %NULL, no icon will be shown in the specified position. + + + + + + Icon position + + + + A #GdkPixbuf, or %NULL + + + + + + Sets the icon shown in the entry at the specified position from +a stock image. +If @stock_id is %NULL, no icon will be shown in the specified position. + + + + + + Icon position + + + + The name of the stock item, or %NULL + + + + + + Sets the icon shown in the entry at the specified position +from the current icon theme. +If the icon name isn't known, a "broken image" icon will be displayed +instead. +If @icon_name is %NULL, no icon will be shown in the specified position. + + + + + + The position at which to set the icon + + + + An icon name, or %NULL + + + + + + Sets the icon shown in the entry at the specified position +from the current icon theme. +If the icon isn't known, a "broken image" icon will be displayed +instead. +If @icon is %NULL, no icon will be shown in the specified position. + + + + + + The position at which to set the icon + + + + The icon to set, or %NULL + + + + + + Gets the type of representation being used by the icon +to store image data. If the icon has no image data, +the return value will be %GTK_IMAGE_EMPTY. + + image representation being used + + + + + Icon position + + + + + + Retrieves the image used for the icon. +Unlike the other methods of setting and getting icon data, this +method will work regardless of whether the icon was set using a +#GdkPixbuf, a #GIcon, a stock item, or an icon name. + + A #GdkPixbuf, or %NULL if no icon is set for this position. + + + + + Icon position + + + + + + Retrieves the stock id used for the icon, or %NULL if there is +no icon or if the icon was set by some other method (e.g., by +pixbuf, icon name or gicon). +wasn't set from a stock id + + A stock id, or %NULL if no icon is set or if the icon + + + + + Icon position + + + + + + Retrieves the icon name used for the icon, or %NULL if there is +no icon or if the icon was set by some other method (e.g., by +pixbuf, stock or gicon). +wasn't set from an icon name + + An icon name, or %NULL if no icon is set or if the icon + + + + + Icon position + + + + + + Retrieves the #GIcon used for the icon, or %NULL if there is +no icon or if the icon was set by some other method (e.g., by +stock, pixbuf, or icon name). +is not a #GIcon + + A #GIcon, or %NULL if no icon is set or if the icon + + + + + Icon position + + + + + + Sets whether the icon is activatable. + + + + + + Icon position + + + + %TRUE if the icon should be activatable + + + + + + Returns whether the icon is activatable. + + %TRUE if the icon is activatable. + + + + + Icon position + + + + + + Sets the sensitivity for the specified icon. + + + + + + Icon position + + + + Specifies whether the icon should appear sensitive or insensitive + + + + + + Returns whether the icon appears sensitive or insensitive. + + %TRUE if the icon is sensitive. + + + + + Icon position + + + + + + Finds the icon at the given position and return its index. +If @x, @y doesn't lie inside an icon, -1 is returned. +This function is intended for use in a #GtkWidget::query-tooltip +signal handler. + + the index of the icon at the given position, or -1 + + + + + the x coordinate of the position to find + + + + the y coordinate of the position to find + + + + + + Sets @tooltip as the contents of the tooltip for the icon +at the specified position. +Use %NULL for @tooltip to remove an existing tooltip. +See also gtk_widget_set_tooltip_text() and +gtk_entry_set_icon_tooltip_markup(). + + + + + + the icon position + + + + the contents of the tooltip for the icon, or %NULL + + + + + + Gets the contents of the tooltip on the icon at the specified +position in @entry. +with g_free() when done. + + the tooltip text, or %NULL. Free the returned string + + + + + the icon position + + + + + + Sets @tooltip as the contents of the tooltip for the icon at +the specified position. @tooltip is assumed to be marked up with +the <link linkend="PangoMarkupFormat">Pango text markup language</link>. +Use %NULL for @tooltip to remove an existing tooltip. +See also gtk_widget_set_tooltip_markup() and +gtk_enty_set_icon_tooltip_text(). + + + + + + the icon position + + + + the contents of the tooltip for the icon, or %NULL + + + + + + Gets the contents of the tooltip on the icon at the specified +position in @entry. +with g_free() when done. + + the tooltip text, or %NULL. Free the returned string + + + + + the icon position + + + + + + Sets up the icon at the given position so that GTK+ will start a drag +operation when the user clicks and drags the icon. +To handle the drag operation, you need to connect to the usual +#GtkWidget::drag-data-get (or possibly #GtkWidget::drag-data-delete) +signal, and use gtk_entry_get_current_icon_drag_source() in +your signal handler to find out if the drag was started from +an icon. +By default, GTK+ uses the icon as the drag icon. You can use the +#GtkWidget::drag-begin signal to set a different icon. Note that you +have to use g_signal_connect_after() to ensure that your signal handler +gets executed after the default handler. + + + + + + icon position + + + + the targets (data formats) in which the data can be provided + + + + a bitmask of the allowed drag actions + + + + + + Returns the index of the icon which is the source of the current +DND operation, or -1. +This function is meant to be used in a #GtkWidget::drag-data-get +callback. +DND operation, or -1. + + index of the icon which is the source of the current + + + + + Returns the #GdkWindow which contains the entry's icon at +entry in an expose-event callback because it enables the callback +to distinguish between the text window and entry's icon windows. +See also gtk_entry_get_text_window(). + + the entry's icon window at @icon_pos. + + + + + Icon position + + + + + + Allow the #GtkEntry input method to internally handle key press +and release events. If this function returns %TRUE, then no further +processing should be done for this key event. See +gtk_im_context_filter_keypress(). +Note that you are expected to call this function from your handler +when overriding key event handling. This is needed in the case when +you need to insert your own key handling between the input method +and the default key event handling of the #GtkEntry. +See gtk_text_view_reset_im_context() for an example of use. + + %TRUE if the input method handled the key event. + + + + + the key event + + + + + + Reset the input method context of the entry if needed. +This can be necessary in the case where modifying the buffer +would confuse on-going input method behavior. + + + + + + Appends the given text to the contents of the widget. + + + + + + the text to append + + + + + + Prepends the given text to the contents of the widget. + + + + + + the text to prepend + + + + + + Sets the cursor position in an entry to the given value. + + + + + + the position of the cursor. The cursor is displayed before the character with the given (base 0) index in the widget. The value must be less than or equal to the number of characters in the widget. A value of -1 indicates that the position should be set after the last character in the entry. Note that this position is in characters, not in bytes. + + + + + + Selects a region of text. The characters that are selected are +those characters at positions from @start_pos up to, but not +including @end_pos. If @end_pos is negative, then the the characters +selected will be those characters from @start_pos to the end of +the text. + + + + + + the starting position + + + + the end position + + + + + + Determines if the user can edit the text in the editable +widget or not. + + + + + + %TRUE if the user is allowed to edit the text in the widget + + + + + + + + + + + + + + + + + + + + + + + + Which IM (input method) module should be used for this entry. +See #GtkIMContext. +Setting this to a non-%NULL value overrides the +system-wide IM module setting. See the GtkSettings +#GtkSettings:gtk-im-module property. + + + + Sets the text area's border between the text and the frame. + + + + The invisible character is used when masking entry contents (in +\"password mode\")"). When it is not explicitly set with the +#GtkEntry::invisible-char property, GTK+ determines the character +to use from a list of possible candidates, depending on availability +in the current font. +This style property allows the theme to prepend a character +to the list of candidates. + + + + Whether the invisible char has been set for the #GtkEntry. + + + + + + + If text is overwritten when typing in the #GtkEntry. + + + + Whether the primary icon is activatable. +GTK+ emits the #GtkEntry::icon-press and #GtkEntry::icon-release +signals only on sensitive, activatable icons. +Sensitive, but non-activatable icons can be used for purely +informational purposes. + + + + The #GIcon to use for the primary icon for the entry. + + + + The icon name to use for the primary icon for the entry. + + + + A pixbuf to use as the primary icon for the entry. + + + + Whether the primary icon is sensitive. +An insensitive icon appears grayed out. GTK+ does not emit the +#GtkEntry::icon-press and #GtkEntry::icon-release signals and +does not allow DND from insensitive icons. +An icon should be set insensitive if the action that would trigger +when clicked is currently not available. + + + + The stock id to use for the primary icon for the entry. + + + + The representation which is used for the primary icon of the entry. + + + + The contents of the tooltip on the primary icon, which is marked up +with the <link linkend="PangoMarkupFormat">Pango text markup +language</link>. +Also see gtk_entry_set_icon_tooltip_markup(). + + + + The contents of the tooltip on the primary icon. +Also see gtk_entry_set_icon_tooltip_text(). + + + + The current fraction of the task that's been completed. + + + + The fraction of total entry width to move the progress +bouncing block for each call to gtk_entry_progress_pulse(). + + + + + + + Whether the secondary icon is activatable. +GTK+ emits the #GtkEntry::icon-press and #GtkEntry::icon-release +signals only on sensitive, activatable icons. +Sensitive, but non-activatable icons can be used for purely +informational purposes. + + + + The #GIcon to use for the secondary icon for the entry. + + + + The icon name to use for the secondary icon for the entry. + + + + An pixbuf to use as the secondary icon for the entry. + + + + Whether the secondary icon is sensitive. +An insensitive icon appears grayed out. GTK+ does not emit the +#GtkEntry::icon-press and #GtkEntry::icon-release signals and +does not allow DND from insensitive icons. +An icon should be set insensitive if the action that would trigger +when clicked is currently not available. + + + + The stock id to use for the secondary icon for the entry. + + + + The representation which is used for the secondary icon of the entry. + + + + The contents of the tooltip on the secondary icon, which is marked up +with the <link linkend="PangoMarkupFormat">Pango text markup +language</link>. +Also see gtk_entry_set_icon_tooltip_markup(). + + + + The contents of the tooltip on the secondary icon. +Also see gtk_entry_set_icon_tooltip_text(). + + + + + + + Which kind of shadow to draw around the entry when +#GtkEntry:has-frame is set to %TRUE. + + + + + + + The length of the text in the #GtkEntry. + + + + When %TRUE, pasted multi-line text is truncated to the first line. + + + + + + + + + + The horizontal alignment, from 0 (left) to 1 (right). +Reversed for RTL layouts. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A <link linkend="keybinding-signals">keybinding signal</link> +which gets emitted when the user activates the entry. +Applications should not connect to it, but may emit it with +g_signal_emit_by_name() if they need to control activation +programmatically. +The default bindings for this signal are all forms of the Enter key. + + + + + + The ::backspace signal is a +<link linkend="keybinding-signals">keybinding signal</link> +which gets emitted when the user asks for it. +The default bindings for this signal are +Backspace and Shift-Backspace. + + + + + + The ::copy-clipboard signal is a +<link linkend="keybinding-signals">keybinding signal</link> +which gets emitted to copy the selection to the clipboard. +The default bindings for this signal are +Ctrl-c and Ctrl-Insert. + + + + + + The ::cut-clipboard signal is a +<link linkend="keybinding-signals">keybinding signal</link> +which gets emitted to cut the selection to the clipboard. +The default bindings for this signal are +Ctrl-x and Shift-Delete. + + + + + + The ::delete-from-cursor signal is a +<link linkend="keybinding-signals">keybinding signal</link> +which gets emitted when the user initiates a text deletion. +If the @type is %GTK_DELETE_CHARS, GTK+ deletes the selection +if there is one, otherwise it deletes the requested number +of characters. +The default bindings for this signal are +Delete for deleting a character and Ctrl-Delete for +deleting a word. + + + + + + the granularity of the deletion, as a #GtkDeleteType + + + + the number of @type units to delete + + + + + + The ::icon-press signal is emitted when an activatable icon +is clicked. + + + + + + The position of the clicked icon + + + + the button press event + + + + + + The ::icon-release signal is emitted on the button release from a +mouse click over an activatable icon. + + + + + + The position of the clicked icon + + + + the button release event + + + + + + The ::insert-at-cursor signal is a +<link linkend="keybinding-signals">keybinding signal</link> +which gets emitted when the user initiates the insertion of a +fixed string at the cursor. +This signal has no default bindings. + + + + + + the string to insert + + + + + + The ::move-cursor signal is a +<link linkend="keybinding-signals">keybinding signal</link> +which gets emitted when the user initiates a cursor movement. +If the cursor is not visible in @entry, this signal causes +the viewport to be moved instead. +Applications should not connect to it, but may emit it with +g_signal_emit_by_name() if they need to control the cursor +programmatically. +The default bindings for this signal come in two variants, +the variant with the Shift modifier extends the selection, +the variant without the Shift modifer does not. +There are too many key combinations to list them all here. +<itemizedlist> +<listitem>Arrow keys move by individual characters/lines</listitem> +<listitem>Ctrl-arrow key combinations move by words/paragraphs</listitem> +<listitem>Home/End keys move to the ends of the buffer</listitem> +</itemizedlist> + + + + + + the granularity of the move, as a #GtkMovementStep + + + + the number of @step units to move + + + + %TRUE if the move should extend the selection + + + + + + The ::paste-clipboard signal is a +<link linkend="keybinding-signals">keybinding signal</link> +which gets emitted to paste the contents of the clipboard +into the text view. +The default bindings for this signal are +Ctrl-v and Shift-Insert. + + + + + + The ::populate-popup signal gets emitted before showing the +context menu of the entry. +If you need to add items to the context menu, connect +to this signal and append your menuitems to the @menu. + + + + + + the menu that is being populated + + + + + + If an input method is used, the typed text will not immediately +be committed to the buffer. So if you are interested in the text, +connect to this signal. + + + + + + the current preedit string + + + + + + The ::toggle-overwrite signal is a +<link linkend="keybinding-signals">keybinding signal</link> +which gets emitted to toggle the overwrite mode of the entry. +The default bindings for this signal is Insert. + + + + + + + + Create a new GtkEntryBuffer object. +Optionally, specify initial text to set in the buffer. + + A new GtkEntryBuffer object. + + + + + initial buffer text, or %NULL + + + + number of characters in @initial_chars, or -1 + + + + + + + + + + + + + + + + Retrieves the length in characters of the buffer. + + The number of characters in the buffer. + + + + + Inserts @n_chars characters of @chars into the contents of the +buffer, at position @position. +If @n_chars is negative, then characters from chars will be inserted +until a null-terminator is found. If @position or @n_chars are out of +bounds, or the maximum buffer text length is exceeded, then they are +coerced to sane values. +Note that the position and length are in characters, not in bytes. + + The number of characters actually inserted. + + + + + the position at which to insert text. + + + + the text to insert into the buffer. + + + + the length of the text in characters, or -1 + + + + + + Deletes a sequence of characters from the buffer. @n_chars characters are +deleted starting at @position. If @n_chars is negative, then all characters +until the end of the text are deleted. +If @position or @n_chars are out of bounds, then they are coerced to sane +values. +Note that the positions are specified in characters, not bytes. + + The number of characters deleted. + + + + + position at which to delete text + + + + number of characters to delete + + + + + + Retrieves the length in bytes of the buffer. +See gtk_entry_buffer_get_length(). + + The byte length of the buffer. + + + + + Retrieves the length in characters of the buffer. + + The number of characters in the buffer. + + + + + Retrieves the contents of the buffer. +The memory pointer returned by this call will not change +unless this object emits a signal, or is finalized. +string. This string points to internally allocated +storage in the buffer and must not be freed, modified or +stored. + + a pointer to the contents of the widget as a + + + + + Sets the text in the buffer. +This is roughly equivalent to calling gtk_entry_buffer_delete_text() +and gtk_entry_buffer_insert_text(). +Note that @n_chars is in characters, not in bytes. + + + + + + the new text + + + + the number of characters in @text, or -1 + + + + + + Sets the maximum allowed length of the contents of the buffer. If +the current contents are longer than the given length, then they +will be truncated to fit. + + + + + + the maximum length of the entry buffer, or 0 for no maximum. (other than the maximum length of entries.) The value passed in will be clamped to the range 0-65536. + + + + + + Retrieves the maximum allowed length of the text in +in #GtkEntryBuffer, or 0 if there is no maximum. + + the maximum allowed number of characters + + + + + Inserts @n_chars characters of @chars into the contents of the +buffer, at position @position. +If @n_chars is negative, then characters from chars will be inserted +until a null-terminator is found. If @position or @n_chars are out of +bounds, or the maximum buffer text length is exceeded, then they are +coerced to sane values. +Note that the position and length are in characters, not in bytes. + + The number of characters actually inserted. + + + + + the position at which to insert text. + + + + the text to insert into the buffer. + + + + the length of the text in characters, or -1 + + + + + + Deletes a sequence of characters from the buffer. @n_chars characters are +deleted starting at @position. If @n_chars is negative, then all characters +until the end of the text are deleted. +If @position or @n_chars are out of bounds, then they are coerced to sane +values. +Note that the positions are specified in characters, not bytes. + + The number of characters deleted. + + + + + position at which to delete text + + + + number of characters to delete + + + + + + Used when subclassing #GtkEntryBuffer + + + + + + position at which text was inserted + + + + text that was inserted + + + + number of characters inserted + + + + + + Used when subclassing #GtkEntryBuffer + + + + + + position at which text was deleted + + + + number of characters deleted + + + + + + The length (in characters) of the text in buffer. + + + + The maximum length (in characters) of the text in the buffer. + + + + The contents of the buffer. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The number of characters in the buffer. + + + + + + + + + + + + + The number of characters actually inserted. + + + + + + + + the position at which to insert text. + + + + the text to insert into the buffer. + + + + the length of the text in characters, or -1 + + + + + + + + + The number of characters deleted. + + + + + + + + position at which to delete text + + + + number of characters to delete + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Creates a new #GtkEntryCompletion object. + + A newly created #GtkEntryCompletion object. + + + + + Gets the entry @completion has been attached to. + + The entry @completion has been attached to. + + + + + Sets the model for a #GtkEntryCompletion. If @completion already has +a model set, it will remove it before setting the new model. +If model is %NULL, then it will unset the model. + + + + + + The #GtkTreeModel. + + + + + + Returns the model the #GtkEntryCompletion is using as data source. +Returns %NULL if the model is unset. + + A #GtkTreeModel, or %NULL if none is currently being used. + + + + + Sets the match function for @completion to be @func. The match function +is used to determine if a row should or should not be in the completion +list. + + + + + + The #GtkEntryCompletionMatchFunc to use. + + + + The user data for @func. + + + + Destroy notifier for @func_data. + + + + + + Requires the length of the search key for @completion to be at least +key takes a lot of time and will come up with meaningless results anyway +(ie, a too large dataset). + + + + + + The minimum length of the key in order to start completing. + + + + + + Returns the minimum key length as set for @completion. + + The currently used minimum key length. + + + + + Requests a completion operation, or in other words a refiltering of the +current list with completions, using the current key. The completion list +view will be updated accordingly. + + + + + + Requests a prefix insertion. + + + + + + Inserts an action in @completion's action item list at position @index_ +with text @text. If you want the action item to have markup, use +gtk_entry_completion_insert_action_markup(). + + + + + + The index of the item to insert. + + + + Text of the item to insert. + + + + + + Inserts an action in @completion's action item list at position @index_ +with markup @markup. + + + + + + The index of the item to insert. + + + + Markup of the item to insert. + + + + + + Deletes the action at @index_ from @completion's action list. + + + + + + The index of the item to Delete. + + + + + + Sets whether the common prefix of the possible completions should +be automatically inserted in the entry. + + + + + + %TRUE to do inline completion + + + + + + Returns whether the common prefix of the possible completions should +be automatically inserted in the entry. + + %TRUE if inline completion is turned on + + + + + Sets whether it is possible to cycle through the possible completions +inside the entry. + + + + + + %TRUE to do inline selection + + + + + + Returns %TRUE if inline-selection mode is turned on. + + %TRUE if inline-selection mode is on + + + + + Sets whether the completions should be presented in a popup window. + + + + + + %TRUE to do popup completion + + + + + + Returns whether the completions should be presented in a popup window. + + %TRUE if popup completion is turned on + + + + + Sets whether the completion popup window will be resized to be the same +width as the entry. + + + + + + %TRUE to make the width of the popup the same as the entry + + + + + + Returns whether the completion popup window will be resized to the +width of the entry. +the entry + + %TRUE if the popup window will be resized to the width of + + + + + Sets whether the completion popup window will appear even if there is +only a single match. You may want to set this to %FALSE if you +are using <link linkend="GtkEntryCompletion--inline-completion">inline +completion</link>. + + + + + + %TRUE if the popup should appear even for a single match + + + + + + Returns whether the completion popup window will appear even if there is +only a single match. +number of matches. + + %TRUE if the popup window will appear regardless of the + + + + + Get the original text entered by the user that triggered +the completion or %NULL if there's no completion ongoing. + + the prefix for the current completion + + + + + completion list with just strings. This function will set up @completion +to have a list displaying all (and just) strings in the completion list, +and to get those strings from @column in the model of @completion. +This functions creates and adds a #GtkCellRendererText for the selected +column. If you need to set the text column, but don't want the cell +renderer, use g_object_set() to set the ::text_column property directly. + + + + + + The column in the model of @completion to get strings from. + + + + + + Returns the column in the model of @completion to get strings from. + + the column containing the strings + + + + + Determines whether the common prefix of the possible completions +should be inserted automatically in the entry. Note that this +requires text-column to be set, even if you are using a custom +match function. + + + + Determines whether the possible completions on the popup +will appear in the entry as you navigate through them. + + + + + + + + + + Determines whether the possible completions should be +shown in a popup window. + + + + Determines whether the completions popup window will be +resized to the width of the entry. + + + + Determines whether the completions popup window will shown +for a single possible completion. You probably want to set +this to %FALSE if you are using +<link linkend="GtkEntryCompletion--inline-completion">inline +completion</link>. + + + + The column of the model containing the strings. +Note that the strings must be UTF-8. + + + + + + + + + + Gets emitted when an action is activated. + + + + + + the index of the activated action + + + + + + Gets emitted when a match from the cursor is on a match +of the list.The default behaviour is to replace the contents +of the entry with the contents of the text column in the row +pointed to by @iter. + + %TRUE if the signal has been handled + + + + + the #GtkTreeModel containing the matches + + + + a #GtkTreeIter positioned at the selected match + + + + + + Gets emitted when the inline autocompletion is triggered. +The default behaviour is to make the entry display the +whole prefix and select the newly inserted part. +Applications may connect to this signal in order to insert only a +smaller part of the @prefix into the entry - e.g. the entry used in +the #GtkFileChooser inserts only the part of the prefix up to the +next '/'. + + %TRUE if the signal has been handled + + + + + the common prefix of all possible completions + + + + + + Gets emitted when a match from the list is selected. +The default behaviour is to replace the contents of the +entry with the contents of the text column in the row +pointed to by @iter. + + %TRUE if the signal has been handled + + + + + the #GtkTreeModel containing the matches + + + + a #GtkTreeIter positioned at the selected match + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Returns whether the event box has a visible window. +See gtk_event_box_set_visible_window() for details. + + %TRUE if the event box window is visible + + + + + Set whether the event box uses a visible or invisible child +window. The default is to use visible windows. +In an invisible window event box, the window that the +event box creates is a %GDK_INPUT_ONLY window, which +means that it is invisible and only serves to receive +events. +A visible window event box creates a visible (%GDK_INPUT_OUTPUT) +window that acts as the parent window for all the widgets +contained in the event box. +You should generally make your event box invisible if +you just want to trap events. Creating a visible window +may cause artifacts that are visible to the user, especially +if the user is using a theme with gradients or pixmaps. +The main reason to create a non input-only event box is if +you want to set the background to a different color or +draw on it. +<note><para> +There is one unexpected issue for an invisible event box that has its +window below the child. (See gtk_event_box_set_above_child().) +Since the input-only window is not an ancestor window of any windows +that descendent widgets of the event box create, events on these +windows aren't propagated up by the windowing system, but only by GTK+. +The practical effect of this is if an event isn't in the event +mask for the descendant window (see gtk_widget_add_events()), +it won't be received by the event box. +</para><para> +This problem doesn't occur for visible event boxes, because in +that case, the event box window is actually the ancestor of the +descendant windows, not just at the same place on the screen. +</para></note> + + + + + + boolean value + + + + + + Returns whether the event box window is above or below the +windows of its child. See gtk_event_box_set_above_child() for +details. +of its child. + + %TRUE if the event box window is above the window + + + + + Set whether the event box window is positioned above the windows of its child, +as opposed to below it. If the window is above, all events inside the +event box will go to the event box. If the window is below, events +in windows of child widgets will first got to that widget, and then +to its parents. +The default is to keep the window below the child. + + + + + + %TRUE if the event box window is above the windows of its child + + + + + + + + + + + + + + + + + + + + + + + + Creates a new expander using @label as the text of the label. + + a new #GtkExpander widget. + + + + + the text of the label + + + + + + Creates a new expander using @label as the text of the label. +If characters in @label are preceded by an underscore, they are underlined. +If you need a literal underscore character in a label, use '__' (two +underscores). The first underlined character represents a keyboard +accelerator called a mnemonic. +Pressing Alt and that key activates the button. + + a new #GtkExpander widget. + + + + + the text of the label with an underscore in front of the mnemonic character + + + + + + Sets the state of the expander. Set to %TRUE, if you want +the child widget to be revealed, and %FALSE if you want the +child widget to be hidden. + + + + + + whether the child widget is revealed + + + + + + Queries a #GtkExpander and returns its current state. Returns %TRUE +if the child widget is revealed. +See gtk_expander_set_expanded(). + + the current state of the expander. + + + + + Sets the spacing field of @expander, which is the number of pixels to +place between expander and the child. + + + + + + distance between the expander and child in pixels. + + + + + + Gets the value set by gtk_expander_set_spacing(). + + spacing between the expander and child. + + + + + Sets the text of the label of the expander to @label. +This will also clear any previously set labels. + + + + + + a string + + + + + + Fetches the text from a label widget including any embedded +underlines indicating mnemonics and Pango markup, as set by +gtk_expander_set_label(). If the label text has not been set the +return value will be %NULL. This will be the case if you create an +empty button with gtk_button_new() to use as a container. +Note that this function behaved differently in versions prior to +2.14 and used to return the label text stripped of embedded +underlines indicating mnemonics and Pango markup. This problem can +be avoided by fetching the label text directly from the label +widget. +by the widget and must not be modified or freed. + + The text of the label widget. This string is owned + + + + + If true, an underline in the text of the expander label indicates +the next character should be used for the mnemonic accelerator key. + + + + + + %TRUE if underlines in the text indicate mnemonics + + + + + + Returns whether an embedded underline in the expander label indicates a +mnemonic. See gtk_expander_set_use_underline(). +indicates the mnemonic accelerator keys. + + %TRUE if an embedded underline in the expander label + + + + + Sets whether the text of the label contains markup in <link +linkend="PangoMarkupFormat">Pango's text markup +language</link>. See gtk_label_set_markup(). + + + + + + %TRUE if the label's text should be parsed for markup + + + + + + Returns whether the label's text is interpreted as marked up with +the <link linkend="PangoMarkupFormat">Pango text markup +language</link>. See gtk_expander_set_use_markup (). + + %TRUE if the label's text will be parsed for markup + + + + + Set the label widget for the expander. This is the widget +that will appear embedded alongside the expander arrow. + + + + + + the new label widget + + + + + + Retrieves the label widget for the frame. See +gtk_expander_set_label_widget(). + + the label widget, or %NULL if there is none. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Sets the type of operation that the chooser is performing; the +user interface is adapted to suit the selected action. For example, +an option to create a new folder might be shown if the action is +%GTK_FILE_CHOOSER_ACTION_SAVE but not if the action is +%GTK_FILE_CHOOSER_ACTION_OPEN. + + + + + + the action that the file selector is performing + + + + + + Gets the type of operation that the file chooser is performing; see +gtk_file_chooser_set_action(). + + the action that the file selector is performing + + + + + Sets whether only local files can be selected in the +file selector. If @local_only is %TRUE (the default), +then the selected file are files are guaranteed to be +accessible through the operating systems native file +file system and therefore the application only +needs to worry about the filename functions in +#GtkFileChooser, like gtk_file_chooser_get_filename(), +rather than the URI functions like +gtk_file_chooser_get_uri(), + + + + + + %TRUE if only local files can be selected + + + + + + Gets whether only local files can be selected in the +file selector. See gtk_file_chooser_set_local_only() + + %TRUE if only local files can be selected. + + + + + Sets whether multiple files can be selected in the file selector. This is +only relevant if the action is set to be %GTK_FILE_CHOOSER_ACTION_OPEN or +%GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER. + + + + + + %TRUE if multiple files can be selected. + + + + + + Gets whether multiple files can be selected in the file +selector. See gtk_file_chooser_set_select_multiple(). + + %TRUE if multiple files can be selected. + + + + + Sets whether hidden files and folders are displayed in the file selector. + + + + + + %TRUE if hidden files and folders should be displayed. + + + + + + Gets whether hidden files and folders are displayed in the file selector. +See gtk_file_chooser_set_show_hidden(). + + %TRUE if hidden files and folders are displayed. + + + + + Sets whether a file chooser in %GTK_FILE_CHOOSER_ACTION_SAVE mode will present +a confirmation dialog if the user types a file name that already exists. This +is %FALSE by default. +Regardless of this setting, the @chooser will emit the +#GtkFileChooser::confirm-overwrite signal when appropriate. +If all you need is the stock confirmation dialog, set this property to %TRUE. +You can override the way confirmation is done by actually handling the +#GtkFileChooser::confirm-overwrite signal; please refer to its documentation +for the details. + + + + + + whether to confirm overwriting in save mode + + + + + + Queries whether a file chooser is set to confirm for overwriting when the user +types a file name that already exists. +%FALSE otherwise. + + %TRUE if the file chooser will present a confirmation dialog; + + + + + Sets whether file choser will offer to create new folders. +This is only relevant if the action is not set to be +%GTK_FILE_CHOOSER_ACTION_OPEN. + + + + + + %TRUE if the New Folder button should be displayed + + + + + + Gets whether file choser will offer to create new folders. +See gtk_file_chooser_set_create_folders(). + + %TRUE if the New Folder button should be displayed. + + + + + Sets the current name in the file selector, as if entered +by the user. Note that the name passed in here is a UTF-8 +string rather than a filename. This function is meant for +such uses as a suggested name in a "Save As..." dialog. +If you want to preselect a particular existing file, you should use +gtk_file_chooser_set_filename() or gtk_file_chooser_set_uri() instead. +Please see the documentation for those functions for an example of using +gtk_file_chooser_set_current_name() as well. + + + + + + the filename to use, as a UTF-8 string + + + + + + Gets the filename for the currently selected file in +the file selector. If multiple files are selected, +one of the filenames will be returned at random. +If the file chooser is in folder mode, this function returns the selected +folder. +if no file is selected, or the selected file can't +be represented with a local filename. Free with g_free(). + + The currently selected filename, or %NULL + + + + + Sets @filename as the current filename for the file chooser, by changing +to the file's parent folder and actually selecting the file in list. If +the @chooser is in %GTK_FILE_CHOOSER_ACTION_SAVE mode, the file's base name +will also appear in the dialog's file name entry. +If the file name isn't in the current folder of @chooser, then the current +folder of @chooser will be changed to the folder containing @filename. This +is equivalent to a sequence of gtk_file_chooser_unselect_all() followed by +gtk_file_chooser_select_filename(). +Note that the file must exist, or nothing will be done except +for the directory change. +If you are implementing a <guimenuitem>File/Save As...</guimenuitem> dialog, +you should use this function if you already have a file name to which the +user may save; for example, when the user opens an existing file and then +does <guimenuitem>File/Save As...</guimenuitem> on it. If you don't have +a file name already &mdash; for example, if the user just created a new +file and is saving it for the first time, do not call this function. +Instead, use something similar to this: +|[ +if (document_is_new) +{ +/&ast; the user just created a new document &ast;/ +gtk_file_chooser_set_current_folder (chooser, default_folder_for_saving); +gtk_file_chooser_set_current_name (chooser, "Untitled document"); +} +else +{ +/&ast; the user edited an existing document &ast;/ +gtk_file_chooser_set_filename (chooser, existing_filename); +} +]| +selected successfully, %FALSE otherwise. + + %TRUE if both the folder could be changed and the file was + + + + + the filename to set as current + + + + + + Selects a filename. If the file name isn't in the current +folder of @chooser, then the current folder of @chooser will +be changed to the folder containing @filename. +selected successfully, %FALSE otherwise. + + %TRUE if both the folder could be changed and the file was + + + + + the filename to select + + + + + + Unselects a currently selected filename. If the filename +is not in the current directory, does not exist, or +is otherwise not currently selected, does nothing. + + + + + + the filename to unselect + + + + + + Selects all the files in the current folder of a file chooser. + + + + + + Unselects all the files in the current folder of a file chooser. + + + + + + Lists all the selected files and subfolders in the current folder of +folder cannot be represented as local filenames they will be ignored. (See +gtk_file_chooser_get_uris()) +files and subfolders in the current folder. Free the returned list +with g_slist_free(), and the filenames with g_free(). + + a #GSList containing the filenames of all selected + + + + + + + Sets the current folder for @chooser from a local filename. +The user will be shown the full contents of the current folder, +plus user interface elements for navigating to other folders. +otherwise. + + %TRUE if the folder could be changed successfully, %FALSE + + + + + the full path of the new current folder + + + + + + Gets the current folder of @chooser as a local filename. +See gtk_file_chooser_set_current_folder(). +Note that this is the folder that the file chooser is currently displaying +(e.g. "/home/username/Documents"), which is <emphasis>not the same</emphasis> +as the currently-selected folder if the chooser is in +%GTK_FILE_CHOOSER_SELECT_FOLDER mode +(e.g. "/home/username/Documents/selected-folder/". To get the +currently-selected folder in that mode, use gtk_file_chooser_get_uri() as the +usual way to get the selection. +path cannot be represented as a local filename. Free with g_free(). This +function will also return %NULL if the file chooser was unable to load the +last folder that was requested from it; for example, as would be for calling +gtk_file_chooser_set_current_folder() on a nonexistent folder. + + the full path of the current folder, or %NULL if the current + + + + + Gets the URI for the currently selected file in +the file selector. If multiple files are selected, +one of the filenames will be returned at random. +If the file chooser is in folder mode, this function returns the selected +folder. +if no file is selected. Free with g_free() + + The currently selected URI, or %NULL + + + + + Sets the file referred to by @uri as the current file for the file chooser, +by changing to the URI's parent folder and actually selecting the URI in the +list. If the @chooser is %GTK_FILE_CHOOSER_ACTION_SAVE mode, the URI's base +name will also appear in the dialog's file name entry. +If the URI isn't in the current folder of @chooser, then the current folder +of @chooser will be changed to the folder containing @uri. This is equivalent +to a sequence of gtk_file_chooser_unselect_all() followed by +gtk_file_chooser_select_uri(). +Note that the URI must exist, or nothing will be done except for the +directory change. +If you are implementing a <guimenuitem>File/Save As...</guimenuitem> dialog, +you should use this function if you already have a file name to which the +user may save; for example, when the user opens an existing file and then +does <guimenuitem>File/Save As...</guimenuitem> on it. If you don't have +a file name already &mdash; for example, if the user just created a new +file and is saving it for the first time, do not call this function. +Instead, use something similar to this: +|[ +if (document_is_new) +{ +/&ast; the user just created a new document &ast;/ +gtk_file_chooser_set_current_folder_uri (chooser, default_folder_for_saving); +gtk_file_chooser_set_current_name (chooser, "Untitled document"); +} +else +{ +/&ast; the user edited an existing document &ast;/ +gtk_file_chooser_set_uri (chooser, existing_uri); +} +]| +selected successfully, %FALSE otherwise. + + %TRUE if both the folder could be changed and the URI was + + + + + the URI to set as current + + + + + + Selects the file to by @uri. If the URI doesn't refer to a +file in the current folder of @chooser, then the current folder of +selected successfully, %FALSE otherwise. + + %TRUE if both the folder could be changed and the URI was + + + + + the URI to select + + + + + + Unselects the file referred to by @uri. If the file +is not in the current directory, does not exist, or +is otherwise not currently selected, does nothing. + + + + + + the URI to unselect + + + + + + Lists all the selected files and subfolders in the current folder of +files and subfolders in the current folder. Free the returned list +with g_slist_free(), and the filenames with g_free(). + + a #GSList containing the URIs of all selected + + + + + + + Sets the current folder for @chooser from an URI. +The user will be shown the full contents of the current folder, +plus user interface elements for navigating to other folders. +otherwise. + + %TRUE if the folder could be changed successfully, %FALSE + + + + + the URI for the new current folder + + + + + + Gets the current folder of @chooser as an URI. +See gtk_file_chooser_set_current_folder_uri(). +Note that this is the folder that the file chooser is currently displaying +(e.g. "file:///home/username/Documents"), which is <emphasis>not the same</emphasis> +as the currently-selected folder if the chooser is in +%GTK_FILE_CHOOSER_SELECT_FOLDER mode +(e.g. "file:///home/username/Documents/selected-folder/". To get the +currently-selected folder in that mode, use gtk_file_chooser_get_uri() as the +usual way to get the selection. +function will also return %NULL if the file chooser was unable to load the +last folder that was requested from it; for example, as would be for calling +gtk_file_chooser_set_current_folder_uri() on a nonexistent folder. + + the URI for the current folder. Free with g_free(). This + + + + + Gets the #GFile for the currently selected file in +the file selector. If multiple files are selected, +one of the files will be returned at random. +If the file chooser is in folder mode, this function returns the selected +folder. +g_object_unref() to release it. + + a selected #GFile. You own the returned file; use + + + + + Sets @file as the current filename for the file chooser, by changing +to the file's parent folder and actually selecting the file in list. If +the @chooser is in %GTK_FILE_CHOOSER_ACTION_SAVE mode, the file's base name +will also appear in the dialog's file name entry. +If the file name isn't in the current folder of @chooser, then the current +folder of @chooser will be changed to the folder containing @filename. This +is equivalent to a sequence of gtk_file_chooser_unselect_all() followed by +gtk_file_chooser_select_filename(). +Note that the file must exist, or nothing will be done except +for the directory change. +If you are implementing a <guimenuitem>File/Save As...</guimenuitem> dialog, +you should use this function if you already have a file name to which the +user may save; for example, when the user opens an existing file and then +does <guimenuitem>File/Save As...</guimenuitem> on it. If you don't have +a file name already &mdash; for example, if the user just created a new +file and is saving it for the first time, do not call this function. +Instead, use something similar to this: +|[ +if (document_is_new) +{ +/&ast; the user just created a new document &ast;/ +gtk_file_chooser_set_current_folder_file (chooser, default_file_for_saving); +gtk_file_chooser_set_current_name (chooser, "Untitled document"); +} +else +{ +/&ast; the user edited an existing document &ast;/ +gtk_file_chooser_set_file (chooser, existing_file); +} +]| +selected successfully, %FALSE otherwise. + + %TRUE if both the folder could be changed and the file was + + + + + the #GFile to set as current + + + + + + Selects the file referred to by @file. An internal function. See +_gtk_file_chooser_select_uri(). +selected successfully, %FALSE otherwise. + + %TRUE if both the folder could be changed and the path was + + + + + the file to select + + + + + + Unselects the file referred to by @file. If the file is not in the current +directory, does not exist, or is otherwise not currently selected, does nothing. + + + + + + a #GFile + + + + + + Lists all the selected files and subfolders in the current folder of @chooser +as #GFile. An internal function, see gtk_file_chooser_get_uris(). +file and subfolder in the current folder. Free the returned list +with g_slist_free(), and the files with g_object_unref(). + + a #GSList containing a #GFile for each selected + + + + + + + Sets the current folder for @chooser from a #GFile. +Internal function, see gtk_file_chooser_set_current_folder_uri(). +otherwise. + + %TRUE if the folder could be changed successfully, %FALSE + + + + + the #GFile for the new folder + + + + + + Gets the current folder of @chooser as #GFile. +See gtk_file_chooser_get_current_folder_uri(). + + the #GFile for the current folder. + + + + + Sets an application-supplied widget to use to display a custom preview +of the currently selected file. To implement a preview, after setting the +preview widget, you connect to the #GtkFileChooser::update-preview +signal, and call gtk_file_chooser_get_preview_filename() or +gtk_file_chooser_get_preview_uri() on each change. If you can +display a preview of the new file, update your widget and +set the preview active using gtk_file_chooser_set_preview_widget_active(). +Otherwise, set the preview inactive. +When there is no application-supplied preview widget, or the +application-supplied preview widget is not active, the file chooser +may display an internally generated preview of the current file or +it may display no preview at all. + + + + + + widget for displaying preview. + + + + + + Gets the current preview widget; see +gtk_file_chooser_set_preview_widget(). + + the current preview widget, or %NULL + + + + + Sets whether the preview widget set by +gtk_file_chooser_set_preview_widget() should be shown for the +current filename. When @active is set to false, the file chooser +may display an internally generated preview of the current file +or it may display no preview at all. See +gtk_file_chooser_set_preview_widget() for more details. + + + + + + whether to display the user-specified preview widget + + + + + + Gets whether the preview widget set by gtk_file_chooser_set_preview_widget() +should be shown for the current filename. See +gtk_file_chooser_set_preview_widget_active(). + + %TRUE if the preview widget is active for the current filename. + + + + + Sets whether the file chooser should display a stock label with the name of +the file that is being previewed; the default is %TRUE. Applications that +want to draw the whole preview area themselves should set this to %FALSE and +display the name themselves in their preview widget. + + + + + + whether to display a stock label with the name of the previewed file + + + + + + Gets whether a stock label should be drawn with the name of the previewed +file. See gtk_file_chooser_set_use_preview_label(). +name of the previewed file, %FALSE otherwise. + + %TRUE if the file chooser is set to display a label with the + + + + + Gets the filename that should be previewed in a custom preview +widget. See gtk_file_chooser_set_preview_widget(). +is selected, or if the selected file cannot be represented +as a local filename. Free with g_free() + + the filename to preview, or %NULL if no file + + + + + Gets the URI that should be previewed in a custom preview +widget. See gtk_file_chooser_set_preview_widget(). +selected. Free with g_free(). + + the URI for the file to preview, or %NULL if no file is + + + + + Gets the #GFile that should be previewed in a custom preview +Internal function, see gtk_file_chooser_get_preview_uri(). +is selected. Free with g_object_unref(). + + the #GFile for the file to preview, or %NULL if no file + + + + + Sets an application-supplied widget to provide extra options to the user. + + + + + + widget for extra options + + + + + + Gets the current preview widget; see +gtk_file_chooser_set_extra_widget(). + + the current extra widget, or %NULL + + + + + Adds @filter to the list of filters that the user can select between. +When a filter is selected, only files that are passed by that +filter are displayed. +Note that the @chooser takes ownership of the filter, so you have to +ref and sink it if you want to keep a reference. + + + + + + a #GtkFileFilter + + + + + + Removes @filter from the list of filters that the user can select between. + + + + + + a #GtkFileFilter + + + + + + Lists the current set of user-selectable filters; see +gtk_file_chooser_add_filter(), gtk_file_chooser_remove_filter(). +user selectable filters. The contents of the list are +owned by GTK+, but you must free the list itself with +g_slist_free() when you are done with it. + + a #GSList containing the current set of + + + + + + + Sets the current filter; only the files that pass the +filter will be displayed. If the user-selectable list of filters +is non-empty, then the filter should be one of the filters +in that list. Setting the current filter when the list of +filters is empty is useful if you want to restrict the displayed +set of files without letting the user change it. + + + + + + a #GtkFileFilter + + + + + + Gets the current filter; see gtk_file_chooser_set_filter(). + + the current filter, or %NULL + + + + + Adds a folder to be displayed with the shortcut folders in a file chooser. +Note that shortcut folders do not get saved, as they are provided by the +application. For example, you can use this to add a +"/usr/share/mydrawprogram/Clipart" folder to the volume list. +otherwise. In the latter case, the @error will be set as appropriate. + + %TRUE if the folder could be added successfully, %FALSE + + + + + filename of the folder to add + + + + + + Removes a folder from a file chooser's list of shortcut folders. +In the latter case, the @error will be set as appropriate. + + %TRUE if the operation succeeds, %FALSE otherwise. + + + + + filename of the folder to remove + + + + + + Queries the list of shortcut folders in the file chooser, as set by +gtk_file_chooser_add_shortcut_folder(). +folders. Free the returned list with g_slist_free(), and the filenames with +g_free(). + + A list of folder filenames, or %NULL if there are no shortcut + + + + + + + Adds a folder URI to be displayed with the shortcut folders in a file +chooser. Note that shortcut folders do not get saved, as they are provided +by the application. For example, you can use this to add a +"file:///usr/share/mydrawprogram/Clipart" folder to the volume list. +otherwise. In the latter case, the @error will be set as appropriate. + + %TRUE if the folder could be added successfully, %FALSE + + + + + URI of the folder to add + + + + + + Removes a folder URI from a file chooser's list of shortcut folders. +In the latter case, the @error will be set as appropriate. + + %TRUE if the operation succeeds, %FALSE otherwise. + + + + + URI of the folder to remove + + + + + + Queries the list of shortcut folders in the file chooser, as set by +gtk_file_chooser_add_shortcut_folder_uri(). +folders. Free the returned list with g_slist_free(), and the URIs with +g_free(). + + A list of folder URIs, or %NULL if there are no shortcut + + + + + + + + + + Whether a file chooser not in %GTK_FILE_CHOOSER_ACTION_OPEN mode +will offer the user to create new folders. + + + + Whether a file chooser in %GTK_FILE_CHOOSER_ACTION_SAVE mode +will present an overwrite confirmation dialog if the user +selects a file name that already exists. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + This signal gets emitted whenever it is appropriate to present a +confirmation dialog when the user has selected a file name that +already exists. The signal only gets emitted when the file +chooser is in %GTK_FILE_CHOOSER_ACTION_SAVE mode. +Most applications just need to turn on the +#GtkFileChooser:do-overwrite-confirmation property (or call the +gtk_file_chooser_set_do_overwrite_confirmation() function), and +they will automatically get a stock confirmation dialog. +Applications which need to customize this behavior should do +that, and also connect to the #GtkFileChooser::confirm-overwrite +signal. +A signal handler for this signal must return a +#GtkFileChooserConfirmation value, which indicates the action to +take. If the handler determines that the user wants to select a +different filename, it should return +%GTK_FILE_CHOOSER_CONFIRMATION_SELECT_AGAIN. If it determines +that the user is satisfied with his choice of file name, it +should return %GTK_FILE_CHOOSER_CONFIRMATION_ACCEPT_FILENAME. +On the other hand, if it determines that the stock confirmation +dialog should be used, it should return +%GTK_FILE_CHOOSER_CONFIRMATION_CONFIRM. The following example +illustrates this. +<example id="gtkfilechooser-confirmation"> +<title>Custom confirmation</title> +<programlisting> +static GtkFileChooserConfirmation +confirm_overwrite_callback (GtkFileChooser *chooser, gpointer data) +{ +char *uri; +uri = gtk_file_chooser_get_uri (chooser); +if (is_uri_read_only (uri)) +{ +if (user_wants_to_replace_read_only_file (uri)) +return GTK_FILE_CHOOSER_CONFIRMATION_ACCEPT_FILENAME; +else +return GTK_FILE_CHOOSER_CONFIRMATION_SELECT_AGAIN; +} else +return GTK_FILE_CHOOSER_CONFIRMATION_CONFIRM; // fall back to the default dialog +} +... +chooser = gtk_file_chooser_dialog_new (...); +gtk_file_chooser_set_do_overwrite_confirmation (GTK_FILE_CHOOSER (dialog), TRUE); +g_signal_connect (chooser, "confirm-overwrite", +G_CALLBACK (confirm_overwrite_callback), NULL); +if (gtk_dialog_run (chooser) == GTK_RESPONSE_ACCEPT) +save_to_file (gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (chooser)); +gtk_widget_destroy (chooser); +</programlisting> +</example> +action to take after emitting the signal. + + a #GtkFileChooserConfirmation value that indicates which + + + + + + + + + + + + + + + + + + + + + + + + + + Describes whether a #GtkFileChooser is being used to open existing files +or to save to a possibly new file. + + + + + + + + + + + + Creates a new file-selecting button widget. + + a new button widget. + + + + + the title of the browse dialog. + + + + the open mode for the widget. + + + + + + Creates a new file-selecting button widget using @backend. + + a new button widget. + + + + + the title of the browse dialog. + + + + the open mode for the widget. + + + + the name of the #GtkFileSystem backend to use. + + + + + + Creates a #GtkFileChooserButton widget which uses @dialog as its +file-picking window. +Note that @dialog must be a #GtkDialog (or subclass) which +implements the #GtkFileChooser interface and must not have +%GTK_DIALOG_DESTROY_WITH_PARENT set. +Also note that the dialog needs to have its confirmative button +added with response %GTK_RESPONSE_ACCEPT or %GTK_RESPONSE_OK in +order for the button to take over the file selected in the dialog. + + a new button widget. + + + + + the widget to use as dialog + + + + + + Retrieves the title of the browse dialog used by @button. The returned value +should not be modified or freed. + + a pointer to the browse dialog's title. + + + + + Modifies the @title of the browse dialog used by @button. + + + + + + the new browse dialog title. + + + + + + Retrieves the width in characters of the @button widget's entry and/or label. + + an integer width (in characters) that the button will use to size itself. + + + + + Sets the width (in characters) that @button will use to @n_chars. + + + + + + the new width, in characters. + + + + + + Returns whether the button grabs focus when it is clicked with the mouse. +See gtk_file_chooser_button_set_focus_on_click(). +the mouse. + + %TRUE if the button grabs focus when it is clicked with + + + + + Sets whether the button will grab focus when it is clicked with the mouse. +Making mouse clicks not grab focus is useful in places like toolbars where +you don't want the keyboard focus removed from the main area of the +application. + + + + + + whether the button grabs focus when clicked with the mouse + + + + + + Instance of the #GtkFileChooserDialog associated with the button. + + + + Whether the #GtkFileChooserButton button grabs focus when it is clicked +with the mouse. + + + + Title to put on the #GtkFileChooserDialog associated with the button. + + + + The width of the entry and label inside the button, in characters. + + + + + + + + + + The ::file-set signal is emitted when the user selects a file. +Note that this signal is only emitted when the <emphasis>user</emphasis> +changes the file. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Used as a return value of handlers for the +#GtkFileChooser::confirm-overwrite signal of a #GtkFileChooser. This +value determines whether the file chooser will present the stock +confirmation dialog, accept the user's choice of a filename, or +let the user choose another filename. + + + + + + + + + + Creates a new #GtkFileChooserDialog. This function is analogous to +gtk_dialog_new_with_buttons(). + + a new #GtkFileChooserDialog + + + + + Title of the dialog, or %NULL + + + + Transient parent of the dialog, or %NULL + + + + Open or save mode for the dialog + + + + stock ID or text to go in the first button, or %NULL + + + + + + + + + + Creates a new #GtkFileChooserDialog with a specified backend. This is +especially useful if you use gtk_file_chooser_set_local_only() to allow +non-local files and you use a more expressive vfs, such as gnome-vfs, +to load files. + + a new #GtkFileChooserDialog + + + + + Title of the dialog, or %NULL + + + + Transient parent of the dialog, or %NULL + + + + Open or save mode for the dialog + + + + The name of the specific filesystem backend to use. + + + + stock ID or text to go in the first button, or %NULL + + + + + + + + + + + + + + + + + + + + + + + + These identify the various errors that can occur while calling +#GtkFileChooser functions. + + + + + + + + + + + + Creates a new #GtkFileChooserWidget. This is a file chooser widget that can +be embedded in custom windows, and it is the same widget that is used by +#GtkFileChooserDialog. + + a new #GtkFileChooserWidget + + + + + Open or save mode for the widget + + + + + + Creates a new #GtkFileChooserWidget with a specified backend. This is +especially useful if you use gtk_file_chooser_set_local_only() to allow +non-local files. This is a file chooser widget that can be embedded in +custom windows and it is the same widget that is used by +#GtkFileChooserDialog. + + a new #GtkFileChooserWidget + + + + + Open or save mode for the widget + + + + The name of the specific filesystem backend to use. + + + + + + + + + + + + + + + + + + + + + Creates a new #GtkFileFilter with no rules added to it. +Such a filter doesn't accept any files, so is not +particularly useful until you add rules with +gtk_file_filter_add_mime_type(), gtk_file_filter_add_pattern(), +or gtk_file_filter_add_custom(). To create a filter +that accepts any file, use: +|[ +GtkFileFilter *filter = gtk_file_filter_new (); +gtk_file_filter_add_pattern (filter, "*"); +]| + + a new #GtkFileFilter + + + + + Sets the human-readable name of the filter; this is the string +that will be displayed in the file selector user interface if +there is a selectable list of filters. + + + + + + the human-readable-name for the filter, or %NULL to remove any existing name. + + + + + + Gets the human-readable name for the filter. See gtk_file_filter_set_name(). +or %NULL. This value is owned by GTK+ and must not +be modified or freed. + + The human-readable name of the filter, + + + + + Adds a rule allowing a given mime type to @filter. + + + + + + name of a MIME type + + + + + + Adds a rule allowing a shell style glob to a filter. + + + + + + a shell style glob + + + + + + Adds a rule allowing image files in the formats supported +by GdkPixbuf. + + + + + + Adds rule to a filter that allows files based on a custom callback +function. The bitfield @needed which is passed in provides information +about what sorts of information that the filter function needs; +this allows GTK+ to avoid retrieving expensive information when +it isn't needed by the filter. + + + + + + bitfield of flags indicating the information that the custom filter function needs. + + + + callback function; if the function returns %TRUE, then the file will be displayed. + + + + data to pass to @func + + + + function to call to free @data when it is no longer needed. + + + + + + Gets the fields that need to be filled in for the structure +passed to gtk_file_filter_filter() +This function will not typically be used by applications; it +is intended principally for use in the implementation of +#GtkFileChooser. +calling gtk_file_filter_filter() + + bitfield of flags indicating needed fields when + + + + + Tests whether a file should be displayed according to @filter. +The #GtkFileFilterInfo structure @filter_info should include +the fields returned from gtk_file_filter_get_needed(). +This function will not typically be used by applications; it +is intended principally for use in the implementation of +#GtkFileChooser. + + %TRUE if the file should be displayed + + + + + a #GtkFileFilterInfo structure containing information about a file. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Sets a default path for the file requestor. If @filename includes a +directory path, then the requestor will open with that path as its +current working directory. +This has the consequence that in order to open the requestor with a +working directory and an empty filename, @filename must have a trailing +directory separator. +The encoding of @filename is preferred GLib file name encoding, which +may not be UTF-8. See g_filename_from_utf8(). + + + + + + a string to set as the default file name. + + + + + + This function returns the selected filename in the GLib file name +encoding. To convert to UTF-8, call g_filename_to_utf8(). The +returned string points to a statically allocated buffer and should +be copied if you plan to keep it around. +If no file is selected then the selected directory path is returned. + + currently-selected filename in the on-disk encoding. + + + + + + + + + + + + + + + + + + + + + + + + + Retrieves the list of file selections the user has made in the dialog box. +This function is intended for use when the user can select multiple files +in the file list. +The filenames are in the GLib file name encoding. To convert to +UTF-8, call g_filename_to_utf8() on each string. +g_strfreev() to free it. + + a newly-allocated %NULL-terminated array of strings. Use + + + + + + + Sets whether the user is allowed to select multiple files in the file list. +Use gtk_file_selection_get_selections () to get the list of selected files. + + + + + + whether or not the user is allowed to select multiple files in the file list. + + + + + + Determines whether or not the user is allowed to select multiple files in +the file list. See gtk_file_selection_set_select_multiple(). +file list + + %TRUE if the user is allowed to select multiple files in the + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Sets whether a #GtkFixed widget is created with a separate +#GdkWindow for @widget->window or not. (By default, it will be +created with no separate #GdkWindow). This function must be called +while the #GtkFixed is not realized, for instance, immediately after the +window is created. +This function was added to provide an easy migration path for +older applications which may expect #GtkFixed to have a separate window. + + + + + + %TRUE if a separate window should be created + + + + + + Gets whether the #GtkFixed has its own #GdkWindow. +See gtk_fixed_set_has_window(). + + %TRUE if @fixed has its own window. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Creates a new font picker widget. + + a new font picker widget. + + + + + Creates a new font picker widget. + + a new font picker widget. + + + + + Name of font to display in font selection dialog + + + + + + Retrieves the title of the font selection dialog. + + an internal copy of the title string which must not be freed. + + + + + Sets the title for the font selection dialog. + + + + + + a string containing the font selection dialog title + + + + + + Returns whether the selected font is used in the label. + + whether the selected font is used in the label. + + + + + If @use_font is %TRUE, the font name will be written using the selected font. + + + + + + If %TRUE, font name will be written using font chosen. + + + + + + Returns whether the selected size is used in the label. + + whether the selected size is used in the label. + + + + + If @use_size is %TRUE, the font name will be written using the selected size. + + + + + + If %TRUE, font name will be written using the selected size. + + + + + + Retrieves the name of the currently selected font. This name includes +style and size information as well. If you want to render something +with the font, use this string with pango_font_description_from_string() . +If you're interested in peeking certain values (family name, +style, size, weight) just query these properties from the +#PangoFontDescription object. + + an internal copy of the font name which must not be freed. + + + + + Sets or updates the currently-displayed font in font picker dialog. +font selection dialog exists, otherwise %FALSE. + + Return value of gtk_font_selection_dialog_set_font_name() if the + + + + + Name of font to display in font selection dialog + + + + + + Returns whether the name of the font style will be shown in the label. + + whether the font style will be shown in the label. + + + + + If @show_style is %TRUE, the font style will be displayed along with name of the selected font. + + + + + + %TRUE if font style should be displayed in label. + + + + + + Returns whether the font size will be shown in the label. + + whether the font size will be shown in the label. + + + + + If @show_size is %TRUE, the font size will be displayed along with the name of the selected font. + + + + + + %TRUE if font size should be displayed in dialog. + + + + + + The name of the currently selected font. + + + + If this property is set to %TRUE, the selected font size will be shown +in the label. For a more WYSIWYG way to show the selected size, see the +::use-size property. + + + + If this property is set to %TRUE, the name of the selected font style +will be shown in the label. For a more WYSIWYG way to show the selected +style, see the ::use-font property. + + + + The title of the font selection dialog. + + + + If this property is set to %TRUE, the label will be drawn +in the selected font. + + + + If this property is set to %TRUE, the label will be drawn +with the selected font size. + + + + + + + + + + The ::font-set signal is emitted when the user selects a font. +When handling this signal, use gtk_font_button_get_font_name() +to find out which font was just selected. +Note that this signal is only emitted when the <emphasis>user</emphasis> +changes the font. If you need to react to programmatic font changes +as well, use the notify::font-name signal. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Creates a new #GtkFontSelection. + + a n ew #GtkFontSelection + + + + + This returns the #GtkTreeView that lists font families, for +example, 'Sans', 'Serif', etc. + + A #GtkWidget that is part of @fontsel + + + + + This returns the #GtkTreeView which lists all styles available for +the selected font. For example, 'Regular', 'Bold', etc. + + A #GtkWidget that is part of @fontsel + + + + + This returns the #GtkEntry used to allow the user to edit the font +number manually instead of selecting it from the list of font sizes. + + A #GtkWidget that is part of @fontsel + + + + + This returns the #GtkTreeeView used to list font sizes. + + A #GtkWidget that is part of @fontsel + + + + + This returns the #GtkEntry used to display the font as a preview. + + A #GtkWidget that is part of @fontsel + + + + + Gets the #PangoFontFamily representing the selected font family. +family. Font families are a collection of font faces. The +returned object is owned by @fontsel and must not be modified +or freed. + + A #PangoFontFamily representing the selected font + + + + + Gets the #PangoFontFace representing the selected font group +details (i.e. family, slant, weight, width, etc). +group details. The returned object is owned by @fontsel and +must not be modified or freed. + + A #PangoFontFace representing the selected font + + + + + The selected font size. +or -1 if no font size is selected. + + A n integer representing the selected font size, + + + + + Gets the currently-selected font name. +Note that this can be a different string than what you set with +gtk_font_selection_set_font_name(), as the font selection widget may +normalize font names and thus return a string with a different structure. +For example, "Helvetica Italic Bold 12" could be normalized to +"Helvetica Bold Italic 12". Use pango_font_description_equal() +if you want to compare two font descriptions. +no font is selected. You must free this string with g_free(). + + A string with the name of the current font, or %NULL if + + + + + Gets the currently-selected font. + + A #GdkFont. + + + + + Sets the currently-selected font. +Note that the @fontsel needs to know the screen in which it will appear +for this to work; this can be guaranteed by simply making sure that the +such font exists or if the @fontsel doesn't belong to a particular +screen yet. + + %TRUE if the font could be set successfully; %FALSE if no + + + + + a font name like "Helvetica 12" or "Times Bold 18" + + + + + + Gets the text displayed in the preview area. +This string is owned by the widget and should not be +modified or freed + + the text displayed in the preview area. + + + + + Sets the text displayed in the preview area. +The @text is used to show how the selected font looks. + + + + + + the text to display in the preview area + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Creates a new #GtkFontSelectionDialog. + + a new #GtkFontSelectionDialog + + + + + the title of the dialog window + + + + + + Gets the 'OK' button. + + the #GtkWidget used in the dialog for the 'OK' button. + + + + + Obtains a button. The button doesn't have any function. + + a #GtkWidget + + + + + Gets the 'Cancel' button. + + the #GtkWidget used in the dialog for the 'Cancel' button. + + + + + Gets the currently-selected font name. +Note that this can be a different string than what you set with +gtk_font_selection_dialog_set_font_name(), as the font selection widget +may normalize font names and thus return a string with a different +structure. For example, "Helvetica Italic Bold 12" could be normalized +to "Helvetica Bold Italic 12". Use pango_font_description_equal() +if you want to compare two font descriptions. +font is selected. You must free this string with g_free(). + + A string with the name of the current font, or %NULL if no + + + + + Gets the currently-selected font. +currently selected font in the dialog, or %NULL if no font is selected + + the #GdkFont from the #GtkFontSelection for the + + + + + Sets the currently selected font. + + %TRUE if the font selected in @fsd is now the + + + + + a font name like "Helvetica 12" or "Times Bold 18" + + + + + + Gets the text displayed in the preview area. +This string is owned by the widget and should not be +modified or freed + + the text displayed in the preview area. + + + + + Sets the text displayed in the preview area. + + + + + + the text to display in the preview area + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Creates a new #GtkFrame, with optional label @label. +If @label is %NULL, the label is omitted. + + a new #GtkFrame widget + + + + + the text to use as the label of the frame + + + + + + + + + + + + + + + + Sets the text of the label. If @label is %NULL, +the current label is removed. + + + + + + the text to use as the label of the frame + + + + + + If the frame's label widget is a #GtkLabel, returns the +text in the label widget. (The frame will have a #GtkLabel +for the label widget if a non-%NULL argument was passed +to gtk_frame_new().) +was no label widget or the lable widget was not +a #GtkLabel. This string is owned by GTK+ and +must not be modified or freed. + + the text in the label, or %NULL if there + + + + + Sets the label widget for the frame. This is the widget that +will appear embedded in the top edge of the frame as a +title. + + + + + + the new label widget + + + + + + Retrieves the label widget for the frame. See +gtk_frame_set_label_widget(). + + the label widget, or %NULL if there is none. + + + + + Sets the alignment of the frame widget's label. The +default values for a newly created frame are 0.0 and 0.5. + + + + + + The position of the label along the top edge of the widget. A value of 0.0 represents left alignment; 1.0 represents right alignment. + + + + The y alignment of the label. A value of 0.0 aligns under the frame; 1.0 aligns above the frame. If the values are exactly 0.0 or 1.0 the gap in the frame won't be painted because the label will be completely above or below the frame. + + + + + + Retrieves the X and Y alignment of the frame's label. See +gtk_frame_set_label_align(). + + + + + + location to store X alignment of frame's label, or %NULL + + + + location to store X alignment of frame's label, or %NULL + + + + + + Sets the shadow type for @frame. + + + + + + the new #GtkShadowType + + + + + + Retrieves the shadow type of the frame. See +gtk_frame_set_shadow_type(). + + the current shadow type of the frame. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Creates a new #GtkHBox. + + a new #GtkHBox. + + + + + %TRUE if all children are to be given equal space allotments. + + + + the number of pixels to place by default between children. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Creates a new HSV color selector. + + A newly-created HSV color selector. + + + + + Converts a color from HSV space to RGB. +Input values must be in the [0.0, 1.0] range; +output values will be in the same range. + + + + + + Hue + + + + Saturation + + + + Value + + + + Return value for the red component + + + + Return value for the green component + + + + Return value for the blue component + + + + + + Sets the current color in an HSV color selector. +Color component values must be in the [0.0, 1.0] range. + + + + + + Hue + + + + Saturation + + + + Value + + + + + + Queries the current color in an HSV color selector. +Returned values will be in the [0.0, 1.0] range. + + + + + + Return value for the hue + + + + Return value for the saturation + + + + Return value for the value + + + + + + Sets the size and ring width of an HSV color selector. + + + + + + Diameter for the hue ring + + + + Width of the hue ring + + + + + + Queries the size and ring width of an HSV color selector. + + + + + + Return value for the diameter of the hue ring + + + + Return value for the width of the hue ring + + + + + + An HSV color selector can be said to be adjusting if multiple rapid +changes are being made to its value, for example, when the user is +adjusting the value with the mouse. This function queries whether +the HSV color selector is being adjusted or not. +since they may be transitory, or %FALSE if they should consider +the color value status to be final. + + %TRUE if clients can ignore changes to the color value, + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Creates a new horizontal scale widget that lets the user input a +number between @min and @max (including @min and @max) with the +increment @step. @step must be nonzero; it's the distance the +slider moves when using the arrow keys to adjust the scale value. +Note that the way in which the precision is derived works best if @step +is a power of ten. If the resulting precision is not suitable for your +needs, use gtk_scale_set_digits() to correct it. + + a new #GtkHScale + + + + + minimum value + + + + maximum value + + + + step increment (tick size) used with keyboard shortcuts + + + + + + + + + + + + + + + + + + + Creates a new horizontal scrollbar. + + the new #GtkHScrollbar + + + + + the #GtkAdjustment to use, or %NULL to create a new adjustment + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Gets the type of shadow drawn around the handle box. See +gtk_handle_box_set_shadow_type(). + + the type of shadow currently drawn around the handle box. + + + + + + + + + + + + + + + Gets the handle position of the handle box. See +gtk_handle_box_set_handle_position(). + + the current handle position. + + + + + + + + + + + + + + + Gets the edge used for determining reattachment of the handle box. See +gtk_handle_box_set_snap_edge(). +is determined (as per default) from the handle position. + + the edge used for determining reattachment, or (GtkPositionType)-1 if this + + + + + Whether the handlebox's child is currently detached. + + %TRUE if the child is currently detached, otherwise %FALSE + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Set the client window for the input context; this is the +#GdkWindow in which the input appears. This window is +used in order to correctly position status windows, and may +also be used for purposes internal to the input method. + + + + + + the client window. This may be %NULL to indicate that the previous client window no longer exists. + + + + + + Retrieve the current preedit string for the input context, +and a list of attributes to apply to the string. +This string should be displayed inserted at the insertion +point. + + + + + + location to store the retrieved string. The string retrieved must be freed with g_free (). + + + + + + location to store the retrieved attribute list. When you are done with this list, you must unreference it with pango_attr_list_unref(). + + + + location to store position of cursor (in characters) within the preedit string. + + + + + + Allow an input method to internally handle key press and release +events. If this function returns %TRUE, then no further processing +should be done for this key event. + + %TRUE if the input method handled the key event. + + + + + the key event + + + + + + Notify the input method that the widget to which this +input context corresponds has gained focus. The input method +may, for example, change the displayed feedback to reflect +this change. + + + + + + Notify the input method that the widget to which this +input context corresponds has lost focus. The input method +may, for example, change the displayed feedback or reset the contexts +state to reflect this change. + + + + + + Notify the input method that a change such as a change in cursor +position has been made. This will typically cause the input +method to clear the preedit state. + + + + + + Notify the input method that a change in cursor +position has been made. The location is relative to the client +window. + + + + + + new location + + + + + + Sets whether the IM context should use the preedit string +to display feedback. If @use_preedit is FALSE (default +is TRUE), then the IM context may use some other method to display +feedback, such as displaying it in a child of the root window. + + + + + + whether the IM context should use the preedit string. + + + + + + Sets surrounding context around the insertion point and preedit +string. This function is expected to be called in response to the +GtkIMContext::retrieve_surrounding signal, and will likely have no +effect if called at other times. + + + + + + text surrounding the insertion point, as UTF-8. the preedit string should not be included within + + + + the length of @text, or -1 if @text is nul-terminated + + + + the byte index of the insertion cursor within @text. + + + + + + Retrieves context around the insertion point. Input methods +typically want context in order to constrain input text based on +existing text; this is important for languages such as Thai where +only some sequences of characters are allowed. +This function is implemented by emitting the +GtkIMContext::retrieve_surrounding signal on the input method; in +response to this signal, a widget should provide as much context as +is available, up to an entire paragraph, by calling +gtk_im_context_set_surrounding(). Note that there is no obligation +for a widget to respond to the ::retrieve_surrounding signal, so input +methods must be prepared to function without context. +you must free the result stored in *text. + + %TRUE if surrounding text was provided; in this case + + + + + location to store a UTF-8 encoded string of text holding context around the insertion point. If the function returns %TRUE, then you must free the result stored in this location with g_free(). + + + + + + location to store byte index of the insertion cursor within @text. + + + + + + Set the client window for the input context; this is the +#GdkWindow in which the input appears. This window is +used in order to correctly position status windows, and may +also be used for purposes internal to the input method. + + + + + + the client window. This may be %NULL to indicate that the previous client window no longer exists. + + + + + + Retrieve the current preedit string for the input context, +and a list of attributes to apply to the string. +This string should be displayed inserted at the insertion +point. + + + + + + location to store the retrieved string. The string retrieved must be freed with g_free (). + + + + + + location to store the retrieved attribute list. When you are done with this list, you must unreference it with pango_attr_list_unref(). + + + + location to store position of cursor (in characters) within the preedit string. + + + + + + Allow an input method to internally handle key press and release +events. If this function returns %TRUE, then no further processing +should be done for this key event. + + %TRUE if the input method handled the key event. + + + + + the key event + + + + + + Notify the input method that the widget to which this +input context corresponds has gained focus. The input method +may, for example, change the displayed feedback to reflect +this change. + + + + + + Notify the input method that the widget to which this +input context corresponds has lost focus. The input method +may, for example, change the displayed feedback or reset the contexts +state to reflect this change. + + + + + + Notify the input method that a change such as a change in cursor +position has been made. This will typically cause the input +method to clear the preedit state. + + + + + + Notify the input method that a change in cursor +position has been made. The location is relative to the client +window. + + + + + + new location + + + + + + Sets whether the IM context should use the preedit string +to display feedback. If @use_preedit is FALSE (default +is TRUE), then the IM context may use some other method to display +feedback, such as displaying it in a child of the root window. + + + + + + whether the IM context should use the preedit string. + + + + + + Sets surrounding context around the insertion point and preedit +string. This function is expected to be called in response to the +GtkIMContext::retrieve_surrounding signal, and will likely have no +effect if called at other times. + + + + + + text surrounding the insertion point, as UTF-8. the preedit string should not be included within + + + + the length of @text, or -1 if @text is nul-terminated + + + + the byte index of the insertion cursor within @text. + + + + + + Retrieves context around the insertion point. Input methods +typically want context in order to constrain input text based on +existing text; this is important for languages such as Thai where +only some sequences of characters are allowed. +This function is implemented by emitting the +GtkIMContext::retrieve_surrounding signal on the input method; in +response to this signal, a widget should provide as much context as +is available, up to an entire paragraph, by calling +gtk_im_context_set_surrounding(). Note that there is no obligation +for a widget to respond to the ::retrieve_surrounding signal, so input +methods must be prepared to function without context. +you must free the result stored in *text. + + %TRUE if surrounding text was provided; in this case + + + + + location to store a UTF-8 encoded string of text holding context around the insertion point. If the function returns %TRUE, then you must free the result stored in this location with g_free(). + + + + + + location to store byte index of the insertion cursor within @text. + + + + + + Asks the widget that the input context is attached to to delete +characters around the cursor position by emitting the +GtkIMContext::delete_surrounding signal. Note that @offset and @n_chars +are in characters not in bytes which differs from the usage other +places in #GtkIMContext. +In order to use this function, you should first call +gtk_im_context_get_surrounding() to get the current context, and +call this function immediately afterwards to make sure that you +know what you are deleting. You should also account for the fact +that even if the signal was handled, the input context might not +have deleted all the characters that were requested to be deleted. +This function is used by an input method that wants to make +subsitutions in the existing text in response to new input. It is +not useful for applications. + + %TRUE if the signal was handled. + + + + + offset from cursor position in chars; a negative value means start before the cursor. + + + + number of characters to delete. + + + + + + + + + The ::commit signal is emitted when a complete input sequence +has been entered by the user. This can be a single character +immediately after a key press or the final result of preediting. + + + + + + the completed character(s) entered by the user + + + + + + The ::delete-surrounding signal is emitted when the input method +needs to delete all or part of the context surrounding the cursor. + + %TRUE if the signal was handled. + + + + + the character offset from the cursor position of the text to be deleted. A negative value indicates a position before the cursor. + + + + the number of characters to be deleted + + + + + + The ::preedit-changed signal is emitted whenever the preedit sequence +currently being entered has changed. It is also emitted at the end of +a preedit sequence, in which case +gtk_im_context_get_preedit_string() returns the empty string. + + + + + + The ::preedit-end signal is emitted when a preediting sequence +has been completed or canceled. + + + + + + The ::preedit-start signal is emitted when a new preediting sequence +starts. + + + + + + The ::retrieve-surrounding signal is emitted when the input method +requires the context surrounding the cursor. The callback should set +the input method surrounding context by calling the +gtk_im_context_set_surrounding() method. + + %TRUE if the signal was handled. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + the client window. This may be %NULL to indicate that the previous client window no longer exists. + + + + + + + + + + + + + + + + location to store the retrieved string. The string retrieved must be freed with g_free (). + + + + + + location to store the retrieved attribute list. When you are done with this list, you must unreference it with pango_attr_list_unref(). + + + + location to store position of cursor (in characters) within the preedit string. + + + + + + + + + %TRUE if the input method handled the key event. + + + + + + + + the key event + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + new location + + + + + + + + + + + + + + + + whether the IM context should use the preedit string. + + + + + + + + + + + + + + + + text surrounding the insertion point, as UTF-8. the preedit string should not be included within + + + + the length of @text, or -1 if @text is nul-terminated + + + + the byte index of the insertion cursor within @text. + + + + + + + + + %TRUE if surrounding text was provided; in this case + + + + + + + + location to store a UTF-8 encoded string of text holding context around the insertion point. If the function returns %TRUE, then you must free the result stored in this location with g_free(). + + + + + + location to store byte index of the insertion cursor within @text. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Bookkeeping information about a loadable input method. + + + + + + + + + + + + + + + + + + + + + + + + Adds an additional table to search to the input context. +Each row of the table consists of @max_seq_len key symbols +followed by two #guint16 interpreted as the high and low +words of a #gunicode value. Tables are searched starting +from the last added. +The table must be sorted in dictionary order on the +numeric value of the key symbol fields. (Values beyond +the length of the sequence should be zero.) + + + + + + the table + + + + Maximum length of a sequence in the table (cannot be greater than #GTK_MAX_COMPOSE_LEN) + + + + number of sequences in the table + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Creates a new #GtkIMMulticontext. + + a new #GtkIMMulticontext. + + + + + Add menuitems for various available input methods to a menu; +the menuitems, when selected, will switch the input method +for the context and the global default input method. + + + + + + a #GtkMenuShell + + + + + + Gets the id of the currently active slave of the @context. + + the id of the currently active slave + + + + + Sets the context id for @context. +This causes the currently active slave of @context to be +replaced by the slave corresponding to the new context id. + + + + + + the id to use + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Creates a new #GtkIconFactory. An icon factory manages a collection +of #GtkIconSet<!-- -->s; a #GtkIconSet manages a set of variants of a +particular icon (i.e. a #GtkIconSet contains variants for different +sizes and widget states). Icons in an icon factory are named by a +stock ID, which is a simple string identifying the icon. Each +#GtkStyle has a list of #GtkIconFactory<!-- -->s derived from the current +theme; those icon factories are consulted first when searching for +an icon. If the theme doesn't set a particular icon, GTK+ looks for +the icon in a list of default icon factories, maintained by +gtk_icon_factory_add_default() and +gtk_icon_factory_remove_default(). Applications with icons should +add a default icon factory with their icons, which will allow +themes to override the icons for the application. + + a new #GtkIconFactory + + + + + Looks for an icon in the list of default icon factories. For +display to the user, you should use gtk_style_lookup_icon_set() on +the #GtkStyle for the widget that will display the icon, instead of +using this function directly, so that themes are taken into +account. + + a #GtkIconSet, or %NULL + + + + + an icon name + + + + + + Adds the given @icon_set to the icon factory, under the name +e.g. "myapp-whatever-icon". Normally applications create a +#GtkIconFactory, then add it to the list of default factories with +gtk_icon_factory_add_default(). Then they pass the @stock_id to +widgets such as #GtkImage to display the icon. Themes can provide +an icon with the same name (such as "myapp-whatever-icon") to +override your application's default icons. If an icon already +existed in @factory for @stock_id, it is unreferenced and replaced +with the new @icon_set. + + + + + + icon name + + + + icon set + + + + + + Looks up @stock_id in the icon factory, returning an icon set +if found, otherwise %NULL. For display to the user, you should +use gtk_style_lookup_icon_set() on the #GtkStyle for the +widget that will display the icon, instead of using this +function directly, so that themes are taken into account. + + icon set of @stock_id. + + + + + an icon name + + + + + + Adds an icon factory to the list of icon factories searched by +gtk_style_lookup_icon_set(). This means that, for example, +gtk_image_new_from_stock() will be able to find icons in @factory. +There will normally be an icon factory added for each library or +application that comes with icons. The default icon factories +can be overridden by themes. + + + + + + Removes an icon factory from the list of default icon +factories. Not normally used; you might use it for a library that +can be unloaded or shut down. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Creates a #GtkIconInfo for a #GdkPixbuf. + + a #GtkIconInfo + + + + + a #GtkIconTheme + + + + the pixbuf to wrap in a #GtkIconInfo + + + + + + Make a copy of a #GtkIconInfo. + + the new GtkIconInfo + + + + + Free a #GtkIconInfo and associated information + + + + + + Gets the base size for the icon. The base size +is a size for the icon that was specified by +the icon theme creator. This may be different +than the actual size of image; an example of +this is small emblem icons that can be attached +to a larger icon. These icons will be given +the same base size as the larger icons to which +they are attached. +size is known for the icon. + + the base size, or 0, if no base + + + + + Gets the filename for the icon. If the +%GTK_ICON_LOOKUP_USE_BUILTIN flag was passed +to gtk_icon_theme_lookup_icon(), there may be +no filename if a builtin icon is returned; in this +case, you should use gtk_icon_info_get_builtin_pixbuf(). +if gtk_icon_info_get_builtin_pixbuf() should +be used instead. The return value is owned by +GTK+ and should not be modified or freed. + + the filename for the icon, or %NULL + + + + + Gets the built-in image for this icon, if any. To allow +GTK+ to use built in icon images, you must pass the +%GTK_ICON_LOOKUP_USE_BUILTIN to +gtk_icon_theme_lookup_icon(). +extra reference is added to the returned pixbuf, so if +you want to keep it around, you must use g_object_ref(). +The returned image must not be modified. + + the built-in image pixbuf, or %NULL. No + + + + + Renders an icon previously looked up in an icon theme using +gtk_icon_theme_lookup_icon(); the size will be based on the size +passed to gtk_icon_theme_lookup_icon(). Note that the resulting +pixbuf may not be exactly this size; an icon theme may have icons +that differ slightly from their nominal sizes, and in addition GTK+ +will avoid scaling icons that it considers sufficiently close to the +requested size or for which the source image would have to be scaled +up too far. (This maintains sharpness.). This behaviour can be changed +by passing the %GTK_ICON_LOOKUP_FORCE_SIZE flag when obtaining +the #GtkIconInfo. If this flag has been specified, the pixbuf +returned by this function will be scaled to the exact size. +or a new reference to an internal icon, so you must not modify +the icon. Use g_object_unref() to release your reference to the +icon. + + the rendered icon; this may be a newly created icon + + + + + Sets whether the coordinates returned by gtk_icon_info_get_embedded_rect() +and gtk_icon_info_get_attach_points() should be returned in their +original form as specified in the icon theme, instead of scaled +appropriately for the pixbuf returned by gtk_icon_info_load_icon(). +Raw coordinates are somewhat strange; they are specified to be with +respect to the unscaled pixmap for PNG and XPM icons, but for SVG +icons, they are in a 1000x1000 coordinate space that is scaled +to the final size of the icon. You can determine if the icon is an SVG +icon by using gtk_icon_info_get_filename(), and seeing if it is non-%NULL +and ends in '.svg'. +This function is provided primarily to allow compatibility wrappers +for older API's, and is not expected to be useful for applications. + + + + + + whether the coordinates of embedded rectangles and attached points should be returned in their original (unscaled) form. + + + + + + Gets the coordinates of a rectangle within the icon +that can be used for display of information such +as a preview of the contents of a text file. +See gtk_icon_info_set_raw_coordinates() for further +information about the coordinate system. + + %TRUE if the icon has an embedded rectangle + + + + + #GdkRectangle in which to store embedded rectangle coordinates; coordinates are only stored when this function returns %TRUE. + + + + + + Fetches the set of attach points for an icon. An attach point +is a location in the icon that can be used as anchor points for attaching +emblems or overlays to the icon. + + %TRUE if there are any attach points for the icon. + + + + + location to store pointer to an array of points, or %NULL free the array of points with g_free(). + + + + + + location to store the number of points in @points, or %NULL + + + + + + Gets the display name for an icon. A display name is a +string to be used in place of the icon name in a user +visible context like a list of icons. +the icon doesn't have a specified display name. This value +is owned @icon_info and must not be modified or free. + + the display name for the icon or %NULL, if + + + + + + Used to specify options for gtk_icon_theme_lookup_icon() + + + + + + + + + Creates a new #GtkIconSet. A #GtkIconSet represents a single icon +in various sizes and widget states. It can provide a #GdkPixbuf +for a given size and state on request, and automatically caches +some of the rendered #GdkPixbuf objects. +Normally you would use gtk_widget_render_icon() instead of +using #GtkIconSet directly. The one case where you'd use +#GtkIconSet is to create application-specific icon sets to place in +a #GtkIconFactory. + + a new #GtkIconSet + + + + + Creates a new #GtkIconSet with @pixbuf as the default/fallback +source image. If you don't add any additional #GtkIconSource to the +icon set, all variants of the icon will be created from @pixbuf, +using scaling, pixelation, etc. as required to adjust the icon size +or make the icon look insensitive/prelighted. + + a new #GtkIconSet + + + + + a #GdkPixbuf + + + + + + Increments the reference count on @icon_set. + + @icon_set. + + + + + Decrements the reference count on @icon_set, and frees memory +if the reference count reaches 0. + + + + + + Copies @icon_set by value. + + a new #GtkIconSet identical to the first. + + + + + Renders an icon using gtk_style_render_icon(). In most cases, +gtk_widget_render_icon() is better, since it automatically provides +most of the arguments from the current widget settings. This +function never returns %NULL; if the icon can't be rendered +(perhaps because an image file fails to load), a default "missing +image" icon will be returned instead. + + a #GdkPixbuf to be displayed + + + + + a #GtkStyle associated with @widget, or %NULL + + + + text direction + + + + widget state + + + + icon size. A size of (GtkIconSize)-1 means render at the size of the source and don't scale. + + + + widget that will display the icon, or %NULL. The only use that is typically made of this is to determine the appropriate #GdkScreen. + + + + detail to pass to the theme engine, or %NULL. Note that passing a detail of anything but %NULL will disable caching. + + + + + + Icon sets have a list of #GtkIconSource, which they use as base +icons for rendering icons in different states and sizes. Icons are +scaled, made to look insensitive, etc. in +gtk_icon_set_render_icon(), but #GtkIconSet needs base images to +work with. The base images and when to use them are described by +a #GtkIconSource. +This function copies @source, so you can reuse the same source immediately +without affecting the icon set. +to Previous Page" icon might point in a different direction in +Hebrew and in English; it might look different when insensitive; +and it might change size depending on toolbar mode (small/large +icons). So a single icon set would contain all those variants of +the icon, and you might add a separate source for each one. +You should nearly always add a "default" icon source with all +fields wildcarded, which will be used as a fallback if no more +specific source matches. #GtkIconSet always prefers more specific +icon sources to more generic icon sources. The order in which you +add the sources to the icon set does not matter. +gtk_icon_set_new_from_pixbuf() creates a new icon set with a +default icon source based on the given pixbuf. + + + + + + a #GtkIconSource + + + + + + Obtains a list of icon sizes this icon set can render. The returned +array must be freed with g_free(). + + + + + + return location for array of sizes + + + + + + location to store number of elements in returned array + + + + + + + + + + + + + + + + + Creates a new #GtkIconSource. A #GtkIconSource contains a #GdkPixbuf (or +image filename) that serves as the base image for one or more of the +icons in a #GtkIconSet, along with a specification for which icons in the +icon set will be based on that pixbuf or image file. An icon set contains +a set of icons that represent "the same" logical concept in different states, +different global text directions, and different sizes. +So for example a web browser's "Back to Previous Page" icon might +point in a different direction in Hebrew and in English; it might +look different when insensitive; and it might change size depending +on toolbar mode (small/large icons). So a single icon set would +contain all those variants of the icon. #GtkIconSet contains a list +of #GtkIconSource from which it can derive specific icon variants in +the set. +In the simplest case, #GtkIconSet contains one source pixbuf from +which it derives all variants. The convenience function +gtk_icon_set_new_from_pixbuf() handles this case; if you only have +one source pixbuf, just use that function. +If you want to use a different base pixbuf for different icon +variants, you create multiple icon sources, mark which variants +they'll be used to create, and add them to the icon set with +gtk_icon_set_add_source(). +By default, the icon source has all parameters wildcarded. That is, +the icon source will be used as the base icon for any desired text +direction, widget state, or icon size. + + a new #GtkIconSource + + + + + Creates a copy of @source; mostly useful for language bindings. + + a new #GtkIconSource + + + + + Frees a dynamically-allocated icon source, along with its +filename, size, and pixbuf fields if those are not %NULL. + + + + + + Sets the name of an image file to use as a base image when creating +icon variants for #GtkIconSet. The filename must be absolute. + + + + + + image file to use + + + + + + + + + + + + + + + + Sets a pixbuf to use as a base image when creating icon variants +for #GtkIconSet. + + + + + + pixbuf to use as a source + + + + + + Retrieves the source filename, or %NULL if none is set. The +filename is not a copy, and should not be modified or expected to +persist beyond the lifetime of the icon source. +or freed. + + image filename. This string must not be modified + + + + + Retrieves the source icon name, or %NULL if none is set. The +icon_name is not a copy, and should not be modified or expected to +persist beyond the lifetime of the icon source. + + icon name. This string must not be modified or freed. + + + + + Retrieves the source pixbuf, or %NULL if none is set. +In addition, if a filename source is in use, this +function in some cases will return the pixbuf from +loaded from the filename. This is, for example, true +for the GtkIconSource passed to the GtkStyle::render_icon() +virtual function. The reference count on the pixbuf is +not incremented. + + source pixbuf + + + + + If the text direction is wildcarded, this source can be used +as the base image for an icon in any #GtkTextDirection. +If the text direction is not wildcarded, then the +text direction the icon source applies to should be set +with gtk_icon_source_set_direction(), and the icon source +will only be used with that text direction. +#GtkIconSet prefers non-wildcarded sources (exact matches) over +wildcarded sources, and will use an exact match when possible. + + + + + + %TRUE to wildcard the text direction + + + + + + If the widget state is wildcarded, this source can be used as the +base image for an icon in any #GtkStateType. If the widget state +is not wildcarded, then the state the source applies to should be +set with gtk_icon_source_set_state() and the icon source will +only be used with that specific state. +#GtkIconSet prefers non-wildcarded sources (exact matches) over +wildcarded sources, and will use an exact match when possible. +#GtkIconSet will normally transform wildcarded source images to +produce an appropriate icon for a given state, for example +lightening an image on prelight, but will not modify source images +that match exactly. + + + + + + %TRUE to wildcard the widget state + + + + + + If the icon size is wildcarded, this source can be used as the base +image for an icon of any size. If the size is not wildcarded, then +the size the source applies to should be set with +gtk_icon_source_set_size() and the icon source will only be used +with that specific size. +#GtkIconSet prefers non-wildcarded sources (exact matches) over +wildcarded sources, and will use an exact match when possible. +#GtkIconSet will normally scale wildcarded source images to produce +an appropriate icon at a given size, but will not change the size +of source images that match exactly. + + + + + + %TRUE to wildcard the widget state + + + + + + Gets the value set by gtk_icon_source_set_size_wildcarded(). + + %TRUE if this icon source is a base for any icon size variant + + + + + Gets the value set by gtk_icon_source_set_state_wildcarded(). + + %TRUE if this icon source is a base for any widget state variant + + + + + Gets the value set by gtk_icon_source_set_direction_wildcarded(). + + %TRUE if this icon source is a base for any text direction variant + + + + + Sets the text direction this icon source is intended to be used +with. +Setting the text direction on an icon source makes no difference +if the text direction is wildcarded. Therefore, you should usually +call gtk_icon_source_set_direction_wildcarded() to un-wildcard it +in addition to calling this function. + + + + + + text direction this source applies to + + + + + + Sets the widget state this icon source is intended to be used +with. +Setting the widget state on an icon source makes no difference +if the state is wildcarded. Therefore, you should usually +call gtk_icon_source_set_state_wildcarded() to un-wildcard it +in addition to calling this function. + + + + + + widget state this source applies to + + + + + + Sets the icon size this icon source is intended to be used +with. +Setting the icon size on an icon source makes no difference +if the size is wildcarded. Therefore, you should usually +call gtk_icon_source_set_size_wildcarded() to un-wildcard it +in addition to calling this function. + + + + + + icon size this source applies to + + + + + + Obtains the text direction this icon source applies to. The return +value is only useful/meaningful if the text direction is <emphasis>not</emphasis> +wildcarded. + + text direction this source matches + + + + + Obtains the widget state this icon source applies to. The return +value is only useful/meaningful if the widget state is <emphasis>not</emphasis> +wildcarded. + + widget state this source matches + + + + + Obtains the icon size this source applies to. The return value +is only useful/meaningful if the icon size is <emphasis>not</emphasis> wildcarded. + + icon size this source matches. + + + + + + + Creates a new icon theme object. Icon theme objects are used +to lookup up an icon by name in a particular icon theme. +Usually, you'll want to use gtk_icon_theme_get_default() +or gtk_icon_theme_get_for_screen() rather than creating +a new icon theme object for scratch. + + the newly created #GtkIconTheme object. + + + + + Gets the icon theme for the default screen. See +gtk_icon_theme_get_for_screen(). +the default screen. This icon theme is associated with +the screen and can be used as long as the screen +is open. Do not ref or unref it. + + A unique #GtkIconTheme associated with + + + + + Gets the icon theme object associated with @screen; if this +function has not previously been called for the given +screen, a new icon theme object will be created and +associated with the screen. Icon theme objects are +fairly expensive to create, so using this function +is usually a better choice than calling than gtk_icon_theme_new() +and setting the screen yourself; by using this function +a single icon theme object will be shared between users. +the given screen. This icon theme is associated with +the screen and can be used as long as the screen +is open. Do not ref or unref it. + + A unique #GtkIconTheme associated with + + + + + a #GdkScreen + + + + + + Registers a built-in icon for icon theme lookups. The idea +of built-in icons is to allow an application or library +that uses themed icons to function requiring files to +be present in the file system. For instance, the default +images for all of GTK+'s stock icons are registered +as built-icons. +In general, if you use gtk_icon_theme_add_builtin_icon() +you should also install the icon in the icon theme, so +that the icon is generally available. +This function will generally be used with pixbufs loaded +via gdk_pixbuf_new_from_inline(). + + + + + + the name of the icon to register + + + + the size at which to register the icon (different images can be registered for the same icon name at different sizes.) + + + + #GdkPixbuf that contains the image to use for @icon_name. + + + + + + Sets the screen for an icon theme; the screen is used +to track the user's currently configured icon theme, +which might be different for different screens. + + + + + + a #GdkScreen + + + + + + Sets the search path for the icon theme object. When looking +for an icon theme, GTK+ will search for a subdirectory of +one or more of the directories in @path with the same name +as the icon theme. (Themes from multiple of the path elements +are combined to allow themes to be extended by adding icons +in the user's home directory.) +In addition if an icon found isn't found either in the current +icon theme or the default icon theme, and an image file with +the right name is found directly in one of the elements of +(This is legacy feature, and new icons should be put +into the default icon theme, which is called DEFAULT_THEME_NAME, +rather than directly on the icon path.) + + + + + + array of directories that are searched for icon themes + + + + number of elements in @path. + + + + + + Gets the current search path. See gtk_icon_theme_set_search_path(). + + + + + + location to store a list of icon theme path directories or %NULL The stored value should be freed with g_strfreev(). + + + + + + location to store number of elements in @path, or %NULL + + + + + + Appends a directory to the search path. +See gtk_icon_theme_set_search_path(). + + + + + + directory name to append to the icon path + + + + + + Prepends a directory to the search path. +See gtk_icon_theme_set_search_path(). + + + + + + directory name to prepend to the icon path + + + + + + Sets the name of the icon theme that the #GtkIconTheme object uses +overriding system configuration. This function cannot be called +on the icon theme objects returned from gtk_icon_theme_get_default() +and gtk_icon_theme_get_for_screen(). + + + + + + name of icon theme to use instead of configured theme, or %NULL to unset a previously set custom theme + + + + + + Checks whether an icon theme includes an icon +for a particular name. +icon for @icon_name. + + %TRUE if @icon_theme includes an + + + + + the name of an icon + + + + + + Returns an array of integers describing the sizes at which +the icon is available without scaling. A size of -1 means +that the icon is available in a scalable format. The array +is zero-terminated. +which the icon is available. The array should be freed with g_free() +when it is no longer needed. + + An newly allocated array describing the sizes at + + + + + the name of an icon + + + + + + Looks up a named icon and returns a structure containing +information such as the filename of the icon. The icon +can then be rendered into a pixbuf using +gtk_icon_info_load_icon(). (gtk_icon_theme_load_icon() +combines these two steps if all you need is the pixbuf.) +about the icon, or %NULL if the icon wasn't found. Free with +gtk_icon_info_free() + + a #GtkIconInfo structure containing information + + + + + the name of the icon to lookup + + + + desired icon size + + + + flags modifying the behavior of the icon lookup + + + + + + Looks up a named icon and returns a structure containing +information such as the filename of the icon. The icon +can then be rendered into a pixbuf using +gtk_icon_info_load_icon(). (gtk_icon_theme_load_icon() +combines these two steps if all you need is the pixbuf.) +If @icon_names contains more than one name, this function +tries them all in the given order before falling back to +inherited icon themes. +about the icon, or %NULL if the icon wasn't found. Free with +gtk_icon_info_free() + + a #GtkIconInfo structure containing information + + + + + %NULL-terminated array of icon names to lookup + + + + desired icon size + + + + flags modifying the behavior of the icon lookup + + + + + + Looks up an icon in an icon theme, scales it to the given size +and renders it into a pixbuf. This is a convenience function; +if more details about the icon are needed, use +gtk_icon_theme_lookup_icon() followed by gtk_icon_info_load_icon(). +Note that you probably want to listen for icon theme changes and +update the icon. This is usually done by connecting to the +GtkWidget::style-set signal. If for some reason you do not want to +update the icon when the icon theme changes, you should consider +using gdk_pixbuf_copy() to make a private copy of the pixbuf +returned by this function. Otherwise GTK+ may need to keep the old +icon theme loaded, which would be a waste of memory. +or a new reference to an internal icon, so you must not modify +the icon. Use g_object_unref() to release your reference to the +icon. %NULL if the icon isn't found. + + the rendered icon; this may be a newly created icon + + + + + the name of the icon to lookup + + + + the desired icon size. The resulting icon may not be exactly this size; see gtk_icon_info_load_icon(). + + + + flags modifying the behavior of the icon lookup + + + + + + Looks up an icon and returns a structure containing +information such as the filename of the icon. +The icon can then be rendered into a pixbuf using +gtk_icon_info_load_icon(). +information about the icon, or %NULL if the icon +wasn't found. Free with gtk_icon_info_free() + + a #GtkIconInfo structure containing + + + + + the #GIcon to look up + + + + desired icon size + + + + flags modifying the behavior of the icon lookup + + + + + + Lists the icons in the current icon theme. Only a subset +of the icons can be listed by providing a context string. +The set of values for the context string is system dependent, +but will typically include such values as "Applications" and +"MimeTypes". +icons in the theme. You must first free each element +in the list with g_free(), then free the list itself +with g_list_free(). + + a #GList list holding the names of all the + + + + + + + a string identifying a particular type of icon, or %NULL to list all icons. + + + + + + Gets the list of contexts available within the current +hierarchy of icon themes +contexts in the theme. You must first free each element +in the list with g_free(), then free the list itself +with g_list_free(). + + a #GList list holding the names of all the + + + + + + + Gets the name of an icon that is representative of the +current theme (for instance, to use when presenting +a list of themes to the user.) +Free with g_free(). + + the name of an example icon or %NULL. + + + + + Checks to see if the icon theme has changed; if it has, any +currently cached information is discarded and will be reloaded +next time @icon_theme is accessed. +to be reloaded. + + %TRUE if the icon theme has changed and needed + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Error codes for GtkIconTheme operations. + + + + + + + + + + + Creates a new #GtkIconView widget + + A newly created #GtkIconView widget + + + + + Creates a new #GtkIconView widget with the model @model. + + A newly created #GtkIconView widget. + + + + + The model. + + + + + + Sets the model for a #GtkIconView. +If the @icon_view already has a model set, it will remove +it before setting the new model. If @model is %NULL, then +it will unset the old model. + + + + + + The model. + + + + + + Returns the model the #GtkIconView is based on. Returns %NULL if the +model is unset. + + A #GtkTreeModel, or %NULL if none is currently being used. + + + + + Sets the column with text for @icon_view to be @column. The text +column must be of type #G_TYPE_STRING. + + + + + + A column in the currently used model, or -1 to display no text + + + + + + Returns the column with text for @icon_view. + + the text column, or -1 if it's unset. + + + + + Sets the column with markup information for @icon_view to be +If the markup column is set to something, it overrides +the text column set by gtk_icon_view_set_text_column(). + + + + + + A column in the currently used model, or -1 to display no text + + + + + + Returns the column with markup text for @icon_view. + + the markup column, or -1 if it's unset. + + + + + Sets the column with pixbufs for @icon_view to be @column. The pixbuf +column must be of type #GDK_TYPE_PIXBUF + + + + + + A column in the currently used model, or -1 to disable + + + + + + Returns the column with pixbufs for @icon_view. + + the pixbuf column, or -1 if it's unset. + + + + + Sets the ::orientation property which determines whether the labels +are drawn beside the icons instead of below. + + + + + + the relative position of texts and icons + + + + + + Returns the value of the ::orientation property which determines +whether the labels are drawn beside the icons instead of below. + + the relative position of texts and icons + + + + + Sets the ::columns property which determines in how +many columns the icons are arranged. If @columns is +-1, the number of columns will be chosen automatically +to fill the available area. + + + + + + the number of columns + + + + + + Returns the value of the ::columns property. + + the number of columns, or -1 + + + + + Sets the ::item-width property which specifies the width +to use for each item. If it is set to -1, the icon view will +automatically determine a suitable item size. + + + + + + the width for each item + + + + + + Returns the value of the ::item-width property. + + the width of a single item, or -1 + + + + + Sets the ::spacing property which specifies the space +which is inserted between the cells (i.e. the icon and +the text) of an item. + + + + + + the spacing + + + + + + Returns the value of the ::spacing property. + + the space between cells + + + + + Sets the ::row-spacing property which specifies the space +which is inserted between the rows of the icon view. + + + + + + the row spacing + + + + + + Returns the value of the ::row-spacing property. + + the space between rows + + + + + Sets the ::column-spacing property which specifies the space +which is inserted between the columns of the icon view. + + + + + + the column spacing + + + + + + Returns the value of the ::column-spacing property. + + the space between columns + + + + + Sets the ::margin property which specifies the space +which is inserted at the top, bottom, left and right +of the icon view. + + + + + + the margin + + + + + + Returns the value of the ::margin property. + + the space at the borders + + + + + Sets the #GtkIconView:item-padding property which specifies the padding +around each of the icon view's items. + + + + + + the item padding + + + + + + Returns the value of the ::item-padding property. + + the padding around items + + + + + Finds the path at the point (@x, @y), relative to bin_window coordinates. +See gtk_icon_view_get_item_at_pos(), if you are also interested in +the cell at the specified position. +See gtk_icon_view_convert_widget_to_bin_window_coords() for converting +widget coordinates to bin_window coordinates. +if no icon exists at that position. + + The #GtkTreePath corresponding to the icon or %NULL + + + + + The x position to be identified + + + + The y position to be identified + + + + + + Finds the path at the point (@x, @y), relative to bin_window coordinates. +In contrast to gtk_icon_view_get_path_at_pos(), this function also +obtains the cell at the specified position. The returned path should +be freed with gtk_tree_path_free(). +See gtk_icon_view_convert_widget_to_bin_window_coords() for converting +widget coordinates to bin_window coordinates. + + %TRUE if an item exists at the specified position + + + + + The x position to be identified + + + + The y position to be identified + + + + Return location for the path, or %NULL + + + + Return location for the renderer responsible for the cell at (@x, @y), or %NULL + + + + + + Sets @start_path and @end_path to be the first and last visible path. +Note that there may be invisible paths in between. +Both paths should be freed with gtk_tree_path_free() after use. + + %TRUE, if valid paths were placed in @start_path and @end_path + + + + + Return location for start of region, or %NULL + + + + Return location for end of region, or %NULL + + + + + + Calls a function for each selected icon. Note that the model or +selection cannot be modified from within this function. + + + + + + The funcion to call for each selected icon. + + + + User data to pass to the function. + + + + + + Sets the selection mode of the @icon_view. + + + + + + The selection mode + + + + + + Gets the selection mode of the @icon_view. + + the current selection mode + + + + + Selects the row at @path. + + + + + + The #GtkTreePath to be selected. + + + + + + Unselects the row at @path. + + + + + + The #GtkTreePath to be unselected. + + + + + + Returns %TRUE if the icon pointed to by @path is currently +selected. If @path does not point to a valid location, %FALSE is returned. + + %TRUE if @path is selected. + + + + + A #GtkTreePath to check selection on. + + + + + + Creates a list of paths of all selected items. Additionally, if you are +planning on modifying the model after calling this function, you may +want to convert the returned list into a list of #GtkTreeRowReference<!-- -->s. +To do this, you can use gtk_tree_row_reference_new(). +To free the return value, use: +|[ +g_list_foreach (list, (GFunc)gtk_tree_path_free, NULL); +g_list_free (list); +]| + + A #GList containing a #GtkTreePath for each selected row. + + + + + + + Selects all the icons. @icon_view must has its selection mode set +to #GTK_SELECTION_MULTIPLE. + + + + + + Unselects all the icons. + + + + + + Activates the item determined by @path. + + + + + + The #GtkTreePath to be activated + + + + + + Sets the current keyboard focus to be at @path, and selects it. This is +useful when you want to focus the user's attention on a particular item. +If @cell is not %NULL, then focus is given to the cell specified by +it. Additionally, if @start_editing is %TRUE, then editing should be +started in the specified cell. +This function is often followed by <literal>gtk_widget_grab_focus +(icon_view)</literal> in order to give keyboard focus to the widget. +Please note that editing can only happen when the widget is realized. + + + + + + A #GtkTreePath + + + + One of the cell renderers of @icon_view, or %NULL + + + + %TRUE if the specified cell should start being edited. + + + + + + Fills in @path and @cell with the current cursor path and cell. +If the cursor isn't currently set, then *@path will be %NULL. +If no cell currently has focus, then *@cell will be %NULL. +The returned #GtkTreePath must be freed with gtk_tree_path_free(). + + %TRUE if the cursor is set. + + + + + Return location for the current cursor path, or %NULL + + + + Return location the current focus cell, or %NULL + + + + + + Moves the alignments of @icon_view to the position specified by @path. +where @column is placed. Both are expected to be between 0.0 and 1.0. +0.0 means left/top alignment, 1.0 means right/bottom alignment, 0.5 means +center. +If @use_align is %FALSE, then the alignment arguments are ignored, and the +tree does the minimum amount of work to scroll the item onto the screen. +This means that the item will be scrolled to the edge closest to its current +position. If the item is currently visible on the screen, nothing is done. +This function only works if the model is set, and @path is a valid row on +the model. If the model changes before the @icon_view is realized, the +centered path will be modified to reflect this change. + + + + + + The path of the item to move to. + + + + whether to use alignment arguments, or %FALSE. + + + + The vertical alignment of the item specified by @path. + + + + The horizontal alignment of the item specified by @path. + + + + + + Turns @icon_view into a drag source for automatic DND. Calling this +method sets #GtkIconView:reorderable to %FALSE. + + + + + + Mask of allowed buttons to start drag + + + + the table of targets that the drag will support + + + + the number of items in @targets + + + + the bitmask of possible actions for a drag from this widget + + + + + + Turns @icon_view into a drop destination for automatic DND. Calling this +method sets #GtkIconView:reorderable to %FALSE. + + + + + + the table of targets that the drag will support + + + + the number of items in @targets + + + + the bitmask of possible actions for a drag to this widget + + + + + + Undoes the effect of gtk_icon_view_enable_model_drag_source(). Calling this +method sets #GtkIconView:reorderable to %FALSE. + + + + + + Undoes the effect of gtk_icon_view_enable_model_drag_dest(). Calling this +method sets #GtkIconView:reorderable to %FALSE. + + + + + + This function is a convenience function to allow you to reorder models that +support the #GtkTreeDragSourceIface and the #GtkTreeDragDestIface. Both +#GtkTreeStore and #GtkListStore support these. If @reorderable is %TRUE, then +the user can reorder the model by dragging and dropping rows. The +developer can listen to these changes by connecting to the model's +row_inserted and row_deleted signals. The reordering is implemented by setting up +the icon view as a drag source and destination. Therefore, drag and +drop can not be used in a reorderable view for any other purpose. +This function does not give you any degree of control over the order -- any +reordering is allowed. If more control is needed, you should probably +handle drag and drop manually. + + + + + + %TRUE, if the list of items can be reordered. + + + + + + Retrieves whether the user can reorder the list via drag-and-drop. +See gtk_icon_view_set_reorderable(). + + %TRUE if the list can be reordered. + + + + + Sets the item that is highlighted for feedback. + + + + + + The path of the item to highlight, or %NULL. + + + + Specifies where to drop, relative to the item + + + + + + Gets information about the item that is highlighted for feedback. + + + + + + Return location for the path of the highlighted item, or %NULL. + + + + Return location for the drop position, or %NULL + + + + + + Determines the destination item for a given position. + + whether there is an item at the given position. + + + + + the position to determine the destination item for + + + + the position to determine the destination item for + + + + Return location for the path of the item, or %NULL. + + + + Return location for the drop position, or %NULL + + + + + + Creates a #GdkPixmap representation of the item at @path. +This image is used for a drag icon. + + a newly-allocated pixmap of the drag icon. + + + + + a #GtkTreePath in @icon_view + + + + + + Converts widget coordinates to coordinates for the bin_window, +as expected by e.g. gtk_icon_view_get_path_at_pos(). + + + + + + X coordinate relative to the widget + + + + Y coordinate relative to the widget + + + + return location for bin_window X coordinate + + + + return location for bin_window Y coordinate + + + + + + Sets the tip area of @tooltip to be the area covered by the item at @path. +See also gtk_icon_view_set_tooltip_column() for a simpler alternative. +See also gtk_tooltip_set_tip_area(). + + + + + + a #GtkTooltip + + + + a #GtkTreePath + + + + + + Sets the tip area of @tooltip to the area which @cell occupies in +the item pointed to by @path. See also gtk_tooltip_set_tip_area(). +See also gtk_icon_view_set_tooltip_column() for a simpler alternative. + + + + + + a #GtkTooltip + + + + a #GtkTreePath + + + + a #GtkCellRenderer or %NULL + + + + + + This function is supposed to be used in a #GtkWidget::query-tooltip +signal handler for #GtkIconView. The @x, @y and @keyboard_tip values +which are received in the signal handler, should be passed to this +function without modification. +The return value indicates whether there is an icon view item at the given +coordinates (%TRUE) or not (%FALSE) for mouse tooltips. For keyboard +tooltips the item returned will be the cursor item. When %TRUE, then any of +that row and the corresponding model. @x and @y will always be converted +to be relative to @icon_view's bin_window if @keyboard_tooltip is %FALSE. + + whether or not the given tooltip context points to a item + + + + + the x coordinate (relative to widget coordinates) + + + + the y coordinate (relative to widget coordinates) + + + + whether this is a keyboard tooltip or not + + + + a pointer to receive a #GtkTreeModel or %NULL + + + + a pointer to receive a #GtkTreePath or %NULL + + + + a pointer to receive a #GtkTreeIter or %NULL + + + + + + If you only plan to have simple (text-only) tooltips on full items, you +can use this function to have #GtkIconView handle these automatically +for you. @column should be set to the column in @icon_view's model +containing the tooltip texts, or -1 to disable this feature. +When enabled, #GtkWidget::has-tooltip will be set to %TRUE and + + + + + + an integer, which is a valid column number for @icon_view's model + + + + + + + + + + + The column-spacing property specifies the space which is inserted between +the columns of the icon view. + + + + The columns property contains the number of the columns in which the +items should be displayed. If it is -1, the number of columns will +be chosen automatically to fill the available area. + + + + The item-padding property specifies the padding around each +of the icon view's item. + + + + The item-width property specifies the width to use for each item. +If it is set to -1, the icon view will automatically determine a +suitable item size. + + + + The margin property specifies the space which is inserted +at the edges of the icon view. + + + + The ::markup-column property contains the number of the model column +containing markup information to be displayed. The markup column must be +of type #G_TYPE_STRING. If this property and the :text-column property +are both set to column numbers, it overrides the text column. +If both are set to -1, no texts are displayed. + + + + + + + The orientation property specifies how the cells (i.e. the icon and +the text) of the item are positioned relative to each other. + + + + The ::pixbuf-column property contains the number of the model column +containing the pixbufs which are displayed. The pixbuf column must be +of type #GDK_TYPE_PIXBUF. Setting this property to -1 turns off the +display of pixbufs. + + + + The reorderable property specifies if the items can be reordered +by DND. + + + + The row-spacing property specifies the space which is inserted between +the rows of the icon view. + + + + The ::selection-mode property specifies the selection mode of +icon view. If the mode is #GTK_SELECTION_MULTIPLE, rubberband selection +is enabled, for the other modes, only keyboard selection is possible. + + + + The spacing property specifies the space which is inserted between +the cells (i.e. the icon and the text) of an item. + + + + The ::text-column property contains the number of the model column +containing the texts which are displayed. The text column must be +of type #G_TYPE_STRING. If this property and the :markup-column +property are both set to -1, no texts are displayed. + + + + + + + + + + + + + A <link linkend="keybinding-signals">keybinding signal</link> +which gets emitted when the user activates the currently +focused item. +Applications should not connect to it, but may emit it with +g_signal_emit_by_name() if they need to control activation +programmatically. +The default bindings for this signal are Space, Return and Enter. + + + + + + The ::item-activated signal is emitted when the method +gtk_icon_view_item_activated() is called or the user double +clicks an item. It is also emitted when a non-editable item +pressed. + + + + + + the #GtkTreePath for the activated item + + + + + + The ::move-cursor signal is a +<link linkend="keybinding-signals">keybinding signal</link> +which gets emitted when the user initiates a cursor movement. +Applications should not connect to it, but may emit it with +g_signal_emit_by_name() if they need to control the cursor +programmatically. +The default bindings for this signal include +<itemizedlist> +<listitem>Arrow keys which move by individual steps</listitem> +<listitem>Home/End keys which move to the first/last item</listitem> +<listitem>PageUp/PageDown which move by "pages"</listitem> +</itemizedlist> +All of these will extend the selection when combined with +the Shift modifier. + + + + + + the granularity of the move, as a #GtkMovementStep + + + + the number of @step units to move + + + + + + A <link linkend="keybinding-signals">keybinding signal</link> +which gets emitted when the user selects all items. +Applications should not connect to it, but may emit it with +g_signal_emit_by_name() if they need to control selection +programmatically. +The default binding for this signal is Ctrl-a. + + + + + + A <link linkend="keybinding-signals">keybinding signal</link> +which gets emitted when the user selects the item that is currently +focused. +Applications should not connect to it, but may emit it with +g_signal_emit_by_name() if they need to control selection +programmatically. +There is no default binding for this signal. + + + + + + The ::selection-changed signal is emitted when the selection +(i.e. the set of selected items) changes. + + + + + + + + + + + + + + + + + + + A <link linkend="keybinding-signals">keybinding signal</link> +which gets emitted when the user toggles whether the currently +focused item is selected or not. The exact effect of this +depend on the selection mode. +Applications should not connect to it, but may emit it with +g_signal_emit_by_name() if they need to control selection +programmatically. +There is no default binding for this signal is Ctrl-Space. + + + + + + A <link linkend="keybinding-signals">keybinding signal</link> +which gets emitted when the user unselects all items. +Applications should not connect to it, but may emit it with +g_signal_emit_by_name() if they need to control selection +programmatically. +The default binding for this signal is Ctrl-Shift-a. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + This struct contain private data only and should be accessed by the functions +below. + + + + Creates a new empty #GtkImage widget. + + a newly created #GtkImage widget. + + + + + Creates a #GtkImage widget displaying @pixmap with a @mask. +A #GdkPixmap is a server-side image buffer in the pixel format of the +current display. The #GtkImage does not assume a reference to the +pixmap or mask; you still need to unref them if you own references. +#GtkImage will add its own reference rather than adopting yours. + + a new #GtkImage + + + + + a #GdkPixmap, or %NULL + + + + a #GdkBitmap, or %NULL + + + + + + Creates a #GtkImage widget displaying a @image with a @mask. +A #GdkImage is a client-side image buffer in the pixel format of the +current display. The #GtkImage does not assume a reference to the +image or mask; you still need to unref them if you own references. +#GtkImage will add its own reference rather than adopting yours. + + a new #GtkImage + + + + + a #GdkImage, or %NULL + + + + a #GdkBitmap, or %NULL + + + + + + Creates a new #GtkImage displaying the file @filename. If the file +isn't found or can't be loaded, the resulting #GtkImage will +display a "broken image" icon. This function never returns %NULL, +it always returns a valid #GtkImage widget. +If the file contains an animation, the image will contain an +animation. +If you need to detect failures to load the file, use +gdk_pixbuf_new_from_file() to load the file yourself, then create +the #GtkImage from the pixbuf. (Or for animations, use +gdk_pixbuf_animation_new_from_file()). +The storage type (gtk_image_get_storage_type()) of the returned +image is not defined, it will be whatever is appropriate for +displaying the file. + + a new #GtkImage + + + + + a filename + + + + + + Creates a new #GtkImage displaying @pixbuf. +The #GtkImage does not assume a reference to the +pixbuf; you still need to unref it if you own references. +#GtkImage will add its own reference rather than adopting yours. +Note that this function just creates an #GtkImage from the pixbuf. The +#GtkImage created will not react to state changes. Should you want that, +you should use gtk_image_new_from_icon_set(). + + a new #GtkImage + + + + + a #GdkPixbuf, or %NULL + + + + + + Creates a #GtkImage displaying a stock icon. Sample stock icon +names are #GTK_STOCK_OPEN, #GTK_STOCK_QUIT. Sample stock sizes +are #GTK_ICON_SIZE_MENU, #GTK_ICON_SIZE_SMALL_TOOLBAR. If the stock +icon name isn't known, the image will be empty. +You can register your own stock icon names, see +gtk_icon_factory_add_default() and gtk_icon_factory_add(). + + a new #GtkImage displaying the stock icon + + + + + a stock icon name + + + + a stock icon size + + + + + + Creates a #GtkImage displaying an icon set. Sample stock sizes are +#GTK_ICON_SIZE_MENU, #GTK_ICON_SIZE_SMALL_TOOLBAR. Instead of using +this function, usually it's better to create a #GtkIconFactory, put +your icon sets in the icon factory, add the icon factory to the +list of default factories with gtk_icon_factory_add_default(), and +then use gtk_image_new_from_stock(). This will allow themes to +override the icon you ship with your application. +The #GtkImage does not assume a reference to the +icon set; you still need to unref it if you own references. +#GtkImage will add its own reference rather than adopting yours. + + a new #GtkImage + + + + + a #GtkIconSet + + + + a stock icon size + + + + + + Creates a #GtkImage displaying the given animation. +The #GtkImage does not assume a reference to the +animation; you still need to unref it if you own references. +#GtkImage will add its own reference rather than adopting yours. +Note that the animation frames are shown using a timeout with +#G_PRIORITY_DEFAULT. When using animations to indicate busyness, +keep in mind that the animation will only be shown if the main loop +is not busy with something that has a higher priority. + + a new #GtkImage widget + + + + + an animation + + + + + + Creates a #GtkImage displaying an icon from the current icon theme. +If the icon name isn't known, a "broken image" icon will be +displayed instead. If the current icon theme is changed, the icon +will be updated appropriately. + + a new #GtkImage displaying the themed icon + + + + + an icon name + + + + a stock icon size + + + + + + Creates a #GtkImage displaying an icon from the current icon theme. +If the icon name isn't known, a "broken image" icon will be +displayed instead. If the current icon theme is changed, the icon +will be updated appropriately. + + a new #GtkImage displaying the themed icon + + + + + an icon + + + + a stock icon size + + + + + + Resets the image to be empty. + + + + + + See gtk_image_new_from_pixmap() for details. + + + + + + a #GdkPixmap or %NULL + + + + a #GdkBitmap or %NULL + + + + + + See gtk_image_new_from_image() for details. + + + + + + a #GdkImage or %NULL + + + + a #GdkBitmap or %NULL + + + + + + See gtk_image_new_from_file() for details. + + + + + + a filename or %NULL + + + + + + See gtk_image_new_from_pixbuf() for details. + + + + + + a #GdkPixbuf or %NULL + + + + + + See gtk_image_new_from_stock() for details. + + + + + + a stock icon name + + + + a stock icon size + + + + + + See gtk_image_new_from_icon_set() for details. + + + + + + a #GtkIconSet + + + + a stock icon size + + + + + + Causes the #GtkImage to display the given animation (or display +nothing, if you set the animation to %NULL). + + + + + + the #GdkPixbufAnimation + + + + + + See gtk_image_new_from_icon_name() for details. + + + + + + an icon name + + + + an icon size + + + + + + See gtk_image_new_from_gicon() for details. + + + + + + an icon + + + + an icon size + + + + + + Sets the pixel size to use for named icons. If the pixel size is set +to a value != -1, it is used instead of the icon size set by +gtk_image_set_from_icon_name(). + + + + + + the new pixel size + + + + + + Gets the type of representation being used by the #GtkImage +to store image data. If the #GtkImage has no image data, +the return value will be %GTK_IMAGE_EMPTY. + + image representation being used + + + + + Gets the pixmap and mask being displayed by the #GtkImage. +The storage type of the image must be %GTK_IMAGE_EMPTY or +%GTK_IMAGE_PIXMAP (see gtk_image_get_storage_type()). +The caller of this function does not own a reference to the +returned pixmap and mask. + + + + + + location to store the pixmap, or %NULL + + + + location to store the mask, or %NULL + + + + + + Gets the #GdkImage and mask being displayed by the #GtkImage. +The storage type of the image must be %GTK_IMAGE_EMPTY or +%GTK_IMAGE_IMAGE (see gtk_image_get_storage_type()). +The caller of this function does not own a reference to the +returned image and mask. + + + + + + return location for a #GtkImage, or %NULL + + + + return location for a #GdkBitmap, or %NULL + + + + + + Gets the #GdkPixbuf being displayed by the #GtkImage. +The storage type of the image must be %GTK_IMAGE_EMPTY or +%GTK_IMAGE_PIXBUF (see gtk_image_get_storage_type()). +The caller of this function does not own a reference to the +returned pixbuf. +the image is empty + + the displayed pixbuf, or %NULL if + + + + + Gets the stock icon name and size being displayed by the #GtkImage. +The storage type of the image must be %GTK_IMAGE_EMPTY or +%GTK_IMAGE_STOCK (see gtk_image_get_storage_type()). +The returned string is owned by the #GtkImage and should not +be freed. + + + + + + place to store a stock icon name, or %NULL + + + + place to store a stock icon size, or %NULL + + + + + + Gets the icon set and size being displayed by the #GtkImage. +The storage type of the image must be %GTK_IMAGE_EMPTY or +%GTK_IMAGE_ICON_SET (see gtk_image_get_storage_type()). + + + + + + location to store a #GtkIconSet, or %NULL + + + + location to store a stock icon size, or %NULL + + + + + + Gets the #GdkPixbufAnimation being displayed by the #GtkImage. +The storage type of the image must be %GTK_IMAGE_EMPTY or +%GTK_IMAGE_ANIMATION (see gtk_image_get_storage_type()). +The caller of this function does not own a reference to the +returned animation. +the image is empty + + the displayed animation, or %NULL if + + + + + Gets the icon name and size being displayed by the #GtkImage. +The storage type of the image must be %GTK_IMAGE_EMPTY or +%GTK_IMAGE_ICON_NAME (see gtk_image_get_storage_type()). +The returned string is owned by the #GtkImage and should not +be freed. + + + + + + place to store an icon name, or %NULL + + + + place to store an icon size, or %NULL + + + + + + Gets the #GIcon and size being displayed by the #GtkImage. +The storage type of the image must be %GTK_IMAGE_EMPTY or +%GTK_IMAGE_GICON (see gtk_image_get_storage_type()). +The caller of this function does not own a reference to the +returned #GIcon. + + + + + + place to store a #GIcon, or %NULL + + + + place to store an icon size, or %NULL + + + + + + Gets the pixel size used for named icons. + + the pixel size used for named icons. + + + + + Sets the #GtkImage. + + + + + + a #GdkImage + + + + a #GdkBitmap that indicates which parts of the image should be transparent. + + + + + + Gets the #GtkImage. + + + + + + return location for a #GdkImage + + + + a #GdkBitmap that indicates which parts of the image should be transparent. + + + + + + + + + The GIcon displayed in the GtkImage. For themed icons, +If the icon theme is changed, the image will be updated +automatically. + + + + The name of the icon in the icon theme. If the icon theme is +changed, the image will be updated automatically. + + + + + + + + + + + + + + + + + + + + + + The "pixel-size" property can be used to specify a fixed size +overriding the #GtkImage:icon-size property for images of type +%GTK_IMAGE_ICON_NAME. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Creates a new #GtkImageMenuItem with an empty label. + + a new #GtkImageMenuItem. + + + + + Creates a new #GtkImageMenuItem containing a label. + + a new #GtkImageMenuItem. + + + + + the text of the menu item. + + + + + + Creates a new #GtkImageMenuItem containing a label. The label +will be created using gtk_label_new_with_mnemonic(), so underscores +in @label indicate the mnemonic for the menu item. + + a new #GtkImageMenuItem + + + + + the text of the menu item, with an underscore in front of the mnemonic character + + + + + + Creates a new #GtkImageMenuItem containing the image and text from a +stock item. Some stock ids have preprocessor macros like #GTK_STOCK_OK +and #GTK_STOCK_APPLY. +If you want this menu item to have changeable accelerators, then pass in +%NULL for accel_group. Next call gtk_menu_item_set_accel_path() with an +appropriate path for the menu item, use gtk_stock_lookup() to look up the +standard accelerator for the stock item, and if one is found, call +gtk_accel_map_add_entry() to register it. + + a new #GtkImageMenuItem. + + + + + the name of the stock item. + + + + the #GtkAccelGroup to add the menu items accelerator to, or %NULL. + + + + + + If %TRUE, the menu item will ignore the #GtkSettings:gtk-menu-images +setting and always show the image, if available. +Use this property if the menuitem would be useless or hard to use +without the image. + + + + + + %TRUE if the menuitem should always show the image + + + + + + Returns whether the menu item will ignore the #GtkSettings:gtk-menu-images +setting and always show the image, if available. + + %TRUE if the menu item will always show the image + + + + + + + + + + + + + + + Gets the widget that is currently set as the image of @image_menu_item. +See gtk_image_menu_item_set_image(). + + the widget set as image of @image_menu_item. + + + + + If %TRUE, the label set in the menuitem is used as a +stock id to select the stock item for the item. + + + + + + %TRUE if the menuitem should use a stock item + + + + + + Checks whether the label set in the menuitem is used as a +stock id to select the stock item for the item. +stock id to select the stock item for the item + + %TRUE if the label set in the menuitem is used as a + + + + + Specifies an @accel_group to add the menu items accelerator to +(this only applies to stock items so a stock item must already +be set, make sure to call gtk_image_menu_item_set_use_stock() +and gtk_menu_item_set_label() with a valid stock item first). +If you want this menu item to have changeable accelerators then +you shouldnt need this (see gtk_image_menu_item_new_from_stock()). + + + + + + the #GtkAccelGroup + + + + + + The Accel Group to use for stock accelerator keys + + + + If %TRUE, the menu item will ignore the #GtkSettings:gtk-menu-images +setting and always show the image, if available. +Use this property if the menuitem would be useless or hard to use +without the image. + + + + + + + If %TRUE, the label set in the menuitem is used as a +stock id to select the stock item for the item. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Describes the image data representation used by a #GtkImage. If you +want to get the image from the widget, you can only get the +currently-stored representation. e.g. if the +gtk_image_get_storage_type() returns #GTK_IMAGE_PIXBUF, then you can +call gtk_image_get_pixbuf() but not gtk_image_get_stock(). For empty +images, you can request any storage type (call any of the "get" +functions), but they will all return %NULL values. + + + + + + + + + + + + + + + + Creates a new #GtkInfoBar object. + + a new #GtkInfoBar object + + + + + Creates a new #GtkInfoBar with buttons. Button text/response ID +pairs should be listed, with a %NULL pointer ending the list. +Button text can be either a stock ID such as %GTK_STOCK_OK, or +some arbitrary text. A response ID can be any positive number, +or one of the values in the #GtkResponseType enumeration. If the +user clicks one of these dialog buttons, GtkInfoBar will emit +the "response" signal with the corresponding response ID. + + a new #GtkInfoBar + + + + + stock ID or text to go in first button, or %NULL + + + + + + + + + + Returns the action area of @info_bar. + + the action area. + + + + + Returns the content area of @info_bar. + + the content area. + + + + + Add an activatable widget to the action area of a #GtkInfoBar, +connecting a signal handler that will emit the #GtkInfoBar::response +signal on the message area when the widget is activated. The widget +is appended to the end of the message areas action area. + + + + + + an activatable widget + + + + response ID for @child + + + + + + Adds a button with the given text (or a stock button, if button_text +is a stock ID) and sets things up so that clicking the button will emit +the "response" signal with the given response_id. The button is appended +to the end of the info bars's action area. The button widget is +returned, but usually you don't need it. + + the button widget that was added + + + + + text of button, or stock ID + + + + response ID for the button + + + + + + Adds more buttons, same as calling gtk_info_bar_add_button() +repeatedly. The variable argument list should be %NULL-terminated +as with gtk_info_bar_new_with_buttons(). Each button must have both +text and response ID. + + + + + + button text or stock ID + + + + + + + + + + Calls gtk_widget_set_sensitive (widget, setting) for each +widget in the info bars's action area with the given response_id. +A convenient way to sensitize/desensitize dialog buttons. + + + + + + a response ID + + + + TRUE for sensitive + + + + + + Sets the last widget in the info bar's action area with +the given response_id as the default widget for the dialog. +Pressing "Enter" normally activates the default widget. +Note that this function currently requires @info_bar to +be added to a widget hierarchy. + + + + + + a response ID + + + + + + Emits the 'response' signal with the given @response_id. + + + + + + a response ID + + + + + + Sets the message type of the message area. +GTK+ uses this type to determine what color to use +when drawing the message area. + + + + + + a #GtkMessageType + + + + + + Returns the message type of the message area. + + the message type of the message area. + + + + + The type of the message. +The type is used to determine the colors to use in the info bar. +The following symbolic color names can by used to customize +these colors: +"info_fg_color", "info_bg_color", +"warning_fg_color", "warning_bg_color", +"question_fg_color", "question_bg_color", +"error_fg_color", "error_bg_color". +"other_fg_color", "other_bg_color". +If the type is #GTK_MESSAGE_OTHER, no info bar is painted but the +colors are still set. + + + + + + + + + + The ::close signal is a +<link linkend="keybinding-signals">keybinding signal</link> +which gets emitted when the user uses a keybinding to dismiss +the info bar. +The default binding for this signal is the Escape key. + + + + + + Emitted when an action widget is clicked or the application programmer +calls gtk_dialog_response(). The @response_id depends on which action +widget was clicked. + + + + + + the response ID + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Creates a new #GtkInvisible. + + a new #GtkInvisible. + + + + + Creates a new #GtkInvisible object for a specified screen + + a newly created #GtkInvisible object + + + + + a #GdkScreen which identifies on which the new #GtkInvisible will be created. + + + + + + Sets the #GdkScreen where the #GtkInvisible object will be displayed. + + + + + + a #GdkScreen. + + + + + + Returns the #GdkScreen object associated with @invisible + + the associated #GdkScreen. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Deletes all widgets constructed from the specified path. + + + + + + a factory path to prepend to @path. May be %NULL if @path starts with a factory path + + + + a path + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Creates a new #GtkItemFactory. +Beware that the returned object does not have a floating reference. + + a new #GtkItemFactory + + + + + the kind of menu to create; can be #GTK_TYPE_MENU_BAR, #GTK_TYPE_MENU or #GTK_TYPE_OPTION_MENU + + + + the factory path of the new item factory, a string of the form <literal>"&lt;name&gt;"</literal> + + + + a #GtkAccelGroup to which the accelerators for the menu items will be added, or %NULL to create a new one + + + + + + Installs an accelerator for @accel_widget in @accel_group, that causes +the ::activate signal to be emitted if the accelerator is activated. +This function can be used to make widgets participate in the accel +saving/restoring functionality provided by gtk_accel_map_save() and +gtk_accel_map_load(), even if they haven't been created by an item +factory. +gtk_menu_item_set_accel_path() and gtk_widget_set_accel_path(); don't +use gtk_item_factory_add_foreign() in new code, since it is likely to +be removed in the future. + + + + + + widget to install an accelerator on + + + + + + + the accelerator group to install the accelerator in + + + + key value of the accelerator + + + + modifier combination of the accelerator + + + + + + Obtains the item factory from which a widget was created. + + the item factory from which @widget was created, or %NULL + + + + + a widget + + + + + + If @widget has been created by an item factory, returns the full path +to it. (The full path of a widget is the concatenation of the factory +path specified in gtk_item_factory_new() with the path specified in the +#GtkItemFactoryEntry from which the widget was created.) + + the full path to @widget if it has been created by an item factory, %NULL otherwise. This value is owned by GTK+ and must not be modified or freed. + + + + + a widget + + + + + + Obtains the @popup_data which was passed to +gtk_item_factory_popup_with_data(). This data is available until the menu +is popped down again. + + @popup_data associated with the item factory from which @widget was created, or %NULL if @widget wasn't created by an item factory + + + + + a widget + + + + + + Finds an item factory which has been constructed using the +<literal>"&lt;name&gt;"</literal> prefix of @path as the @path argument +for gtk_item_factory_new(). + + the #GtkItemFactory created for the given factory path, or %NULL + + + + + a string starting with a factory path of the form <literal>"&lt;name&gt;"</literal> + + + + + + Creates the menu items from the @entries. + + + + + + the length of @entries + + + + an array of #GtkMenuEntry<!-- -->s + + + + + + Initializes an item factory. + + + + + + the kind of menu to create; can be #GTK_TYPE_MENU_BAR, #GTK_TYPE_MENU or #GTK_TYPE_OPTION_MENU + + + + the factory path of @ifactory, a string of the form <literal>"&lt;name&gt;"</literal> + + + + a #GtkAccelGroup to which the accelerators for the menu items will be added, or %NULL to create a new one + + + + + + + + + + + + + + + + Obtains the widget which corresponds to @path. +If the widget corresponding to @path is a menu item which opens a +submenu, then the submenu is returned. If you are interested in the menu +item, use gtk_item_factory_get_item() instead. + + the widget for the given path, or %NULL if @path doesn't lead to a widget + + + + + the path to the widget + + + + + + Obtains the widget which was constructed from the #GtkItemFactoryEntry +with the given @action. +If there are multiple items with the same action, the result is +undefined. + + the widget which corresponds to the given action, or %NULL if no widget was found + + + + + an action as specified in the @callback_action field of #GtkItemFactoryEntry + + + + + + Obtains the menu item which was constructed from the first +#GtkItemFactoryEntry with the given @action. + + the menu item which corresponds to the given action, or %NULL if no menu item was found + + + + + an action as specified in the @callback_action field of #GtkItemFactoryEntry + + + + + + Creates an item for @entry. + + + + + + the #GtkItemFactoryEntry to create an item for + + + + data passed to the callback function of @entry + + + + 1 if the callback function of @entry is of type #GtkItemFactoryCallback1, 2 if it is of type #GtkItemFactoryCallback2 + + + + + + Creates the menu items from the @entries. + + + + + + the length of @entries + + + + an array of #GtkItemFactoryEntry<!-- -->s whose @callback members must by of type #GtkItemFactoryCallback1 + + + + data passed to the callback functions of all entries + + + + + + Deletes the menu item which was created for @path by the given +item factory. + + + + + + a path + + + + + + Deletes the menu item which was created from @entry by the given +item factory. + + + + + + a #GtkItemFactoryEntry + + + + + + Deletes the menu items which were created from the @entries by the given +item factory. + + + + + + the length of @entries + + + + an array of #GtkItemFactoryEntry<!-- -->s + + + + + + Pops up the menu constructed from the item factory at (@x, @y). +The @mouse_button parameter should be the mouse button pressed to initiate +the menu popup. If the menu popup was initiated by something other than +a mouse button press, such as a mouse button release or a keypress, +The @time_ parameter should be the time stamp of the event that +initiated the popup. If such an event is not available, use +gtk_get_current_event_time() instead. +The operation of the @mouse_button and the @time_ parameter is the same +as the @button and @activation_time parameters for gtk_menu_popup(). + + + + + + the x position + + + + the y position + + + + the mouse button which was pressed to initiate the popup + + + + the time at which the activation event occurred + + + + + + Pops up the menu constructed from the item factory at (@x, @y). Callbacks +can access the @popup_data while the menu is posted via +gtk_item_factory_popup_data() and gtk_item_factory_popup_data_from_widget(). +The @mouse_button parameter should be the mouse button pressed to initiate +the menu popup. If the menu popup was initiated by something other than +a mouse button press, such as a mouse button release or a keypress, +The @time_ parameter should be the time stamp of the event that +initiated the popup. If such an event is not available, use +gtk_get_current_event_time() instead. +The operation of the @mouse_button and the @time_ parameters is the same +as the @button and @activation_time parameters for gtk_menu_popup(). + + + + + + data available for callbacks while the menu is posted + + + + a #GDestroyNotify function to be called on @popup_data when the menu is unposted + + + + the x position + + + + the y position + + + + the mouse button which was pressed to initiate the popup + + + + the time at which the activation event occurred + + + + + + Obtains the @popup_data which was passed to +gtk_item_factory_popup_with_data(). This data is available until the menu +is popped down again. + + @popup_data associated with @ifactory + + + + + Sets a function to be used for translating the path elements before they +are displayed. + + + + + + the #GtkTranslateFunc function to be used to translate path elements + + + + data to pass to @func and @notify + + + + a #GDestroyNotify function to be called when @ifactory is destroyed and when the translation function is changed again + + + + + + Creates the menu items from the @entries. + + + + + + the length of @entries + + + + an array of #GtkItemFactoryEntry<!-- -->s + + + + data passed to the callback functions of all entries + + + + 1 if the callback functions in @entries are of type #GtkItemFactoryCallback1, 2 if they are of type #GtkItemFactoryCallback2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Creates a new label with the given text inside it. You can +pass %NULL to get an empty label widget. + + the new #GtkLabel + + + + + The text of the label + + + + + + Creates a new #GtkLabel, containing the text in @str. +If characters in @str are preceded by an underscore, they are +underlined. If you need a literal underscore character in a label, use +'__' (two underscores). The first underlined character represents a +keyboard accelerator called a mnemonic. The mnemonic key can be used +to activate another widget, chosen automatically, or explicitly using +gtk_label_set_mnemonic_widget(). +If gtk_label_set_mnemonic_widget() is not called, then the first +activatable ancestor of the #GtkLabel will be chosen as the mnemonic +widget. For instance, if the label is inside a button or menu item, +the button or menu item will automatically become the mnemonic widget +and be activated by the mnemonic. + + the new #GtkLabel + + + + + The text of the label, with an underscore in front of the mnemonic character + + + + + + Sets the text within the #GtkLabel widget. It overwrites any text that +was there before. +This will also clear any previously set mnemonic accelerators. + + + + + + The text you want to set + + + + + + Fetches the text from a label widget, as displayed on the +screen. This does not include any embedded underlines +indicating mnemonics or Pango markup. (See gtk_label_get_label()) +string used by the label, and must not be modified. + + the text in the label widget. This is the internal + + + + + Sets a #PangoAttrList; the attributes in the list are applied to the +label text. +<note><para>The attributes set with this function will be applied +and merged with any other attributes previously effected by way +of the #GtkLabel:use-underline or #GtkLabel:use-markup properties. +While it is not recommended to mix markup strings with manually set +attributes, if you must; know that the attributes will be applied +to the label after the markup string is parsed.</para></note> + + + + + + a #PangoAttrList + + + + + + Gets the attribute list that was set on the label using +gtk_label_set_attributes(), if any. This function does +not reflect attributes that come from the labels markup +(see gtk_label_set_markup()). If you want to get the +effective attributes for the label, use +pango_layout_get_attribute (gtk_label_get_layout (label)). + + the attribute list, or %NULL if none was set. + + + + + Sets the text of the label. The label is interpreted as +including embedded underlines and/or Pango markup depending +on the values of the #GtkLabel:use-underline" and +#GtkLabel:use-markup properties. + + + + + + the new text to set for the label + + + + + + Fetches the text from a label widget including any embedded +underlines indicating mnemonics and Pango markup. (See +gtk_label_get_text()). +owned by the widget and must not be modified or freed. + + the text of the label widget. This string is + + + + + Parses @str which is marked up with the <link +linkend="PangoMarkupFormat">Pango text markup language</link>, setting the +label's text and attribute list based on the parse results. If the @str is +external data, you may need to escape it with g_markup_escape_text() or +g_markup_printf_escaped()<!-- -->: +|[ +char *markup; +markup = g_markup_printf_escaped ("&lt;span style=\"italic\"&gt;&percnt;s&lt;/span&gt;", str); +gtk_label_set_markup (GTK_LABEL (label), markup); +g_free (markup); +]| + + + + + + a markup string (see <link linkend="PangoMarkupFormat">Pango markup format</link>) + + + + + + Sets whether the text of the label contains markup in <link +linkend="PangoMarkupFormat">Pango's text markup +language</link>. See gtk_label_set_markup(). + + + + + + %TRUE if the label's text should be parsed for markup. + + + + + + Returns whether the label's text is interpreted as marked up with +the <link linkend="PangoMarkupFormat">Pango text markup +language</link>. See gtk_label_set_use_markup (). + + %TRUE if the label's text will be parsed for markup. + + + + + If true, an underline in the text indicates the next character should be +used for the mnemonic accelerator key. + + + + + + %TRUE if underlines in the text indicate mnemonics + + + + + + Returns whether an embedded underline in the label indicates a +mnemonic. See gtk_label_set_use_underline(). +the mnemonic accelerator keys. + + %TRUE whether an embedded underline in the label indicates + + + + + Parses @str which is marked up with the <link linkend="PangoMarkupFormat">Pango text markup language</link>, +setting the label's text and attribute list based on the parse results. +If characters in @str are preceded by an underscore, they are underlined +indicating that they represent a keyboard accelerator called a mnemonic. +The mnemonic key can be used to activate another widget, chosen +automatically, or explicitly using gtk_label_set_mnemonic_widget(). + + + + + + a markup string (see <link linkend="PangoMarkupFormat">Pango markup format</link>) + + + + + + If the label has been set so that it has an mnemonic key this function +returns the keyval used for the mnemonic accelerator. If there is no +mnemonic set up it returns #GDK_VoidSymbol. + + GDK keyval usable for accelerators, or #GDK_VoidSymbol + + + + + If the label has been set so that it has an mnemonic key (using +i.e. gtk_label_set_markup_with_mnemonic(), +gtk_label_set_text_with_mnemonic(), gtk_label_new_with_mnemonic() +or the "use_underline" property) the label can be associated with a +widget that is the target of the mnemonic. When the label is inside +a widget (like a #GtkButton or a #GtkNotebook tab) it is +automatically associated with the correct widget, but sometimes +(i.e. when the target is a #GtkEntry next to the label) you need to +set it explicitly using this function. +The target widget will be accelerated by emitting the +GtkWidget::mnemonic-activate signal on it. The default handler for +this signal will activate the widget if there are no mnemonic collisions +and toggle focus between the colliding widgets otherwise. + + + + + + the target #GtkWidget + + + + + + Retrieves the target of the mnemonic (keyboard shortcut) of this +label. See gtk_label_set_mnemonic_widget(). +has been set and the default algorithm will be used. + + the target of the label's mnemonic, or %NULL if none + + + + + Sets the label's text from the string @str. +If characters in @str are preceded by an underscore, they are underlined +indicating that they represent a keyboard accelerator called a mnemonic. +The mnemonic key can be used to activate another widget, chosen +automatically, or explicitly using gtk_label_set_mnemonic_widget(). + + + + + + a string + + + + + + Sets the alignment of the lines in the text of the label relative to +each other. %GTK_JUSTIFY_LEFT is the default value when the +widget is first created with gtk_label_new(). If you instead want +to set the alignment of the label as a whole, use +gtk_misc_set_alignment() instead. gtk_label_set_justify() has no +effect on labels containing only a single line. + + + + + + a #GtkJustification + + + + + + Returns the justification of the label. See gtk_label_set_justify(). + + #GtkJustification + + + + + if there is not enough space to render the entire string. + + + + + + a #PangoEllipsizeMode + + + + + + Returns the ellipsizing position of the label. See gtk_label_set_ellipsize(). + + #PangoEllipsizeMode + + + + + Sets the desired width in characters of @label to @n_chars. + + + + + + the new desired width, in characters. + + + + + + Retrieves the desired width of @label, in characters. See +gtk_label_set_width_chars(). + + the width of the label in characters. + + + + + Sets the desired maximum width in characters of @label to @n_chars. + + + + + + the new desired maximum width, in characters. + + + + + + Retrieves the desired maximum width of @label, in characters. See +gtk_label_set_width_chars(). + + the maximum width of the label in characters. + + + + + + + + + + + + + + + Toggles line wrapping within the #GtkLabel widget. %TRUE makes it break +lines if text exceeds the widget's size. %FALSE lets the text get cut off +by the edge of the widget if it exceeds the widget size. +Note that setting line wrapping to %TRUE does not make the label +wrap at its parent container's width, because GTK+ widgets +conceptually can't make their requisition depend on the parent +container's size. For a label that wraps at a specific position, +set the label's width using gtk_widget_set_size_request(). + + + + + + the setting + + + + + + Returns whether lines in the label are automatically wrapped. +See gtk_label_set_line_wrap(). + + %TRUE if the lines of the label are automatically wrapped. + + + + + If line wrapping is on (see gtk_label_set_line_wrap()) this controls how +the line wrapping is done. The default is %PANGO_WRAP_WORD which means +wrap on word boundaries. + + + + + + the line wrapping mode + + + + + + Returns line wrap mode used by the label. See gtk_label_set_line_wrap_mode(). + + %TRUE if the lines of the label are automatically wrapped. + + + + + Selectable labels allow the user to select text from the label, for +copy-and-paste. + + + + + + %TRUE to allow selecting text in the label + + + + + + Gets the value set by gtk_label_set_selectable(). + + %TRUE if the user can copy text from the label + + + + + Sets the angle of rotation for the label. An angle of 90 reads from +from bottom to top, an angle of 270, from top to bottom. The angle +setting for the label is ignored if the label is selectable, +wrapped, or ellipsized. + + + + + + the angle that the baseline of the label makes with the horizontal, in degrees, measured counterclockwise + + + + + + Gets the angle of rotation for the label. See +gtk_label_set_angle(). + + the angle of rotation for the label + + + + + Selects a range of characters in the label, if the label is selectable. +See gtk_label_set_selectable(). If the label is not selectable, +this function has no effect. If @start_offset or + + + + + + start offset (in characters not bytes) + + + + end offset (in characters not bytes) + + + + + + Gets the selected range of characters in the label, returning %TRUE +if there's a selection. + + %TRUE if selection is non-empty + + + + + return location for start of selection, as a character offset + + + + return location for end of selection, as a character offset + + + + + + Gets the #PangoLayout used to display the label. +The layout is useful to e.g. convert text positions to +pixel positions, in combination with gtk_label_get_layout_offsets(). +The returned layout is owned by the label so need not be +freed by the caller. + + the #PangoLayout for this label + + + + + Obtains the coordinates where the label will draw the #PangoLayout +representing the text in the label; useful to convert mouse events +into coordinates inside the #PangoLayout, e.g. to take some action +if some part of the label is clicked. Of course you will need to +create a #GtkEventBox to receive the events, and pack the label +inside it, since labels are a #GTK_NO_WINDOW widget. Remember +when using the #PangoLayout functions you need to convert to +and from pixels using PANGO_PIXELS() or #PANGO_SCALE. + + + + + + location to store X offset of layout, or %NULL + + + + location to store Y offset of layout, or %NULL + + + + + + Sets whether the label is in single line mode. + + + + + + %TRUE if the label should be in single line mode + + + + + + Returns whether the label is in single line mode. + + %TRUE when the label is in single line mode. + + + + + Returns the URI for the currently active link in the label. +The active link is the one under the mouse pointer or, in a +selectable label, the link in which the text cursor is currently +positioned. +This function is intended for use in a #GtkLabel::activate-link handler +or for use in a #GtkWidget::query-tooltip handler. +not be freed or modified. + + the currently active URI. The string is owned by GTK+ and must + + + + + Sets whether the label should keep track of clicked +links (and use a different color for them). + + + + + + %TRUE to track visited links + + + + + + Returns whether the label is currently keeping track +of clicked links. + + %TRUE if clicked links are remembered + + + + + + + + + + + + + + + + + + + + + + + + + + + The angle that the baseline of the label makes with the horizontal, +in degrees, measured counterclockwise. An angle of 90 reads from +from bottom to top, an angle of 270, from top to bottom. Ignored +if the label is selectable, wrapped, or ellipsized. + + + + + + + + + + The preferred place to ellipsize the string, if the label does +not have enough room to display the entire string, specified as a +#PangoEllisizeMode. +Note that setting this property to a value other than +%PANGO_ELLIPSIZE_NONE has the side-effect that the label requests +only enough space to display the ellipsis "...". In particular, this +means that ellipsizing labels do not work well in notebook tabs, unless +the tab's #GtkNotebook:tab-expand property is set to %TRUE. Other ways +to set a label's width are gtk_widget_set_size_request() and +gtk_label_set_width_chars(). + + + + + + + + + + The desired maximum width of the label, in characters. If this property +is set to -1, the width will be calculated automatically, otherwise the +label will request space for no more than the requested number of +characters. If the #GtkLabel:width-chars property is set to a positive +value, then the "max-width-chars" property is ignored. + + + + + + + + + + + + + + + + + + + Whether the label is in single line mode. In single line mode, +the height of the label does not depend on the actual text, it +is always set to ascent + descent of the font. This can be an +advantage in situations where resizing the label because of text +changes would be distracting, e.g. in a statusbar. + + + + Set this property to %TRUE to make the label track which links +have been clicked. It will then apply the ::visited-link-color +color, instead of ::link-color. + + + + + + + + + + The desired width of the label, in characters. If this property is set to +-1, the width will be calculated automatically, otherwise the label will +request either 3 characters or the property value, whichever is greater. +If the "width-chars" property is set to a positive value, then the +#GtkLabel:max-width-chars property is ignored. + + + + + + + If line wrapping is on (see the #GtkLabel:wrap property) this controls +how the line wrapping is done. The default is %PANGO_WRAP_WORD, which +means wrap on word boundaries. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A <link linkend="keybinding-signals">keybinding signal</link> +which gets emitted when the user activates a link in the label. +Applications may also emit the signal with g_signal_emit_by_name() +if they need to control activation of URIs programmatically. +The default bindings for this signal are all forms of the Enter key. + + + + + + The signal which gets emitted to activate a URI. +Applications may connect to it to override the default behaviour, +which is to call gtk_show_uri(). + + %TRUE if the link has been activated + + + + + the URI that is activated + + + + + + The ::copy-clipboard signal is a +<link linkend="keybinding-signals">keybinding signal</link> +which gets emitted to copy the selection to the clipboard. +The default binding for this signal is Ctrl-c. + + + + + + The ::move-cursor signal is a +<link linkend="keybinding-signals">keybinding signal</link> +which gets emitted when the user initiates a cursor movement. +If the cursor is not visible in @entry, this signal causes +the viewport to be moved instead. +Applications should not connect to it, but may emit it with +g_signal_emit_by_name() if they need to control the cursor +programmatically. +The default bindings for this signal come in two variants, +the variant with the Shift modifier extends the selection, +the variant without the Shift modifer does not. +There are too many key combinations to list them all here. +<itemizedlist> +<listitem>Arrow keys move by individual characters/lines</listitem> +<listitem>Ctrl-arrow key combinations move by words/paragraphs</listitem> +<listitem>Home/End keys move to the ends of the buffer</listitem> +</itemizedlist> + + + + + + the granularity of the move, as a #GtkMovementStep + + + + the number of @step units to move + + + + %TRUE if the move should extend the selection + + + + + + The ::populate-popup signal gets emitted before showing the +context menu of the label. Note that only selectable labels +have context menus. +If you need to add items to the context menu, connect +to this signal and append your menuitems to the @menu. + + + + + + the menu that is being populated + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Creates a new #GtkLayout. Unless you have a specific adjustment +you'd like the layout to use for scrolling, pass %NULL for + + a new #GtkLayout + + + + + horizontal scroll adjustment, or %NULL + + + + vertical scroll adjustment, or %NULL + + + + + + Retrieve the bin window of the layout used for drawing operations. + + a #GdkWindow + + + + + Adds @child_widget to @layout, at position (@x,@y). + + + + + + child widget + + + + X position of child widget + + + + Y position of child widget + + + + + + Moves a current child of @layout to a new position. + + + + + + a current child of @layout + + + + X position to move to + + + + Y position to move to + + + + + + Sets the size of the scrollable area of the layout. + + + + + + width of entire scrollable area + + + + height of entire scrollable area + + + + + + Gets the size that has been set on the layout, and that determines +the total extents of the layout's scrollbar area. See +gtk_layout_set_size (). + + + + + + location to store the width set on @layout, or %NULL + + + + location to store the height set on @layout, or %NULL + + + + + + This function should only be called after the layout has been +placed in a #GtkScrolledWindow or otherwise configured for +scrolling. It returns the #GtkAdjustment used for communication +between the horizontal scrollbar and @layout. +See #GtkScrolledWindow, #GtkScrollbar, #GtkAdjustment for details. + + horizontal scroll adjustment + + + + + This function should only be called after the layout has been +placed in a #GtkScrolledWindow or otherwise configured for +scrolling. It returns the #GtkAdjustment used for communication +between the vertical scrollbar and @layout. +See #GtkScrolledWindow, #GtkScrollbar, #GtkAdjustment for details. + + vertical scroll adjustment + + + + + Sets the horizontal scroll adjustment for the layout. +See #GtkScrolledWindow, #GtkScrollbar, #GtkAdjustment for details. + + + + + + new scroll adjustment + + + + + + Sets the vertical scroll adjustment for the layout. +See #GtkScrolledWindow, #GtkScrollbar, #GtkAdjustment for details. + + + + + + new scroll adjustment + + + + + + This is a deprecated function, it doesn't do anything useful. + + + + + + This is a deprecated function, it doesn't do anything useful. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Creates a new #GtkLinkButton with the URI as its text. + + a new link button widget. + + + + + a valid URI + + + + + + Creates a new #GtkLinkButton containing a label. + + a new link button widget. + + + + + a valid URI + + + + the text of the button + + + + + + Sets @func as the function that should be invoked every time a user clicks +a #GtkLinkButton. This function is called before every callback registered +for the "clicked" signal. +If no uri hook has been set, GTK+ defaults to calling gtk_show_uri(). + + the previously set hook function. + + + + + a function called each time a #GtkLinkButton is clicked, or %NULL + + + + user data to be passed to @func, or %NULL + + + + a #GDestroyNotify that gets called when @data is no longer needed, or %NULL + + + + + + Retrieves the URI set using gtk_link_button_set_uri(). +and should not be modified or freed. + + a valid URI. The returned string is owned by the link button + + + + + Sets @uri as the URI where the #GtkLinkButton points. As a side-effect +this unsets the 'visited' state of the button. + + + + + + a valid URI + + + + + + Retrieves the 'visited' state of the URI where the #GtkLinkButton +points. The button becomes visited when it is clicked. If the URI +is changed on the button, the 'visited' state is unset again. +The state may also be changed using gtk_link_button_set_visited(). + + %TRUE if the link has been visited, %FALSE otherwise + + + + + Sets the 'visited' state of the URI where the #GtkLinkButton +points. See gtk_link_button_get_visited() for more details. + + + + + + the new 'visited' state + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Creates a new list store as with @n_columns columns each of the types passed +in. Note that only types derived from standard GObject fundamental types +are supported. +As an example, <literal>gtk_tree_store_new (3, G_TYPE_INT, G_TYPE_STRING, +GDK_TYPE_PIXBUF);</literal> will create a new #GtkListStore with three columns, of type +int, string and #GdkPixbuf respectively. + + a new #GtkListStore + + + + + number of columns in the list store + + + + + + + + + + Non-vararg creation function. Used primarily by language bindings. + + a new #GtkListStore + + + + + number of columns in the list store + + + + an array of #GType types for the columns, from first to last + + + + + + + + This function is meant primarily for #GObjects that inherit from #GtkListStore, +and should only be used when constructing a new #GtkListStore. It will not +function after a row has been added, or a method on the #GtkTreeModel +interface is called. + + + + + + Number of columns for the list store + + + + An array length n of #GTypes + + + + + + + + Sets the data in the cell specified by @iter and @column. +The type of @value must be convertible to the type of the +column. + + + + + + A valid #GtkTreeIter for the row being modified + + + + column number to modify + + + + new value for the cell + + + + + + Sets the value of one or more cells in the row referenced by @iter. +The variable argument list should contain integer column numbers, +each column number followed by the value to be set. +The list is terminated by a -1. For example, to set column 0 with type +%G_TYPE_STRING to "Foo", you would write <literal>gtk_list_store_set (store, iter, +0, "Foo", -1)</literal>. +The value will be copied or referenced by the store if appropriate. + + + + + + row iterator + + + + + + + + + + A variant of gtk_list_store_set_valist() which +takes the columns and values as two arrays, instead of +varargs. This function is mainly intended for +language-bindings and in case the number of columns to +change is not known until run-time. + + + + + + A valid #GtkTreeIter for the row being modified + + + + an array of column numbers + + + + + + an array of GValues + + + + + + the length of the @columns and @values arrays + + + + + + Removes the given row from the list store. After being removed, +to the last row in @list_store. + + %TRUE if @iter is valid, %FALSE if not. + + + + + A valid #GtkTreeIter + + + + + + Creates a new row at @position. @iter will be changed to point to this new +row. If @position is larger than the number of rows on the list, then the +new row will be appended to the list. The row will be empty after this +function is called. To fill in values, you need to call +gtk_list_store_set() or gtk_list_store_set_value(). + + + + + + An unset #GtkTreeIter to set to the new row + + + + position to insert the new row + + + + + + Inserts a new row before @sibling. If @sibling is %NULL, then the row will +be appended to the end of the list. @iter will be changed to point to this +new row. The row will be empty after this function is called. To fill in +values, you need to call gtk_list_store_set() or gtk_list_store_set_value(). + + + + + + An unset #GtkTreeIter to set to the new row + + + + A valid #GtkTreeIter, or %NULL + + + + + + Inserts a new row after @sibling. If @sibling is %NULL, then the row will be +prepended to the beginning of the list. @iter will be changed to point to +this new row. The row will be empty after this function is called. To fill +in values, you need to call gtk_list_store_set() or gtk_list_store_set_value(). + + + + + + An unset #GtkTreeIter to set to the new row + + + + A valid #GtkTreeIter, or %NULL + + + + + + Creates a new row at @position. @iter will be changed to point to this new +row. If @position is larger than the number of rows on the list, then the +new row will be appended to the list. The row will be filled with the +values given to this function. +Calling +<literal>gtk_list_store_insert_with_values(list_store, iter, position...)</literal> +has the same effect as calling +|[ +gtk_list_store_insert (list_store, iter, position); +gtk_list_store_set (list_store, iter, ...); +]| +with the difference that the former will only emit a row_inserted signal, +while the latter will emit row_inserted, row_changed and, if the list store +is sorted, rows_reordered. Since emitting the rows_reordered signal +repeatedly can affect the performance of the program, +gtk_list_store_insert_with_values() should generally be preferred when +inserting rows in a sorted list store. + + + + + + An unset #GtkTreeIter to set to the new row, or %NULL. + + + + position to insert the new row + + + + + + + + + + A variant of gtk_list_store_insert_with_values() which +takes the columns and values as two arrays, instead of +varargs. This function is mainly intended for +language-bindings. + + + + + + An unset #GtkTreeIter to set to the new row, or %NULL. + + + + position to insert the new row + + + + an array of column numbers + + + + an array of GValues + + + + the length of the @columns and @values arrays + + + + + + Prepends a new row to @list_store. @iter will be changed to point to this new +row. The row will be empty after this function is called. To fill in +values, you need to call gtk_list_store_set() or gtk_list_store_set_value(). + + + + + + An unset #GtkTreeIter to set to the prepend row + + + + + + Appends a new row to @list_store. @iter will be changed to point to this new +row. The row will be empty after this function is called. To fill in +values, you need to call gtk_list_store_set() or gtk_list_store_set_value(). + + + + + + An unset #GtkTreeIter to set to the appended row + + + + + + Removes all rows from the list store. + + + + + + <warning>This function is slow. Only use it for debugging and/or testing +purposes.</warning> +Checks if the given iter is a valid iter for this #GtkListStore. + + %TRUE if the iter is valid, %FALSE if the iter is invalid. + + + + + A #GtkTreeIter. + + + + + + Reorders @store to follow the order indicated by @new_order. Note that +this function only works with unsorted stores. + + + + + + an array of integers mapping the new position of each child to its old position before the re-ordering, i.e. @new_order<literal>[newpos] = oldpos</literal>. + + + + + + Swaps @a and @b in @store. Note that this function only works with +unsorted stores. + + + + + + A #GtkTreeIter. + + + + Another #GtkTreeIter. + + + + + + Moves @iter in @store to the position after @position. Note that this +function only works with unsorted stores. If @position is %NULL, @iter +will be moved to the start of the list. + + + + + + A #GtkTreeIter. + + + + A #GtkTreeIter or %NULL. + + + + + + Moves @iter in @store to the position before @position. Note that this +function only works with unsorted stores. If @position is %NULL, @iter +will be moved to the end of the list. + + + + + + A #GtkTreeIter. + + + + A #GtkTreeIter, or %NULL. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Returns a list of the menus which are attached to this widget. +This list is owned by GTK+ and must not be modified. + + the list of menus attached to his widget. + + + + + + + a #GtkWidget + + + + + + Displays a menu and makes it available for selection. Applications can use +this function to display context-sensitive menus, and will typically supply +%NULL for the @parent_menu_shell, @parent_menu_item, @func and @data +parameters. The default menu positioning function will position the menu +at the current mouse cursor position. +The @button parameter should be the mouse button pressed to initiate +the menu popup. If the menu popup was initiated by something other than +a mouse button press, such as a mouse button release or a keypress, +The @activate_time parameter is used to conflict-resolve initiation of +concurrent requests for mouse/keyboard grab requests. To function +properly, this needs to be the time stamp of the user event (such as +a mouse click or key press) that caused the initiation of the popup. +Only if no such event is available, gtk_get_current_event_time() can +be used instead. + + + + + + the menu shell containing the triggering menu item, or %NULL + + + + the menu item whose activation triggered the popup, or %NULL + + + + a user supplied function used to position the menu, or %NULL + + + + user supplied data to be passed to @func. + + + + the mouse button which was pressed to initiate the event. + + + + the time at which the activation event occurred. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Returns whether the menu is torn off. See +gtk_menu_set_tearoff_state (). + + %TRUE if the menu is currently torn off. + + + + + Sets the title string for the menu. The title is displayed when the menu +is shown as a tearoff menu. If @title is %NULL, the menu will see if it is +attached to a parent menu item, and if so it will try to use the same text as +that menu item's label. + + + + + + a string containing the title for the menu. + + + + + + Returns the title of the menu. See gtk_menu_set_title(). +title set on it. This string is owned by the widget and should +not be modified or freed. + + the title of the menu, or %NULL if the menu has no + + + + + + + + + + + + + + + + + + Sets the #GdkScreen on which the menu will be displayed. + + + + + + a #GdkScreen, or %NULL if the screen should be determined by the widget the menu is attached to. + + + + + + Adds a new #GtkMenuItem to a (table) menu. The number of 'cells' that +an item will occupy is specified by @left_attach, @right_attach, +rightmost, uppermost and lower column and row numbers of the table. +(Columns and rows are indexed from zero). +Note that this function is not related to gtk_menu_detach(). + + + + + + a #GtkMenuItem. + + + + The column number to attach the left side of the item to. + + + + The column number to attach the right side of the item to. + + + + The row number to attach the top of the item to. + + + + The row number to attach the bottom of the item to. + + + + + + Informs GTK+ on which monitor a menu should be popped up. +See gdk_screen_get_monitor_geometry(). +This function should be called from a #GtkMenuPositionFunc if the +menu should not appear on the same monitor as the pointer. This +information can't be reliably inferred from the coordinates returned +by a #GtkMenuPositionFunc, since, for very long menus, these coordinates +may extend beyond the monitor boundaries or even the screen boundaries. + + + + + + the number of the monitor on which the menu should be popped up + + + + + + Retrieves the number of the monitor on which to show the menu. +be popped up or -1, if no monitor has been set + + the number of the monitor on which the menu should + + + + + Sets whether the menu should reserve space for drawing toggles +or icons, regardless of their actual presence. + + + + + + whether to reserve size for toggles + + + + + + Returns whether the menu reserves space for toggles and +icons, regardless of their actual presence. + + Whether the menu reserves toggle space + + + + + The accel group holding accelerators for the menu. + + + + An accel path used to conveniently construct accel paths of child items. + + + + The index of the currently selected menu item, or -1 if no +menu item is selected. + + + + The widget the menu is attached to. Setting this property attaches +the menu without a #GtkMenuDetachFunc. If you need to use a detacher, +use gtk_menu_attach_to_widget() directly. + + + + The monitor the menu will be popped up on. + + + + A boolean that indicates whether the menu reserves space for +toggles and icons, regardless of their actual presence. +This property should only be changed from its default value +for special-purposes such as tabular menus. Regular menus that +are connected to a menu bar or context menus should reserve +toggle space for consistency. + + + + A boolean that indicates whether the menu is torn-off. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Retrieves the current pack direction of the menubar. +See gtk_menu_bar_set_pack_direction(). + + the pack direction + + + + + Sets how items should be packed inside a menubar. + + + + + + a new #GtkPackDirection + + + + + + Retrieves the current child pack direction of the menubar. +See gtk_menu_bar_set_child_pack_direction(). + + the child pack direction + + + + + Sets how widgets should be packed inside the children of a menubar. + + + + + + a new #GtkPackDirection + + + + + + The child pack direction of the menubar. It determines how +the widgets contained in child menuitems are arranged. + + + + The pack direction of the menubar. It determines how +menuitems are arranged in the menubar. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Creates a new #GtkMenuItem containing a label. The label +will be created using gtk_label_new_with_mnemonic(), so underscores +in @label indicate the mnemonic for the menu item. + + a new #GtkMenuItem + + + + + The text of the button, with an underscore in front of the mnemonic character + + + + + + Sets @text on the @menu_item label + + + + + + the text you want to set + + + + + + Sets @text on the @menu_item label +string used by the label, and must not be modified. + + The text in the @menu_item label. This is the internal + + + + + Sets or replaces the menu item's submenu, or removes it when a %NULL +submenu is passed. + + + + + + the submenu, or %NULL + + + + + + Gets the submenu underneath this menu item, if any. See +gtk_menu_item_set_submenu(). + + submenu for this menu item, or %NULL if none. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Sets whether the menu item appears justified at the right +side of a menu bar. This was traditionally done for "Help" menu +items, but is now considered a bad idea. (If the widget +layout is reversed for a right-to-left language like Hebrew +or Arabic, right-justified-menu-items appear at the left.) + + + + + + if %TRUE the menu item will appear at the far right if added to a menu bar. + + + + + + Gets whether the menu item appears justified at the right +side of the menu bar. +far right if added to a menu bar. + + %TRUE if the menu item will appear at the + + + + + + + + + + + + + + + + + + + + Sets @text on the @menu_item label + + + + + + the text you want to set + + + + + + Sets @text on the @menu_item label +string used by the label, and must not be modified. + + The text in the @menu_item label. This is the internal + + + + + If true, an underline in the text indicates the next character should be +used for the mnemonic accelerator key. + + + + + + %TRUE if underlines in the text indicate mnemonics + + + + + + Checks if an underline in the text indicates the next character should be +used for the mnemonic accelerator key. +the mnemonic accelerator key. + + %TRUE if an embedded underline in the label indicates + + + + + Removes the widget's submenu. +should not be used in newly written code. Use +gtk_menu_item_set_submenu() instead. + + + + + + Sets the accelerator path of the menu item, through which runtime +changes of the menu item's accelerator caused by the user can be +identified and saved to persistant storage. + + + + The text for the child label. + + + + Sets whether the menu item appears justified at the right side of a menu bar. + + + + The submenu attached to the menu item, or NULL if it has none. + + + + %TRUE if underlines in the text indicate mnemonics + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + the text you want to set + + + + + + + + + The text in the @menu_item label. This is the internal + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Select the first visible or selectable child of the menu shell; +don't select tearoff items unless the only item is a tearoff +item. + + + + + + if %TRUE, search for the first selectable menu item, otherwise select nothing if the first item isn't sensitive. This should be %FALSE if the menu is being popped up initially. + + + + + + Cancels the selection within the menu shell. + + + + + + Returns %TRUE if the menu shell will take the keyboard focus on popup. + + %TRUE if the menu shell will take the keyboard focus on popup. + + + + + If @take_focus is %TRUE (the default) the menu shell will take the keyboard +focus so that it will receive all keyboard events which is needed to enable +keyboard navigation in menus. +Setting @take_focus to %FALSE is useful only for special applications +like virtual keyboard implementations which should not take keyboard +focus. +The @take_focus state of a menu or menu bar is automatically propagated +to submenus whenever a submenu is popped up, so you don't have to worry +about recursively setting it for your entire menu hierarchy. Only when +programmatically picking a submenu and popping it up manually, the +Note that setting it to %FALSE has side-effects: +If the focus is in some other app, it keeps the focus and keynav in +the menu doesn't work. Consequently, keynav on the menu will only +work if the focus is on some toplevel owned by the onscreen keyboard. +To avoid confusing the user, menus with @take_focus set to %FALSE +should not display mnemonics or accelerators, since it cannot be +guaranteed that they will work. +See also gdk_keyboard_grab() + + + + + + %TRUE if the menu shell should take the keyboard focus on popup. + + + + + + A boolean that determines whether the menu and its submenus grab the +keyboard focus. See gtk_menu_shell_set_take_focus() and +gtk_menu_shell_get_take_focus(). + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The ::move-selected signal is emitted to move the selection to +another item. + + %TRUE to stop the signal emission, %FALSE to continue + + + + + +1 to move to the next item, -1 to move to the previous + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Creates a new #GtkMenuToolButton using @icon_widget as icon and + + the new #GtkMenuToolButton + + + + + a widget that will be used as icon widget, or %NULL + + + + a string that will be used as label, or %NULL + + + + + + Creates a new #GtkMenuToolButton. +The new #GtkMenuToolButton will contain an icon and label from +the stock item indicated by @stock_id. + + the new #GtkMenuToolButton + + + + + the name of a stock item + + + + + + Sets the #GtkMenu that is popped up when the user clicks on the arrow. +If @menu is NULL, the arrow button becomes insensitive. + + + + + + the #GtkMenu associated with #GtkMenuToolButton + + + + + + Gets the #GtkMenu associated with #GtkMenuToolButton. + + the #GtkMenu associated with #GtkMenuToolButton + + + + + Sets the #GtkTooltips object to be used for arrow button which +pops up the menu. See gtk_tool_item_set_tooltip() for setting +a tooltip on the whole #GtkMenuToolButton. +instead. + + + + + + the #GtkTooltips object to be used + + + + text to be used as tooltip text for tool_item + + + + text to be used as private tooltip text + + + + + + Sets the tooltip text to be used as tooltip for the arrow button which +pops up the menu. See gtk_tool_item_set_tooltip() for setting a tooltip +on the whole #GtkMenuToolButton. + + + + + + text to be used as tooltip text for button's arrow button + + + + + + Sets the tooltip markup text to be used as tooltip for the arrow button +which pops up the menu. See gtk_tool_item_set_tooltip() for setting a +tooltip on the whole #GtkMenuToolButton. + + + + + + markup text to be used as tooltip text for button's arrow button + + + + + + + + + + + + + + + The ::show-menu signal is emitted before the menu is shown. +It can be used to populate the menu on demand, using +gtk_menu_tool_button_get_menu(). +Note that even if you populate the menu dynamically in this way, +you must set an empty menu on the #GtkMenuToolButton beforehand, +since the arrow is made insensitive if the menu is not set. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Creates a new message dialog, which is a simple dialog with an icon +indicating the dialog type (error, warning, etc.) and some text the +user may want to see. When the user clicks a button a "response" +signal is emitted with response IDs from #GtkResponseType. See +#GtkDialog for more details. + + a new #GtkMessageDialog + + + + + transient parent, or %NULL for none + + + + flags + + + + type of message + + + + set of buttons to use + + + + printf()-style format string, or %NULL + + + + + + + + + + Creates a new message dialog, which is a simple dialog with an icon +indicating the dialog type (error, warning, etc.) and some text which +is marked up with the <link linkend="PangoMarkupFormat">Pango text markup language</link>. +When the user clicks a button a "response" signal is emitted with +response IDs from #GtkResponseType. See #GtkDialog for more details. +Special XML characters in the printf() arguments passed to this +function will automatically be escaped as necessary. +(See g_markup_printf_escaped() for how this is implemented.) +Usually this is what you want, but if you have an existing +Pango markup string that you want to use literally as the +label, then you need to use gtk_message_dialog_set_markup() +instead, since you can't pass the markup string either +as the format (it might contain '%' characters) or as a string +argument. +|[ +GtkWidget *dialog; +dialog = gtk_message_dialog_new (main_application_window, +GTK_DIALOG_DESTROY_WITH_PARENT, +GTK_MESSAGE_ERROR, +GTK_BUTTONS_CLOSE, +NULL); +gtk_message_dialog_set_markup (GTK_MESSAGE_DIALOG (dialog), +markup); +]| + + a new #GtkMessageDialog + + + + + transient parent, or %NULL for none + + + + flags + + + + type of message + + + + set of buttons to use + + + + printf()-style format string, or %NULL + + + + + + + + + + Sets the dialog's image to @image. + + + + + + the image + + + + + + Gets the dialog's image. + + the dialog's image + + + + + Sets the text of the message dialog to be @str, which is marked +up with the <link linkend="PangoMarkupFormat">Pango text markup +language</link>. + + + + + + markup string (see <link linkend="PangoMarkupFormat">Pango markup format</link>) + + + + + + Sets the secondary text of the message dialog to be @message_format +(with printf()-style). +Note that setting a secondary text makes the primary text become +bold, unless you have provided explicit markup. + + + + + + printf()-style format string, or %NULL + + + + + + + + + + Sets the secondary text of the message dialog to be @message_format (with +printf()-style), which is marked up with the +<link linkend="PangoMarkupFormat">Pango text markup language</link>. +Note that setting a secondary text makes the primary text become +bold, unless you have provided explicit markup. +Due to an oversight, this function does not escape special XML characters +like gtk_message_dialog_new_with_markup() does. Thus, if the arguments +may contain special XML characters, you should use g_markup_printf_escaped() +to escape it. +<informalexample><programlisting> +gchar *msg; +msg = g_markup_printf_escaped (message_format, ...); +gtk_message_dialog_format_secondary_markup (message_dialog, "&percnt;s", msg); +g_free (msg); +</programlisting></informalexample> + + + + + + printf()-style markup string (see + + + + + + + + + + + + + The image for this dialog. + + + + The type of the message. The type is used to determine +the image that is shown in the dialog, unless the image is +explicitly set by the ::image property. + + + + The secondary text of the message dialog. + + + + %TRUE if the secondary text of the dialog includes Pango markup. +See pango_parse_markup(). + + + + The primary text of the message dialog. If the dialog has +a secondary text, this will appear as the title. + + + + %TRUE if the primary text of the dialog includes Pango markup. +See pango_parse_markup(). + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The type of message being displayed in the dialog. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Gets the X and Y alignment of the widget within its allocation. +See gtk_misc_set_alignment(). + + + + + + location to store X alignment of @misc, or %NULL + + + + location to store Y alignment of @misc, or %NULL + + + + + + + + + + + + + + + + + + + Gets the padding in the X and Y directions of the widget. +See gtk_misc_set_padding(). + + + + + + location to store padding in the X direction, or %NULL + + + + location to store padding in the Y direction, or %NULL + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + This should not be accessed directly. Use the accessor functions below. + + Creates a new #GtkMountOperation + + a new #GtkMountOperation + + + + + transient parent of the window, or %NULL + + + + + + Returns whether the #GtkMountOperation is currently displaying +a window. + + %TRUE if @op is currently displaying a window + + + + + Sets the transient parent for windows shown by the +#GtkMountOperation. + + + + + + transient parent of the window, or %NULL + + + + + + Gets the transient parent used by the #GtkMountOperation + + the transient parent for windows shown by @op + + + + + Sets the screen to show windows of the #GtkMountOperation on. + + + + + + a #GdkScreen + + + + + + Gets the screen on which windows of the #GtkMountOperation +will be shown. + + the screen on which windows of @op are shown + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Creates a new #GtkNotebook widget with no pages. + + the newly created #GtkNotebook + + + + + Installs a global function used to create a window +when a detached tab is dropped in an empty area. + + + + + + the #GtkNotebookWindowCreationFunc, or %NULL + + + + user data for @func + + + + Destroy notifier for @data, or %NULL + + + + + + + + + + + + + + + + + + + + + + + + + Appends a page to @notebook. +page in the notebook, or -1 if function fails + + the index (starting from 0) of the appended + + + + + the #GtkWidget to use as the contents of the page. + + + + the #GtkWidget to be used as the label for the page, or %NULL to use the default label, 'page N'. + + + + + + Appends a page to @notebook, specifying the widget to use as the +label in the popup menu. +page in the notebook, or -1 if function fails + + the index (starting from 0) of the appended + + + + + the #GtkWidget to use as the contents of the page. + + + + the #GtkWidget to be used as the label for the page, or %NULL to use the default label, 'page N'. + + + + the widget to use as a label for the page-switch menu, if that is enabled. If %NULL, and @tab_label is a #GtkLabel or %NULL, then the menu label will be a newly created label with the same text as @tab_label; If @tab_label is not a #GtkLabel, @menu_label must be specified if the page-switch menu is to be used. + + + + + + Prepends a page to @notebook. +page in the notebook, or -1 if function fails + + the index (starting from 0) of the prepended + + + + + the #GtkWidget to use as the contents of the page. + + + + the #GtkWidget to be used as the label for the page, or %NULL to use the default label, 'page N'. + + + + + + Prepends a page to @notebook, specifying the widget to use as the +label in the popup menu. +page in the notebook, or -1 if function fails + + the index (starting from 0) of the prepended + + + + + the #GtkWidget to use as the contents of the page. + + + + the #GtkWidget to be used as the label for the page, or %NULL to use the default label, 'page N'. + + + + the widget to use as a label for the page-switch menu, if that is enabled. If %NULL, and @tab_label is a #GtkLabel or %NULL, then the menu label will be a newly created label with the same text as @tab_label; If @tab_label is not a #GtkLabel, @menu_label must be specified if the page-switch menu is to be used. + + + + + + Insert a page into @notebook at the given position. +page in the notebook, or -1 if function fails + + the index (starting from 0) of the inserted + + + + + the #GtkWidget to use as the contents of the page. + + + + the #GtkWidget to be used as the label for the page, or %NULL to use the default label, 'page N'. + + + + the index (starting at 0) at which to insert the page, or -1 to append the page after all other pages. + + + + + + Insert a page into @notebook at the given position, specifying +the widget to use as the label in the popup menu. +page in the notebook + + the index (starting from 0) of the inserted + + + + + the #GtkWidget to use as the contents of the page. + + + + the #GtkWidget to be used as the label for the page, or %NULL to use the default label, 'page N'. + + + + the widget to use as a label for the page-switch menu, if that is enabled. If %NULL, and @tab_label is a #GtkLabel or %NULL, then the menu label will be a newly created label with the same text as @tab_label; If @tab_label is not a #GtkLabel, @menu_label must be specified if the page-switch menu is to be used. + + + + the index (starting at 0) at which to insert the page, or -1 to append the page after all other pages. + + + + + + Removes a page from the notebook given its index +in the notebook. + + + + + + the index of a notebook page, starting from 0. If -1, the last page will be removed. + + + + + + Sets an group identificator for @notebook, notebooks sharing +the same group identificator will be able to exchange tabs +via drag and drop. A notebook with group identificator -1 will +not be able to exchange tabs with any other notebook. + + + + + + a group identificator, or -1 to unset it + + + + + + Gets the current group identificator for @notebook. + + the group identificator, or -1 if none is set. + + + + + Sets a group identificator pointer for @notebook, notebooks sharing +the same group identificator pointer will be able to exchange tabs +via drag and drop. A notebook with a %NULL group identificator will +not be able to exchange tabs with any other notebook. + + + + + + a pointer to identify the notebook group, or %NULL to unset it + + + + + + Gets the current group identificator pointer for @notebook. + + the group identificator, or %NULL if none is set. + + + + + Returns the page number of the current page. +page in the notebook. If the notebook has no pages, then +-1 will be returned. + + the index (starting from 0) of the current + + + + + Returns the child widget contained in page number @page_num. +out of bounds. + + the child widget, or %NULL if @page_num is + + + + + the index of a page in the notebook, or -1 to get the last page. + + + + + + Gets the number of pages in a notebook. + + the number of pages in the notebook. + + + + + Finds the index of the page which contains the given child +widget. +-1 if @child is not in the notebook. + + the index of the page containing @child, or + + + + + a #GtkWidget + + + + + + Switches to the page number @page_num. +Note that due to historical reasons, GtkNotebook refuses +to switch to a page unless the child widget is visible. +Therefore, it is recommended to show child widgets before +adding them to a notebook. + + + + + + index of the page to switch to, starting from 0. If negative, the last page will be used. If greater than the number of pages in the notebook, nothing will be done. + + + + + + Switches to the next page. Nothing happens if the current page is +the last page. + + + + + + Switches to the previous page. Nothing happens if the current page +is the first page. + + + + + + Sets whether a bevel will be drawn around the notebook pages. +This only has a visual effect when the tabs are not shown. +See gtk_notebook_set_show_tabs(). + + + + + + %TRUE if a bevel should be drawn around the notebook. + + + + + + Returns whether a bevel will be drawn around the notebook pages. See +gtk_notebook_set_show_border(). + + %TRUE if the bevel is drawn + + + + + Sets whether to show the tabs for the notebook or not. + + + + + + %TRUE if the tabs should be shown. + + + + + + Returns whether the tabs of the notebook are shown. See +gtk_notebook_set_show_tabs(). + + %TRUE if the tabs are shown + + + + + Sets the edge at which the tabs for switching pages in the +notebook are drawn. + + + + + + the edge to draw the tabs at. + + + + + + Gets the edge at which the tabs for switching pages in the +notebook are drawn. + + the edge at which the tabs are drawn + + + + + Sets whether the tabs must have all the same size or not. + + + + + + %TRUE if all tabs should be the same size. + + + + + + Sets the width the border around the tab labels +in a notebook. This is equivalent to calling +gtk_notebook_set_tab_hborder (@notebook, @border_width) followed +by gtk_notebook_set_tab_vborder (@notebook, @border_width). + + + + + + width of the border around the tab labels. + + + + + + Sets the width of the horizontal border of tab labels. + + + + + + width of the horizontal border of tab labels. + + + + + + Sets the width of the vertical border of tab labels. + + + + + + width of the vertical border of tab labels. + + + + + + Sets whether the tab label area will have arrows for scrolling if +there are too many tabs to fit in the area. + + + + + + %TRUE if scroll arrows should be added + + + + + + Returns whether the tab label area has arrows for scrolling. See +gtk_notebook_set_scrollable(). + + %TRUE if arrows for scrolling are present + + + + + the tab labels, a menu with all the pages will be popped up. + + + + + + Disables the popup menu. + + + + + + Returns the tab label widget for the page @child. %NULL is returned +if @child is not in @notebook or if no tab label has specifically +been set for @child. + + the tab label + + + + + the page + + + + + + Changes the tab label for @child. If %NULL is specified +for @tab_label, then the page will have the label 'page N'. + + + + + + the page + + + + the tab label widget to use, or %NULL for default tab label. + + + + + + Creates a new label and sets it as the tab label for the page +containing @child. + + + + + + the page + + + + the label text + + + + + + Retrieves the text of the tab label for the page containing +tab label widget is not a #GtkLabel. The +string is owned by the widget and must not +be freed. + + the text of the tab label, or %NULL if the + + + + + a widget contained in a page of @notebook + + + + + + Retrieves the menu label widget of the page containing @child. +notebook page does not have a menu label other +than the default (the tab label). + + the menu label, or %NULL if the + + + + + a widget contained in a page of @notebook + + + + + + Changes the menu label for the page containing @child. + + + + + + the child widget + + + + the menu label, or NULL for default + + + + + + Creates a new label and sets it as the menu label of @child. + + + + + + the child widget + + + + the label text + + + + + + Retrieves the text of the menu label for the page containing +widget does not have a menu label other than +the default menu label, or the menu label widget +is not a #GtkLabel. The string is owned by +the widget and must not be freed. + + the text of the tab label, or %NULL if the + + + + + the child widget of a page of the notebook. + + + + + + Query the packing attributes for the tab label of the page +containing @child. +#GtkNotebook:tab-fill child properties instead. + + + + + + the page + + + + location to store the expand value (or NULL) + + + + location to store the fill value (or NULL) + + + + location to store the pack_type (or NULL) + + + + + + Sets the packing parameters for the tab label of the page +containing @child. See gtk_box_pack_start() for the exact meaning +of the parameters. +#GtkNotebook:tab-fill child properties instead. +Modifying the packing of the tab label is a deprecated feature and +shouldn't be done anymore. + + + + + + the child widget + + + + whether to expand the tab label or not + + + + whether the tab label should fill the allocated area or not + + + + the position of the tab label + + + + + + Reorders the page containing @child, so that it appears in position +children in the list or negative, @child will be moved to the end +of the list. + + + + + + the child to move + + + + the new position, or -1 to move to the end + + + + + + Gets whether the tab can be reordered via drag and drop or not. + + %TRUE if the tab is reorderable. + + + + + a child #GtkWidget + + + + + + Sets whether the notebook tab can be reordered +via drag and drop or not. + + + + + + a child #GtkWidget + + + + whether the tab is reorderable or not. + + + + + + Returns whether the tab contents can be detached from @notebook. + + TRUE if the tab is detachable. + + + + + a child #GtkWidget + + + + + + Sets whether the tab can be detached from @notebook to another +notebook or widget. +Note that 2 notebooks must share a common group identificator +(see gtk_notebook_set_group_id ()) to allow automatic tabs +interchange between them. +If you want a widget to interact with a notebook through DnD +(i.e.: accept dragged tabs from it) it must be set as a drop +destination and accept the target "GTK_NOTEBOOK_TAB". The notebook +will fill the selection with a GtkWidget** pointing to the child +widget that corresponds to the dropped tab. +|[ +static void +on_drop_zone_drag_data_received (GtkWidget *widget, +GdkDragContext *context, +gint x, +gint y, +GtkSelectionData *selection_data, +guint info, +guint time, +gpointer user_data) +{ +GtkWidget *notebook; +GtkWidget **child; +notebook = gtk_drag_get_source_widget (context); +child = (void*) selection_data->data; +process_widget (*child); +gtk_container_remove (GTK_CONTAINER (notebook), *child); +} +]| +If you want a notebook to accept drags from other widgets, +you will have to set your own DnD code to do it. + + + + + + a child #GtkWidget + + + + whether the tab is detachable or not + + + + + + Gets one of the action widgets. See gtk_notebook_set_action_widget(). +%NULL when this action widget has not been set + + The action widget with the given @pack_type or + + + + + pack type of the action widget to receive + + + + + + Sets @widget as one of the action widgets. Depending on the pack type +the widget will be placed before or after the tabs. You can use +a #GtkBox if you need to pack more than one widget on the same side. +Note that action widgets are "internal" children of the notebook and thus +not included in the list returned from gtk_container_foreach(). + + + + + + a #GtkWidget + + + + pack type of the action widget + + + + + + + + + Group for tabs drag and drop. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The ::create-window signal is emitted when a detachable +tab is dropped on the root window. +A handler for this signal can create a window containing +a notebook where the tab will be attached. It is also +responsible for moving/resizing the window and adding the +necessary properties to the notebook (e.g. the +#GtkNotebook:group-id ). +The default handler uses the global window creation hook, +if one has been set with gtk_notebook_set_window_creation_hook(). + + a #GtkNotebook that @page should be added to, or %NULL. + + + + + the tab of @notebook that is being detached + + + + the X coordinate where the drop happens + + + + the Y coordinate where the drop happens + + + + + + + + + + + + + + + + + + + + + + + + + + the ::page-added signal is emitted in the notebook +right after a page is added to the notebook. + + + + + + the child #GtkWidget affected + + + + the new page number for @child + + + + + + the ::page-removed signal is emitted in the notebook +right after a page is removed from the notebook. + + + + + + the child #GtkWidget affected + + + + the @child page number + + + + + + the ::page-reordered signal is emitted in the notebook +right after a page has been reordered. + + + + + + the child #GtkWidget affected + + + + the new page number for @child + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Creates a toplevel container widget that is used to retrieve +snapshots of widgets without showing them on the screen. For +widgets that are on the screen and part of a normal widget +hierarchy, gtk_widget_get_snapshot() can be used instead. + + A pointer to a #GtkWidget + + + + + Retrieves a snapshot of the contained widget in the form of +a #GdkPixmap. If you need to keep this around over window +resizes then you should add a reference to it. + + A #GdkPixmap pointer to the offscreen pixmap, or %NULL. + + + + + Retrieves a snapshot of the contained widget in the form of +a #GdkPixbuf. This is a new pixbuf with a reference count of 1, +and the application should unreference it once it is no longer +needed. + + A #GdkPixbuf pointer, or %NULL. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Claims or gives up ownership of the selection. + + + + + + if %TRUE, claim ownership of the selection, if %FALSE, give up ownership + + + + timestamp for this operation + + + + + + Emits the ::changed signal on @old_editable. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Retrieves the index of the currently selected menu item. The menu +items are numbered from top to bottom, starting with 0. + + index of the selected menu item, or -1 if there are no menu items + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Sets the orientation of the @orientable. + + + + + + the orientable's new orientation. + + + + + + Retrieves the orientation of the @orientable. + + the orientation of the @orientable. + + + + + The orientation of the orientable. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Creates a new #GtkPageSetup. + + a new #GtkPageSetup. + + + + + Reads the page setup from the file @file_name. Returns a +new #GtkPageSetup object with the restored page setup, +or %NULL if an error occurred. See gtk_page_setup_to_file(). + + the restored #GtkPageSetup + + + + + the filename to read the page setup from + + + + + + Reads the page setup from the group @group_name in the key file +page setup, or %NULL if an error occurred. + + the restored #GtkPageSetup + + + + + the #GKeyFile to retrieve the page_setup from + + + + the name of the group in the key_file to read, or %NULL to use the default name "Page Setup" + + + + + + Copies a #GtkPageSetup. + + a copy of @other + + + + + Gets the page orientation of the #GtkPageSetup. + + the page orientation + + + + + Sets the page orientation of the #GtkPageSetup. + + + + + + a #GtkPageOrientation value + + + + + + Gets the paper size of the #GtkPageSetup. + + the paper size + + + + + Sets the paper size of the #GtkPageSetup without +changing the margins. See +gtk_page_setup_set_paper_size_and_default_margins(). + + + + + + a #GtkPaperSize + + + + + + Gets the top margin in units of @unit. + + the top margin + + + + + the unit for the return value + + + + + + Sets the top margin of the #GtkPageSetup. + + + + + + the new top margin in units of @unit + + + + the units for @margin + + + + + + Gets the bottom margin in units of @unit. + + the bottom margin + + + + + the unit for the return value + + + + + + Sets the bottom margin of the #GtkPageSetup. + + + + + + the new bottom margin in units of @unit + + + + the units for @margin + + + + + + Gets the left margin in units of @unit. + + the left margin + + + + + the unit for the return value + + + + + + Sets the left margin of the #GtkPageSetup. + + + + + + the new left margin in units of @unit + + + + the units for @margin + + + + + + Gets the right margin in units of @unit. + + the right margin + + + + + the unit for the return value + + + + + + Sets the right margin of the #GtkPageSetup. + + + + + + the new right margin in units of @unit + + + + the units for @margin + + + + + + Sets the paper size of the #GtkPageSetup and modifies +the margins according to the new paper size. + + + + + + a #GtkPaperSize + + + + + + Returns the paper width in units of @unit. +Note that this function takes orientation, but +not margins into consideration. +See gtk_page_setup_get_page_width(). + + the paper width. + + + + + the unit for the return value + + + + + + Returns the paper height in units of @unit. +Note that this function takes orientation, but +not margins into consideration. +See gtk_page_setup_get_page_height(). + + the paper height. + + + + + the unit for the return value + + + + + + Returns the page width in units of @unit. +Note that this function takes orientation and +margins into consideration. +See gtk_page_setup_get_paper_width(). + + the page width. + + + + + the unit for the return value + + + + + + Returns the page height in units of @unit. +Note that this function takes orientation and +margins into consideration. +See gtk_page_setup_get_paper_height(). + + the page height. + + + + + the unit for the return value + + + + + + Reads the page setup from the file @file_name. +See gtk_page_setup_to_file(). + + %TRUE on success + + + + + the filename to read the page setup from + + + + + + This function saves the information from @setup to @file_name. + + %TRUE on success + + + + + the file to save to + + + + + + Reads the page setup from the group @group_name in the key file + + %TRUE on success + + + + + the #GKeyFile to retrieve the page_setup from + + + + the name of the group in the key_file to read, or %NULL to use the default name "Page Setup" + + + + + + This function adds the page setup from @setup to @key_file. + + + + + + the #GKeyFile to save the page setup to + + + + the group to add the settings to in @key_file, or %NULL to use the default name "Page Setup" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Obtains the position of the divider between the two panes. + + position of the divider + + + + + Sets the position of the divider between the two panes. + + + + + + pixel position of divider, a negative value means that the position is unset. + + + + + + Obtains the first child of the paned widget. + + first child, or %NULL if it is not set. + + + + + Obtains the second child of the paned widget. + + second child, or %NULL if it is not set. + + + + + Returns the #GdkWindow of the handle. This function is +useful when handling button or motion events because it +enables the callback to distinguish between the window +of the paned, a child and the handle. + + the paned's handle window. + + + + + + + + + + + + + + + + + + + + + The largest possible value for the position property. This property is derived from the +size and shrinkability of the widget's children. + + + + The smallest possible value for the position property. This property is derived from the +size and shrinkability of the widget's children. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The ::accept-position signal is a +<link linkend="keybinding-signals">keybinding signal</link> +which gets emitted to accept the current position of the handle when +moving it using key bindings. +The default binding for this signal is Return or Space. + + + + + + The ::cancel-position signal is a +<link linkend="keybinding-signals">keybinding signal</link> +which gets emitted to cancel moving the position of the handle using key +bindings. The position of the handle will be reset to the value prior to +moving it. +The default binding for this signal is Escape. + + + + + + The ::cycle-child-focus signal is a +<link linkend="keybinding-signals">keybinding signal</link> +which gets emitted to cycle the focus between the children of the paned. +The default binding is f6. + + + + + + whether cycling backward or forward + + + + + + The ::cycle-handle-focus signal is a +<link linkend="keybinding-signals">keybinding signal</link> +which gets emitted to cycle whether the paned should grab focus to allow +the user to change position of the handle by using key bindings. +The default binding for this signal is f8. + + + + + + whether cycling backward or forward + + + + + + The ::move-handle signal is a +<link linkend="keybinding-signals">keybinding signal</link> +which gets emitted to move the handle when the user is using key bindings +to move it. + + + + + + a #GtkScrollType + + + + + + The ::toggle-handle-focus is a +<link linkend="keybinding-signals">keybinding signal</link> +which gets emitted to accept the current position of the handle and then +move focus to the next widget in the focus chain. +The default binding is Tab. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Creates a new #GtkPaperSize object by parsing a +<ulink url="ftp://ftp.pwg.org/pub/pwg/candidates/cs-pwgmsn10-20020226-5101.1.pdf">PWG 5101.1-2002</ulink> +paper name. +If @name is %NULL, the default paper size is returned, +see gtk_paper_size_get_default(). +to free it + + a new #GtkPaperSize, use gtk_paper_size_free() + + + + + a paper size name, or %NULL + + + + + + Creates a new #GtkPaperSize object by using +PPD information. +If @ppd_name is not a recognized PPD paper name, +construct a custom #GtkPaperSize object. +to free it + + a new #GtkPaperSize, use gtk_paper_size_free() + + + + + a PPD paper name + + + + the corresponding human-readable name + + + + the paper width, in points + + + + the paper height in points + + + + + + Creates a new #GtkPaperSize object with the +given parameters. +to free it + + a new #GtkPaperSize object, use gtk_paper_size_free() + + + + + the paper name + + + + the human-readable name + + + + the paper width, in units of @unit + + + + the paper height, in units of @unit + + + + the unit for @width and @height + + + + + + Reads a paper size from the group @group_name in the key file +paper size, or %NULL if an error occurred. + + a new #GtkPaperSize object with the restored + + + + + the #GKeyFile to retrieve the papersize from + + + + the name ofthe group in the key file to read, or %NULL to read the first group + + + + + + Copies an existing #GtkPaperSize. + + a copy of @other + + + + + Free the given #GtkPaperSize object. + + + + + + Compares two #GtkPaperSize objects. +represent the same paper size + + %TRUE, if @size1 and @size2 + + + + + another #GtkPaperSize object + + + + + + Gets the name of the #GtkPaperSize. + + the name of @size + + + + + Gets the human-readable name of the #GtkPaperSize. + + the human-readable name of @size + + + + + Gets the PPD name of the #GtkPaperSize, which +may be %NULL. + + the PPD name of @size + + + + + Gets the paper width of the #GtkPaperSize, in +units of @unit. + + the paper width + + + + + the unit for the return value + + + + + + Gets the paper height of the #GtkPaperSize, in +units of @unit. + + the paper height + + + + + the unit for the return value + + + + + + Returns %TRUE if @size is not a standard paper size. + + whether @size is a custom paper size. + + + + + Changes the dimensions of a @size to @width x @height. + + + + + + the new width in units of @unit + + + + the new height in units of @unit + + + + the unit for @width and @height + + + + + + Gets the default top margin for the #GtkPaperSize. + + the default top margin + + + + + the unit for the return value + + + + + + Gets the default bottom margin for the #GtkPaperSize. + + the default bottom margin + + + + + the unit for the return value + + + + + + Gets the default left margin for the #GtkPaperSize. + + the default left margin + + + + + the unit for the return value + + + + + + Gets the default right margin for the #GtkPaperSize. + + the default right margin + + + + + the unit for the return value + + + + + + This function adds the paper size from @size to @key_file. + + + + + + the #GKeyFile to save the paper size to + + + + the group to add the settings to in @key_file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Creates a new plug widget inside the #GtkSocket identified +by @socket_id. If @socket_id is 0, the plug is left "unplugged" and +can later be plugged into a #GtkSocket by gtk_socket_add_id(). + + the new #GtkPlug widget. + + + + + the window ID of the socket, or 0. + + + + + + Create a new plug widget inside the #GtkSocket identified by socket_id. + + the new #GtkPlug widget. + + + + + + + + the XID of the socket's window. + + + + + + Finish the initialization of @plug for a given #GtkSocket identified by + + + + + + the XID of the socket's window. + + + + + + Finish the initialization of @plug for a given #GtkSocket identified by +This function will generally only be used by classes deriving from #GtkPlug. + + + + + + the #GdkDisplay associated with @socket_id's #GtkSocket. + + + + the XID of the socket's window. + + + + + + Gets the window ID of a #GtkPlug widget, which can then +be used to embed this window inside another window, for +instance with gtk_socket_add_id(). + + the window ID for the plug + + + + + Determines whether the plug is embedded in a socket. + + %TRUE if the plug is embedded in a socket + + + + + Retrieves the socket the plug is embedded in. + + the window of the socket, or %NULL + + + + + %TRUE if the plug is embedded in a socket. + + + + The window of the socket the plug is embedded in. + + + + + + + + + + + + + + + + + + + + + + Gets emitted when the plug becomes embedded in a socket. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Obtains the cairo context that is associated with the +#GtkPrintContext. + + the cairo context of @context + + + + + Obtains the #GtkPageSetup that determines the page +dimensions of the #GtkPrintContext. + + the page setup of @context + + + + + Obtains the width of the #GtkPrintContext, in pixels. + + the width of @context + + + + + Obtains the height of the #GtkPrintContext, in pixels. + + the height of @context + + + + + Obtains the horizontal resolution of the #GtkPrintContext, +in dots per inch. + + the horizontal resolution of @context + + + + + Obtains the vertical resolution of the #GtkPrintContext, +in dots per inch. + + the vertical resolution of @context + + + + + Obtains the hardware printer margins of the #GtkPrintContext, in units. + + %TRUE if the hard margins were retrieved + + + + + top hardware printer margin + + + + bottom hardware printer margin + + + + left hardware printer margin + + + + right hardware printer margin + + + + + + Returns a #PangoFontMap that is suitable for use +with the #GtkPrintContext. + + the font map of @context + + + + + Creates a new #PangoContext that can be used with the +#GtkPrintContext. + + a new Pango context for @context + + + + + Creates a new #PangoLayout that is suitable for use +with the #GtkPrintContext. + + a new Pango layout for @context + + + + + Sets a new cairo context on a print context. +This function is intended to be used when implementing +an internal print preview, it is not needed for printing, +since GTK+ itself creates a suitable cairo context in that +case. + + + + + + the cairo context + + + + the horizontal resolution to use with @cr + + + + the vertical resolution to use with @cr + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Creates a new #GtkPrintOperation. + + a new #GtkPrintOperation + + + + + Makes @default_page_setup the default page setup for @op. +This page setup will be used by gtk_print_operation_run(), +but it can be overridden on a per-page basis by connecting +to the #GtkPrintOperation::request-page-setup signal. + + + + + + a #GtkPageSetup, or %NULL + + + + + + Returns the default page setup, see +gtk_print_operation_set_default_page_setup(). + + the default page setup + + + + + Sets the print settings for @op. This is typically used to +re-establish print settings from a previous print operation, +see gtk_print_operation_run(). + + + + + + #GtkPrintSettings + + + + + + Returns the current print settings. +Note that the return value is %NULL until either +gtk_print_operation_set_print_settings() or +gtk_print_operation_run() have been called. + + the current print settings of @op. + + + + + Sets the name of the print job. The name is used to identify +the job (e.g. in monitoring applications like eggcups). +If you don't set a job name, GTK+ picks a default one by +numbering successive print jobs. + + + + + + a string that identifies the print job + + + + + + Sets the number of pages in the document. +This <emphasis>must</emphasis> be set to a positive number +before the rendering starts. It may be set in a +#GtkPrintOperation::begin-print signal hander. +Note that the page numbers passed to the +#GtkPrintOperation::request-page-setup +and #GtkPrintOperation::draw-page signals are 0-based, i.e. if +the user chooses to print all pages, the last ::draw-page signal +will be for page @n_pages - 1. + + + + + + the number of pages + + + + + + Sets the current page. +If this is called before gtk_print_operation_run(), +the user will be able to select to print only the current page. +Note that this only makes sense for pre-paginated documents. + + + + + + the current page, 0-based + + + + + + If @full_page is %TRUE, the transformation for the cairo context +obtained from #GtkPrintContext puts the origin at the top left +corner of the page (which may not be the top left corner of the +sheet, depending on page orientation and the number of pages per +sheet). Otherwise, the origin is at the top left corner of the +imageable area (i.e. inside the margins). + + + + + + %TRUE to set up the #GtkPrintContext for the full page + + + + + + Sets up the transformation for the cairo context obtained from +#GtkPrintContext in such a way that distances are measured in +units of @unit. + + + + + + the unit to use + + + + + + Sets up the #GtkPrintOperation to generate a file instead +of showing the print dialog. The indended use of this function +is for implementing "Export to PDF" actions. Currently, PDF +is the only supported format. +"Print to PDF" support is independent of this and is done +by letting the user pick the "Print to PDF" item from the list +of printers in the print dialog. + + + + + + the filename for the exported file + + + + + + If track_status is %TRUE, the print operation will try to continue report +on the status of the print job in the printer queues and printer. This +can allow your application to show things like "out of paper" issues, +and when the print job actually reaches the printer. +This function is often implemented using some form of polling, so it should +not be enabled unless needed. + + + + + + %TRUE to track status after printing + + + + + + If @show_progress is %TRUE, the print operation will show a +progress dialog during the print operation. + + + + + + %TRUE to show a progress dialog + + + + + + Sets whether the gtk_print_operation_run() may return +before the print operation is completed. Note that +some platforms may not allow asynchronous operation. + + + + + + %TRUE to allow asynchronous operation + + + + + + Sets the label for the tab holding custom widgets. + + + + + + the label to use, or %NULL to use the default label + + + + + + Runs the print operation, by first letting the user modify +print settings in the print dialog, and then print the document. +Normally that this function does not return until the rendering of all +pages is complete. You can connect to the +#GtkPrintOperation::status-changed signal on @op to obtain some +information about the progress of the print operation. +Furthermore, it may use a recursive mainloop to show the print dialog. +If you call gtk_print_operation_set_allow_async() or set the +#GtkPrintOperation:allow-async property the operation will run +asynchronously if this is supported on the platform. The +#GtkPrintOperation::done signal will be emitted with the result of the +operation when the it is done (i.e. when the dialog is canceled, or when +the print succeeds or fails). +|[ +if (settings != NULL) +gtk_print_operation_set_print_settings (print, settings); +if (page_setup != NULL) +gtk_print_operation_set_default_page_setup (print, page_setup); +g_signal_connect (print, "begin-print", +G_CALLBACK (begin_print), &data); +g_signal_connect (print, "draw-page", +G_CALLBACK (draw_page), &data); +res = gtk_print_operation_run (print, +GTK_PRINT_OPERATION_ACTION_PRINT_DIALOG, +parent, +&error); +if (res == GTK_PRINT_OPERATION_RESULT_ERROR) +{ +error_dialog = gtk_message_dialog_new (GTK_WINDOW (parent), +GTK_DIALOG_DESTROY_WITH_PARENT, +GTK_MESSAGE_ERROR, +GTK_BUTTONS_CLOSE, +"Error printing file:\n%s", +error->message); +g_signal_connect (error_dialog, "response", +G_CALLBACK (gtk_widget_destroy), NULL); +gtk_widget_show (error_dialog); +g_error_free (error); +} +else if (res == GTK_PRINT_OPERATION_RESULT_APPLY) +{ +if (settings != NULL) +g_object_unref (settings); +settings = g_object_ref (gtk_print_operation_get_print_settings (print)); +} +]| +Note that gtk_print_operation_run() can only be called once on a +given #GtkPrintOperation. +%GTK_PRINT_OPERATION_RESULT_APPLY indicates that the printing was +completed successfully. In this case, it is a good idea to obtain +the used print settings with gtk_print_operation_get_print_settings() +and store them for reuse with the next print operation. A value of +%GTK_PRINT_OPERATION_RESULT_IN_PROGRESS means the operation is running +asynchronously, and will emit the #GtkPrintOperation::done signal when +done. + + the result of the print operation. A return value of + + + + + the action to start + + + + Transient parent of the dialog + + + + + + Returns the status of the print operation. +Also see gtk_print_operation_get_status_string(). + + the status of the print operation + + + + + Returns a string representation of the status of the +print operation. The string is translated and suitable +for displaying the print status e.g. in a #GtkStatusbar. +Use gtk_print_operation_get_status() to obtain a status +value that is suitable for programmatic use. +of the print operation + + a string representation of the status + + + + + A convenience function to find out if the print operation +is finished, either successfully (%GTK_PRINT_STATUS_FINISHED) +or unsuccessfully (%GTK_PRINT_STATUS_FINISHED_ABORTED). +can be in a non-finished state even after done has been called, as +the operation status then tracks the print job status on the printer. + + %TRUE, if the print operation is finished. + + + + + Cancels a running print operation. This function may +be called from a #GtkPrintOperation::begin-print, +#GtkPrintOperation::paginate or #GtkPrintOperation::draw-page +signal handler to stop the currently running print +operation. + + + + + + Signalize that drawing of particular page is complete. +It is called after completion of page drawing (e.g. drawing in another +thread). +If gtk_print_operation_set_defer_drawing() was called before, then this function +has to be called by application. In another case it is called by the library +itself. + + + + + + Sets up the #GtkPrintOperation to wait for calling of +gtk_print_operation_draw_page_finish() from application. It can +be used for drawing page in another thread. +This function must be called in the callback of "draw-page" signal. + + + + + + Sets whether selection is supported by #GtkPrintOperation. + + + + + + %TRUE to support selection + + + + + + Gets the value of #GtkPrintOperation::support-selection property. + + whether the application supports print of selection + + + + + Sets whether there is a selection to print. +Application has to set number of pages to which the selection +will draw by gtk_print_operation_set_n_pages() in a callback of +#GtkPrintOperation::begin-print. + + + + + + %TRUE indicates that a selection exists + + + + + + Gets the value of #GtkPrintOperation::has-selection property. + + whether there is a selection + + + + + Embed page size combo box and orientation combo box into page setup page. +Selected page setup is stored as default page setup in #GtkPrintOperation. + + + + + + %TRUE to embed page setup selection in the #GtkPrintDialog + + + + + + Gets the value of #GtkPrintOperation::embed-page-setup property. + + whether page setup selection combos are embedded + + + + + Returns the number of pages that will be printed. +Note that this value is set during print preparation phase +(%GTK_PRINT_STATUS_PREPARING), so this function should never be +called before the data generation phase (%GTK_PRINT_STATUS_GENERATING_DATA). +You can connect to the #GtkPrintOperation::status-changed signal +and call gtk_print_operation_get_n_pages_to_print() when +print status is %GTK_PRINT_STATUS_GENERATING_DATA. +This is typically used to track the progress of print operation. + + the number of pages that will be printed + + + + + Determines whether the print operation may run asynchronously or not. +Some systems don't support asynchronous printing, but those that do +will return %GTK_PRINT_OPERATION_RESULT_IN_PROGRESS as the status, and +emit the #GtkPrintOperation::done signal when the operation is actually +done. +The Windows port does not support asynchronous operation at all (this +is unlikely to change). On other platforms, all actions except for +%GTK_PRINT_OPERATION_ACTION_EXPORT support asynchronous operation. + + + + The current page in the document. +If this is set before gtk_print_operation_run(), +the user will be able to select to print only the current page. +Note that this only makes sense for pre-paginated documents. + + + + Used as the label of the tab containing custom widgets. +Note that this property may be ignored on some platforms. +If this is %NULL, GTK+ uses a default label. + + + + The #GtkPageSetup used by default. +This page setup will be used by gtk_print_operation_run(), +but it can be overridden on a per-page basis by connecting +to the #GtkPrintOperation::request-page-setup signal. + + + + If %TRUE, page size combo box and orientation combo box are embedded into page setup page. + + + + The name of a file to generate instead of showing the print dialog. +Currently, PDF is the only supported format. +The intended use of this property is for implementing +"Export to PDF" actions. +"Print to PDF" support is independent of this and is done +by letting the user pick the "Print to PDF" item from the +list of printers in the print dialog. + + + + Determines whether there is a selection in your application. +This can allow your application to print the selection. +This is typically used to make a "Selection" button sensitive. + + + + A string used to identify the job (e.g. in monitoring +applications like eggcups). +If you don't set a job name, GTK+ picks a default one +by numbering successive print jobs. + + + + The number of pages in the document. +This <emphasis>must</emphasis> be set to a positive number +before the rendering starts. It may be set in a +#GtkPrintOperation::begin-print signal hander. +Note that the page numbers passed to the +#GtkPrintOperation::request-page-setup and +#GtkPrintOperation::draw-page signals are 0-based, i.e. if +the user chooses to print all pages, the last ::draw-page signal +will be for page @n_pages - 1. + + + + The number of pages that will be printed. +Note that this value is set during print preparation phase +(%GTK_PRINT_STATUS_PREPARING), so this value should never be +get before the data generation phase (%GTK_PRINT_STATUS_GENERATING_DATA). +You can connect to the #GtkPrintOperation::status-changed signal +and call gtk_print_operation_get_n_pages_to_print() when +print status is %GTK_PRINT_STATUS_GENERATING_DATA. +This is typically used to track the progress of print operation. + + + + The #GtkPrintSettings used for initializing the dialog. +Setting this property is typically used to re-establish +print settings from a previous print operation, see +gtk_print_operation_run(). + + + + Determines whether to show a progress dialog during the +print operation. + + + + The status of the print operation. + + + + A string representation of the status of the print operation. +The string is translated and suitable for displaying the print +status e.g. in a #GtkStatusbar. +See the #GtkPrintOperation:status property for a status value that +is suitable for programmatic use. + + + + If %TRUE, the print operation will support print of selection. +This allows the print dialog to show a "Selection" button. + + + + If %TRUE, the print operation will try to continue report on +the status of the print job in the printer queues and printer. +This can allow your application to show things like "out of paper" +issues, and when the print job actually reaches the printer. +However, this is often implemented using polling, and should +not be enabled unless needed. + + + + The transformation for the cairo context obtained from +#GtkPrintContext is set up in such a way that distances +are measured in units of @unit. + + + + If %TRUE, the transformation for the cairo context obtained +from #GtkPrintContext puts the origin at the top left corner +of the page (which may not be the top left corner of the sheet, +depending on page orientation and the number of pages per sheet). +Otherwise, the origin is at the top left corner of the imageable +area (i.e. inside the margins). + + + + + + + + + + Emitted after the user has finished changing print settings +in the dialog, before the actual rendering starts. +A typical use for ::begin-print is to use the parameters from the +#GtkPrintContext and paginate the document accordingly, and then +set the number of pages with gtk_print_operation_set_n_pages(). + + + + + + the #GtkPrintContext for the current operation + + + + + + Emitted when displaying the print dialog. If you return a +widget in a handler for this signal it will be added to a custom +tab in the print dialog. You typically return a container widget +with multiple widgets in it. +The print dialog owns the returned widget, and its lifetime is not +controlled by the application. However, the widget is guaranteed +to stay around until the #GtkPrintOperation::custom-widget-apply +signal is emitted on the operation. Then you can read out any +information you need from the widgets. +or %NULL + + A custom widget that gets embedded in the print dialog, + + + + + Emitted right before #GtkPrintOperation::begin-print if you added +a custom widget in the #GtkPrintOperation::create-custom-widget handler. +When you get this signal you should read the information from the +custom widgets, as the widgets are not guaraneed to be around at a +later time. + + + + + + the custom widget added in create-custom-widget + + + + + + Emitted when the print operation run has finished doing +everything required for printing. +If @result is %GTK_PRINT_OPERATION_RESULT_ERROR then you can call +gtk_print_operation_get_error() for more information. +If you enabled print status tracking then +gtk_print_operation_is_finished() may still return %FALSE +after #GtkPrintOperation::done was emitted. + + + + + + the result of the print operation + + + + + + Emitted for every page that is printed. The signal handler +must render the @page_nr's page onto the cairo context obtained +from @context using gtk_print_context_get_cairo_context(). +|[ +static void +draw_page (GtkPrintOperation *operation, +GtkPrintContext *context, +gint page_nr, +gpointer user_data) +{ +cairo_t *cr; +PangoLayout *layout; +gdouble width, text_height; +gint layout_height; +PangoFontDescription *desc; +cr = gtk_print_context_get_cairo_context (context); +width = gtk_print_context_get_width (context); +cairo_rectangle (cr, 0, 0, width, HEADER_HEIGHT); +cairo_set_source_rgb (cr, 0.8, 0.8, 0.8); +cairo_fill (cr); +layout = gtk_print_context_create_pango_layout (context); +desc = pango_font_description_from_string ("sans 14"); +pango_layout_set_font_description (layout, desc); +pango_font_description_free (desc); +pango_layout_set_text (layout, "some text", -1); +pango_layout_set_width (layout, width * PANGO_SCALE); +pango_layout_set_alignment (layout, PANGO_ALIGN_CENTER); +pango_layout_get_size (layout, NULL, &layout_height); +text_height = (gdouble)layout_height / PANGO_SCALE; +cairo_move_to (cr, width / 2, (HEADER_HEIGHT - text_height) / 2); +pango_cairo_show_layout (cr, layout); +g_object_unref (layout); +} +]| +Use gtk_print_operation_set_use_full_page() and +gtk_print_operation_set_unit() before starting the print operation +to set up the transformation of the cairo context according to your +needs. + + + + + + the #GtkPrintContext for the current operation + + + + the number of the currently printed page (0-based) + + + + + + Emitted after all pages have been rendered. +A handler for this signal can clean up any resources that have +been allocated in the #GtkPrintOperation::begin-print handler. + + + + + + the #GtkPrintContext for the current operation + + + + + + Emitted after the #GtkPrintOperation::begin-print signal, but before +the actual rendering starts. It keeps getting emitted until a connected +signal handler returns %TRUE. +The ::paginate signal is intended to be used for paginating a document +in small chunks, to avoid blocking the user interface for a long +time. The signal handler should update the number of pages using +gtk_print_operation_set_n_pages(), and return %TRUE if the document +has been completely paginated. +If you don't need to do pagination in chunks, you can simply do +it all in the ::begin-print handler, and set the number of pages +from there. + + %TRUE if pagination is complete + + + + + the #GtkPrintContext for the current operation + + + + + + Gets emitted when a preview is requested from the native dialog. +The default handler for this signal uses an external viewer +application to preview. +To implement a custom print preview, an application must return +%TRUE from its handler for this signal. In order to use the +provided @context for the preview implementation, it must be +given a suitable cairo context with gtk_print_context_set_cairo_context(). +The custom preview implementation can use +gtk_print_operation_preview_is_selected() and +gtk_print_operation_preview_render_page() to find pages which +are selected for print and render them. The preview must be +finished by calling gtk_print_operation_preview_end_preview() +(typically in response to the user clicking a close button). + + %TRUE if the listener wants to take over control of the preview + + + + + the #GtkPrintPreviewOperation for the current operation + + + + the #GtkPrintContext that will be used + + + + the #GtkWindow to use as window parent, or %NULL + + + + + + Emitted once for every page that is printed, to give +the application a chance to modify the page setup. Any changes +done to @setup will be in force only for printing this page. + + + + + + the #GtkPrintContext for the current operation + + + + the number of the currently printed page (0-based) + + + + the #GtkPageSetup + + + + + + Emitted at between the various phases of the print operation. +See #GtkPrintStatus for the phases that are being discriminated. +Use gtk_print_operation_get_status() to find out the current +status. + + + + + + Emitted after change of selected printer. The actual page setup and +print settings are passed to the custom widget, which can actualize +itself according to this change. + + + + + + the custom widget added in create-custom-widget + + + + actual page setup + + + + actual print settings + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Renders a page to the preview, using the print context that +was passed to the #GtkPrintOperation::preview handler together +with @preview. +A custom iprint preview should use this function in its ::expose +handler to render the currently selected page. +Note that this function requires a suitable cairo context to +be associated with the print context. + + + + + + the page to render + + + + + + Returns whether the given page is included in the set of pages that +have been selected for printing. + + %TRUE if the page has been selected for printing + + + + + a page number + + + + + + Ends a preview. +This function must be called to finish a custom print preview. + + + + + + Renders a page to the preview, using the print context that +was passed to the #GtkPrintOperation::preview handler together +with @preview. +A custom iprint preview should use this function in its ::expose +handler to render the currently selected page. +Note that this function requires a suitable cairo context to +be associated with the print context. + + + + + + the page to render + + + + + + Ends a preview. +This function must be called to finish a custom print preview. + + + + + + Returns whether the given page is included in the set of pages that +have been selected for printing. + + %TRUE if the page has been selected for printing + + + + + a page number + + + + + + The ::got-page-size signal is emitted once for each page +that gets rendered to the preview. +A handler for this signal should update the @context +according to @page_setup and set up a suitable cairo +context, using gtk_print_context_set_cairo_context(). + + + + + + the current #GtkPrintContext + + + + the #GtkPageSetup for the current page + + + + + + The ::ready signal gets emitted once per preview operation, +before the first page is rendered. +A handler for this signal can be used for setup tasks. + + + + + + the current #GtkPrintContext + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + the page to render + + + + + + + + + %TRUE if the page has been selected for printing + + + + + + + + a page number + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Creates a new #GtkPrintSettings object. + + a new #GtkPrintSettings object + + + + + Reads the print settings from @file_name. Returns a new #GtkPrintSettings +object with the restored settings, or %NULL if an error occurred. If the +file could not be loaded then error is set to either a #GFileError or +#GKeyFileError. See gtk_print_settings_to_file(). + + the restored #GtkPrintSettings + + + + + the filename to read the settings from + + + + + + Reads the print settings from the group @group_name in @key_file. Returns a +new #GtkPrintSettings object with the restored settings, or %NULL if an +error occurred. If the file could not be loaded then error is set to either +a #GFileError or #GKeyFileError. + + the restored #GtkPrintSettings + + + + + the #GKeyFile to retrieve the settings from + + + + the name of the group to use, or %NULL to use the default "Print Settings" + + + + + + Copies a #GtkPrintSettings object. + + a newly allocated copy of @other + + + + + Reads the print settings from @file_name. If the file could not be loaded +then error is set to either a #GFileError or #GKeyFileError. +See gtk_print_settings_to_file(). + + %TRUE on success + + + + + the filename to read the settings from + + + + + + This function saves the print settings from @settings to @file_name. If the +file could not be loaded then error is set to either a #GFileError or +#GKeyFileError. + + %TRUE on success + + + + + the file to save to + + + + + + Reads the print settings from the group @group_name in @key_file. If the +file could not be loaded then error is set to either a #GFileError or +#GKeyFileError. + + %TRUE on success + + + + + the #GKeyFile to retrieve the settings from + + + + the name of the group to use, or %NULL to use the default "Print Settings" + + + + + + This function adds the print settings from @settings to @key_file. + + + + + + the #GKeyFile to save the print settings to + + + + the group to add the settings to in @key_file, or %NULL to use the default "Print Settings" + + + + + + Returns %TRUE, if a value is associated with @key. + + %TRUE, if @key has a value + + + + + a key + + + + + + Looks up the string value associated with @key. + + the string value for @key + + + + + a key + + + + + + Associates @value with @key. + + + + + + a key + + + + a string value, or %NULL + + + + + + Removes any value associated with @key. +This has the same effect as setting the value to %NULL. + + + + + + a key + + + + + + Calls @func for each key-value pair of @settings. + + + + + + (scope call) the function to call + + + + user data for @func + + + + + + Returns the boolean represented by the value +that is associated with @key. +The string "true" represents %TRUE, any other +string %FALSE. + + %TRUE, if @key maps to a true value. + + + + + a key + + + + + + Sets @key to a boolean value. + + + + + + a key + + + + a boolean + + + + + + Returns the double value associated with @key, or 0. + + the double value of @key + + + + + a key + + + + + + Returns the floating point number represented by +the value that is associated with @key, or @default_val +if the value does not represent a floating point number. +Floating point numbers are parsed with g_ascii_strtod(). + + the floating point number associated with @key + + + + + a key + + + + the default value + + + + + + Sets @key to a double value. + + + + + + a key + + + + a double value + + + + + + Returns the value associated with @key, interpreted +as a length. The returned value is converted to @units. + + the length value of @key, converted to @unit + + + + + a key + + + + the unit of the return value + + + + + + Associates a length in units of @unit with @key. + + + + + + a key + + + + a length + + + + the unit of @length + + + + + + Returns the integer value of @key, or 0. + + the integer value of @key + + + + + a key + + + + + + Returns the value of @key, interpreted as +an integer, or the default value. + + the integer value of @key + + + + + a key + + + + the default value + + + + + + Sets @key to an integer value. + + + + + + a key + + + + an integer + + + + + + Convenience function to obtain the value of +%GTK_PRINT_SETTINGS_PRINTER. + + the printer name + + + + + Convenience function to set %GTK_PRINT_SETTINGS_PRINTER +to @printer. + + + + + + the printer name + + + + + + Get the value of %GTK_PRINT_SETTINGS_ORIENTATION, +converted to a #GtkPageOrientation. + + the orientation + + + + + Sets the value of %GTK_PRINT_SETTINGS_ORIENTATION. + + + + + + a page orientation + + + + + + Gets the value of %GTK_PRINT_SETTINGS_PAPER_FORMAT, +converted to a #GtkPaperSize. + + the paper size + + + + + Sets the value of %GTK_PRINT_SETTINGS_PAPER_FORMAT, +%GTK_PRINT_SETTINGS_PAPER_WIDTH and +%GTK_PRINT_SETTINGS_PAPER_HEIGHT. + + + + + + a paper size + + + + + + Gets the value of %GTK_PRINT_SETTINGS_PAPER_WIDTH, +converted to @unit. + + the paper width, in units of @unit + + + + + the unit for the return value + + + + + + Sets the value of %GTK_PRINT_SETTINGS_PAPER_WIDTH. + + + + + + the paper width + + + + the units of @width + + + + + + Gets the value of %GTK_PRINT_SETTINGS_PAPER_HEIGHT, +converted to @unit. + + the paper height, in units of @unit + + + + + the unit for the return value + + + + + + Sets the value of %GTK_PRINT_SETTINGS_PAPER_HEIGHT. + + + + + + the paper height + + + + the units of @height + + + + + + Gets the value of %GTK_PRINT_SETTINGS_USE_COLOR. + + whether to use color + + + + + Sets the value of %GTK_PRINT_SETTINGS_USE_COLOR. + + + + + + whether to use color + + + + + + Gets the value of %GTK_PRINT_SETTINGS_COLLATE. + + whether to collate the printed pages + + + + + Sets the value of %GTK_PRINT_SETTINGS_COLLATE. + + + + + + whether to collate the output + + + + + + Gets the value of %GTK_PRINT_SETTINGS_REVERSE. + + whether to reverse the order of the printed pages + + + + + Sets the value of %GTK_PRINT_SETTINGS_REVERSE. + + + + + + whether to reverse the output + + + + + + Gets the value of %GTK_PRINT_SETTINGS_DUPLEX. + + whether to print the output in duplex. + + + + + Sets the value of %GTK_PRINT_SETTINGS_DUPLEX. + + + + + + a #GtkPrintDuplex value + + + + + + Gets the value of %GTK_PRINT_SETTINGS_QUALITY. + + the print quality + + + + + Sets the value of %GTK_PRINT_SETTINGS_QUALITY. + + + + + + a #GtkPrintQuality value + + + + + + Gets the value of %GTK_PRINT_SETTINGS_N_COPIES. + + the number of copies to print + + + + + Sets the value of %GTK_PRINT_SETTINGS_N_COPIES. + + + + + + the number of copies + + + + + + Gets the value of %GTK_PRINT_SETTINGS_NUMBER_UP. + + the number of pages per sheet + + + + + Sets the value of %GTK_PRINT_SETTINGS_NUMBER_UP. + + + + + + the number of pages per sheet + + + + + + Gets the value of %GTK_PRINT_SETTINGS_NUMBER_UP_LAYOUT. + + layout of page in number-up mode + + + + + Sets the value of %GTK_PRINT_SETTINGS_NUMBER_UP_LAYOUT. + + + + + + a #GtkNumberUpLayout value + + + + + + Gets the value of %GTK_PRINT_SETTINGS_RESOLUTION. + + the resolution in dpi + + + + + Sets the values of %GTK_PRINT_SETTINGS_RESOLUTION, +%GTK_PRINT_SETTINGS_RESOLUTION_X and +%GTK_PRINT_SETTINGS_RESOLUTION_Y. + + + + + + the resolution in dpi + + + + + + Gets the value of %GTK_PRINT_SETTINGS_RESOLUTION_X. + + the horizontal resolution in dpi + + + + + Gets the value of %GTK_PRINT_SETTINGS_RESOLUTION_Y. + + the vertical resolution in dpi + + + + + Sets the values of %GTK_PRINT_SETTINGS_RESOLUTION, +%GTK_PRINT_SETTINGS_RESOLUTION_X and +%GTK_PRINT_SETTINGS_RESOLUTION_Y. + + + + + + the horizontal resolution in dpi + + + + the vertical resolution in dpi + + + + + + Gets the value of %GTK_PRINT_SETTINGS_PRINTER_LPI. + + the resolution in lpi (lines per inch) + + + + + Sets the value of %GTK_PRINT_SETTINGS_PRINTER_LPI. + + + + + + the resolution in lpi (lines per inch) + + + + + + Gets the value of %GTK_PRINT_SETTINGS_SCALE. + + the scale in percent + + + + + Sets the value of %GTK_PRINT_SETTINGS_SCALE. + + + + + + the scale in percent + + + + + + Gets the value of %GTK_PRINT_SETTINGS_PRINT_PAGES. + + which pages to print + + + + + Sets the value of %GTK_PRINT_SETTINGS_PRINT_PAGES. + + + + + + a #GtkPrintPages value + + + + + + Gets the value of %GTK_PRINT_SETTINGS_PAGE_RANGES. +to free the array when it is no longer needed. + + an array of #GtkPageRange<!-- -->s. Use g_free() + + + + + return location for the length of the returned array + + + + + + Sets the value of %GTK_PRINT_SETTINGS_PAGE_RANGES. + + + + + + an array of #GtkPageRange<!-- -->s + + + + the length of @page_ranges + + + + + + Gets the value of %GTK_PRINT_SETTINGS_PAGE_SET. + + the set of pages to print + + + + + Sets the value of %GTK_PRINT_SETTINGS_PAGE_SET. + + + + + + a #GtkPageSet value + + + + + + Gets the value of %GTK_PRINT_SETTINGS_DEFAULT_SOURCE. + + the default source + + + + + Sets the value of %GTK_PRINT_SETTINGS_DEFAULT_SOURCE. + + + + + + the default source + + + + + + Gets the value of %GTK_PRINT_SETTINGS_MEDIA_TYPE. +The set of media types is defined in PWG 5101.1-2002 PWG. +<!-- FIXME link here --> + + the media type + + + + + Sets the value of %GTK_PRINT_SETTINGS_MEDIA_TYPE. +The set of media types is defined in PWG 5101.1-2002 PWG. +<!-- FIXME link here --> + + + + + + the media type + + + + + + Gets the value of %GTK_PRINT_SETTINGS_DITHER. + + the dithering that is used + + + + + Sets the value of %GTK_PRINT_SETTINGS_DITHER. + + + + + + the dithering that is used + + + + + + Gets the value of %GTK_PRINT_SETTINGS_FINISHINGS. + + the finishings + + + + + Sets the value of %GTK_PRINT_SETTINGS_FINISHINGS. + + + + + + the finishings + + + + + + Gets the value of %GTK_PRINT_SETTINGS_OUTPUT_BIN. + + the output bin + + + + + Sets the value of %GTK_PRINT_SETTINGS_OUTPUT_BIN. + + + + + + the output bin + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Creates a new #GtkProgressBar with an associated #GtkAdjustment. + + a #GtkProgressBar. + + + + + + + + + + Indicates that some progress is made, but you don't know how much. +Causes the progress bar to enter "activity mode," where a block +bounces back and forth. Each call to gtk_progress_bar_pulse() +causes the block to move by a little bit (the amount of movement +per pulse is determined by gtk_progress_bar_set_pulse_step()). + + + + + + Causes the given @text to appear superimposed on the progress bar. + + + + + + a UTF-8 string, or %NULL + + + + + + Causes the progress bar to "fill in" the given fraction +of the bar. The fraction should be between 0.0 and 1.0, +inclusive. + + + + + + fraction of the task that's been completed + + + + + + Sets the fraction of total progress bar length to move the +bouncing block for each call to gtk_progress_bar_pulse(). + + + + + + fraction between 0.0 and 1.0 + + + + + + Causes the progress bar to switch to a different orientation +(left-to-right, right-to-left, top-to-bottom, or bottom-to-top). + + + + + + orientation of the progress bar + + + + + + Retrieves the text displayed superimposed on the progress bar, +if any, otherwise %NULL. The return value is a reference +to the text, not a copy of it, so will become invalid +if you change the text in the progress bar. +and should not be modified or freed. + + text, or %NULL; this string is owned by the widget + + + + + Returns the current fraction of the task that's been completed. + + a fraction from 0.0 to 1.0 + + + + + Retrieves the pulse step set with gtk_progress_bar_set_pulse_step() + + a fraction from 0.0 to 1.0 + + + + + Retrieves the current progress bar orientation. + + orientation of the progress bar + + + + + if there is not enough space to render the entire string. + + + + + + a #PangoEllipsizeMode + + + + + + Returns the ellipsizing position of the progressbar. +See gtk_progress_bar_set_ellipsize(). + + #PangoEllipsizeMode + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The preferred place to ellipsize the string, if the progressbar does +not have enough room to display the entire string, specified as a +#PangoEllisizeMode. +Note that setting this property to a value other than +%PANGO_ELLIPSIZE_NONE has the side-effect that the progressbar requests +only enough space to display the ellipsis "...". Another means to set a +progressbar's width is gtk_widget_set_size_request(). + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Creates a new #GtkRadioAction object. To add the action to +a #GtkActionGroup and set the accelerator for the action, +call gtk_action_group_add_action_with_accel(). + + a new #GtkRadioAction + + + + + A unique name for the action + + + + The label displayed in menu items and on buttons, or %NULL + + + + A tooltip for this action, or %NULL + + + + The stock icon to display in widgets representing this action, or %NULL + + + + The value which gtk_radio_action_get_current_value() should return if this action is selected. + + + + + + Returns the list representing the radio group for this object. +Note that the returned list is only valid until the next change +to the group. +A common way to set up a group of radio group is the following: +|[ +GSList *group = NULL; +GtkRadioAction *action; +while (/&ast; more actions to add &ast;/) +{ +action = gtk_radio_action_new (...); +gtk_radio_action_set_group (action, group); +group = gtk_radio_action_get_group (action); +} +]| + + the list representing the radio group for this object + + + + + + + Sets the radio group for the radio action object. + + + + + + a list representing a radio group + + + + + + + + Obtains the value property of the currently active member of +the group to which @action belongs. + + The value of the currently active group member + + + + + Sets the currently active group member to the member with value +property @current_value. + + + + + + the new value + + + + + + The value property of the currently active member of the group to which +this action belongs. + + + + Sets a new group for a radio action. + + + + The value is an arbitrary integer which can be used as a +convenient way to determine which action in the group is +currently active in an ::activate or ::changed signal handler. +See gtk_radio_action_get_current_value() and #GtkRadioActionEntry +for convenient ways to get and set this property. + + + + + + + + + + The ::changed signal is emitted on every member of a radio group when the +active member is changed. The signal gets emitted after the ::activate signals +for the previous and current active members. + + + + + + the member of @action<!-- -->s group which has just been activated + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Creates a new #GtkRadioButton containing a label, adding it to the same +group as @group. The label will be created using +gtk_label_new_with_mnemonic(), so underscores in @label indicate the +mnemonic for the button. + + a new #GtkRadioButton + + + + + the radio button group + + + + + + the text of the button, with an underscore in front of the mnemonic character + + + + + + Creates a new #GtkRadioButton containing a label. The label +will be created using gtk_label_new_with_mnemonic(), so underscores +in @label indicate the mnemonic for the button. + + a new #GtkRadioButton + + + + + widget to get radio group from or %NULL + + + + the text of the button, with an underscore in front of the mnemonic character + + + + + + Retrieves the group assigned to a radio button. +containing all the radio buttons in the same group +as @radio_button. The returned list is owned by the radio button +and must not be modified or freed. + + a linked list + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Emitted when the group of radio buttons that a radio button belongs +to changes. This is emitted when a radio button switches from +being alone to being part of a group of 2 or more buttons, or +vice-versa, and when a button is moved from one group of 2 or +more buttons to a different one, but not when the composition +of the group that a button belongs to changes. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Creates a new #GtkRadioMenuItem whose child is a simple #GtkLabel. + + A new #GtkRadioMenuItem + + + + + + + + + + the text for the label + + + + + + Creates a new #GtkRadioMenuItem containing a label. The label +will be created using gtk_label_new_with_mnemonic(), so underscores +in @label indicate the mnemonic for the menu item. + + a new #GtkRadioMenuItem + + + + + group the radio menu item is inside + + + + + + the text of the button, with an underscore in front of the mnemonic character + + + + + + Creates a new #GtkRadioMenuItem adding it to the same group as @group. + + The new #GtkRadioMenuItem + + + + + An existing #GtkRadioMenuItem + + + + + + Creates a new GtkRadioMenuItem containing a label. The label will be +created using gtk_label_new_with_mnemonic(), so underscores in label +indicate the mnemonic for the menu item. +The new #GtkRadioMenuItem is added to the same group as @group. + + The new #GtkRadioMenuItem + + + + + An existing #GtkRadioMenuItem + + + + the text of the button, with an underscore in front of the mnemonic character + + + + + + Creates a new GtkRadioMenuItem whose child is a simple GtkLabel. +The new #GtkRadioMenuItem is added to the same group as @group. + + The new #GtkRadioMenuItem + + + + + an existing #GtkRadioMenuItem + + + + the text for the label + + + + + + + + + + + + + + + + + + + + + + + + + The radio menu item whose group this widget belongs to. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Creates a new #GtkRadioToolButton, adding it to @group. + + The new #GtkRadioToolButton + + + + + An existing radio button group, or %NULL if you are creating a new group + + + + + + + + Creates a new #GtkRadioToolButton, adding it to @group. +The new #GtkRadioToolButton will contain an icon and label from the +stock item indicated by @stock_id. + + The new #GtkRadioToolItem + + + + + an existing radio button group, or %NULL if you are creating a new group + + + + + + the name of a stock item + + + + + + Creates a new #GtkRadioToolButton adding it to the same group as @gruup + + The new #GtkRadioToolButton + + + + + An existing #GtkRadioToolButton + + + + + + Creates a new #GtkRadioToolButton adding it to the same group as @group. +The new #GtkRadioToolButton will contain an icon and label from the +stock item indicated by @stock_id. + + A new #GtkRadioToolButton + + + + + An existing #GtkRadioToolButton. + + + + the name of a stock item + + + + + + Returns the radio button group @button belongs to. + + The group @button belongs to. + + + + + + + Adds @button to @group, removing it from the group it belonged to before. + + + + + + an existing radio button group + + + + + + + + Sets a new group for a radio tool button. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Sets the update policy for the range. #GTK_UPDATE_CONTINUOUS means that +anytime the range slider is moved, the range value will change and the +value_changed signal will be emitted. #GTK_UPDATE_DELAYED means that +the value will be updated after a brief timeout where no slider motion +occurs, so updates are spaced by a short time rather than +continuous. #GTK_UPDATE_DISCONTINUOUS means that the value will only +be updated when the user releases the button and ends the slider +drag operation. + + + + + + update policy + + + + + + Gets the update policy of @range. See gtk_range_set_update_policy(). + + the current update policy + + + + + Sets the adjustment to be used as the "model" object for this range +widget. The adjustment indicates the current range value, the +minimum and maximum range values, the step/page increments used +for keybindings and scrolling, and the page size. The page size +is normally 0 for #GtkScale and nonzero for #GtkScrollbar, and +indicates the size of the visible area of the widget being scrolled. +The page size affects the size of the scrollbar slider. + + + + + + a #GtkAdjustment + + + + + + Get the #GtkAdjustment which is the "model" object for #GtkRange. +See gtk_range_set_adjustment() for details. +The return value does not have a reference added, so should not +be unreferenced. + + a #GtkAdjustment + + + + + Ranges normally move from lower to higher values as the +slider moves from top to bottom or left to right. Inverted +ranges have higher values at the top or on the right rather than +on the bottom or left. + + + + + + %TRUE to invert the range + + + + + + Gets the value set by gtk_range_set_inverted(). + + %TRUE if the range is inverted + + + + + If a range is flippable, it will switch its direction if it is +horizontal and its direction is %GTK_TEXT_DIR_RTL. +See gtk_widget_get_direction(). + + + + + + %TRUE to make the range flippable + + + + + + Gets the value set by gtk_range_set_flippable(). + + %TRUE if the range is flippable + + + + + Sets whether the range's slider has a fixed size, or a size that +depends on it's adjustment's page size. +This function is useful mainly for #GtkRange subclasses. + + + + + + %TRUE to make the slider size constant + + + + + + This function is useful mainly for #GtkRange subclasses. +See gtk_range_set_slider_size_fixed(). + + whether the range's slider has a fixed size. + + + + + Sets the minimum size of the range's slider. +This function is useful mainly for #GtkRange subclasses. + + + + + + The slider's minimum size + + + + + + This function is useful mainly for #GtkRange subclasses. +See gtk_range_set_min_slider_size(). + + The minimum size of the range's slider. + + + + + This function returns the area that contains the range's trough +and its steppers, in widget->window coordinates. +This function is useful mainly for #GtkRange subclasses. + + + + + + return location for the range rectangle + + + + + + This function returns sliders range along the long dimension, +in widget->window coordinates. +This function is useful mainly for #GtkRange subclasses. + + + + + + return location for the slider's start, or %NULL + + + + return location for the slider's end, or %NULL + + + + + + Sets the sensitivity policy for the stepper that points to the +'lower' end of the GtkRange's adjustment. + + + + + + the lower stepper's sensitivity policy. + + + + + + Gets the sensitivity policy for the stepper that points to the +'lower' end of the GtkRange's adjustment. + + The lower stepper's sensitivity policy. + + + + + Sets the sensitivity policy for the stepper that points to the +'upper' end of the GtkRange's adjustment. + + + + + + the upper stepper's sensitivity policy. + + + + + + Gets the sensitivity policy for the stepper that points to the +'upper' end of the GtkRange's adjustment. + + The upper stepper's sensitivity policy. + + + + + Sets the step and page sizes for the range. +The step size is used when the user clicks the #GtkScrollbar +arrows or moves #GtkScale via arrow keys. The page size +is used for example when moving via Page Up or Page Down keys. + + + + + + step size + + + + page size + + + + + + Sets the allowable values in the #GtkRange, and clamps the range +value to be between @min and @max. (If the range has a non-zero +page size, it is clamped between @min and @max - page-size.) + + + + + + minimum range value + + + + maximum range value + + + + + + Sets the current value of the range; if the value is outside the +minimum or maximum range values, it will be clamped to fit inside +them. The range emits the #GtkRange::value-changed signal if the +value changes. + + + + + + new value of the range + + + + + + Gets the current value of the range. + + current value of the range. + + + + + Sets whether a graphical fill level is show on the trough. See +gtk_range_set_fill_level() for a general description of the fill +level concept. + + + + + + Whether a fill level indicator graphics is shown. + + + + + + Gets whether the range displays the fill level graphically. + + %TRUE if @range shows the fill level. + + + + + Sets whether the slider is restricted to the fill level. See +gtk_range_set_fill_level() for a general description of the fill +level concept. + + + + + + Whether the fill level restricts slider movement. + + + + + + Gets whether the range is restricted to the fill level. + + %TRUE if @range is restricted to the fill level. + + + + + Set the new position of the fill level indicator. +The "fill level" is probably best described by its most prominent +use case, which is an indicator for the amount of pre-buffering in +a streaming media player. In that use case, the value of the range +would indicate the current play position, and the fill level would +be the position up to which the file/stream has been downloaded. +This amount of prebuffering can be displayed on the range's trough +and is themeable separately from the trough. To enable fill level +display, use gtk_range_set_show_fill_level(). The range defaults +to not showing the fill level. +Additionally, it's possible to restrict the range's slider position +to values which are smaller than the fill level. This is controller +by gtk_range_set_restrict_to_fill_level() and is by default +enabled. + + + + + + the new position of the fill level indicator + + + + + + Gets the current position of the fill level indicator. + + The current fill level + + + + + + + + The fill level (e.g. prebuffering of a network stream). +See gtk_range_set_fill_level(). + + + + + + + + + + The restrict-to-fill-level property controls whether slider +movement is restricted to an upper boundary set by the +fill level. See gtk_range_set_restrict_to_fill_level(). + + + + The show-fill-level property controls whether fill level indicator +graphics are displayed on the trough. See +gtk_range_set_show_fill_level(). + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The ::change-value signal is emitted when a scroll action is +performed on a range. It allows an application to determine the +type of scroll event that occurred and the resultant new value. +The application can handle the event itself and return %TRUE to +prevent further processing. Or, by returning %FALSE, it can pass +the event to other handlers until the default GTK+ handler is +reached. +The value parameter is unrounded. An application that overrides +the ::change-value signal is responsible for clamping the value to +the desired number of decimal digits; the default GTK+ handler +clamps the value based on @range->round_digits. +It is not possible to use delayed update policies in an overridden +::change-value handler. + + %TRUE to prevent other handlers from being invoked for the signal, %FALSE to propagate the signal further + + + + + the type of scroll action that was performed + + + + the new value resulting from the scroll action + + + + + + Virtual function that moves the slider. Used for keybindings. + + + + + + how to move the slider + + + + + + Emitted when the range value changes. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Makes a copy of the specified #GtkRcStyle. This function +will correctly copy an RC style that is a member of a class +derived from #GtkRcStyle. + + the resulting #GtkRcStyle + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Creates a new #GtkRecentAction object. To add the action to +a #GtkActionGroup and set the accelerator for the action, +call gtk_action_group_add_action_with_accel(). + + the newly created #GtkRecentAction. + + + + + a unique name for the action + + + + the label displayed in menu items and on buttons, or %NULL + + + + a tooltip for the action, or %NULL + + + + the stock icon to display in widgets representing the action, or %NULL + + + + + + Creates a new #GtkRecentAction object. To add the action to +a #GtkActionGroup and set the accelerator for the action, +call gtk_action_group_add_action_with_accel(). + + the newly created #GtkRecentAction + + + + + a unique name for the action + + + + the label displayed in menu items and on buttons, or %NULL + + + + a tooltip for the action, or %NULL + + + + the stock icon to display in widgets representing the action, or %NULL + + + + a #GtkRecentManager, or %NULL for using the default #GtkRecentManager + + + + + + Returns the value set by gtk_recent_chooser_menu_set_show_numbers(). + + %TRUE if numbers should be shown. + + + + + Sets whether a number should be added to the items shown by the +widgets representing @action. The numbers are shown to provide +a unique character for a mnemonic to be used inside the menu item's +label. Only the first ten items get a number to avoid clashes. + + + + + + %TRUE if the shown items should be numbered + + + + + + + + + + + + + + + + + + + + + + + + Sets @uri as the current URI for @chooser. + + %TRUE if the URI was found. + + + + + a URI + + + + + + Gets the URI currently selected by @chooser. + + a newly allocated string holding a URI. + + + + + Selects @uri inside @chooser. + + %TRUE if @uri was found. + + + + + a URI + + + + + + Unselects @uri inside @chooser. + + + + + + a URI + + + + + + Selects all the items inside @chooser, if the @chooser supports +multiple selection. + + + + + + Unselects all the items inside @chooser. + + + + + + Gets the list of recently used resources in form of #GtkRecentInfo objects. +The return value of this function is affected by the "sort-type" and +"limit" properties of @chooser. +list of #GtkRecentInfo objects. You should +use gtk_recent_info_unref() on every item of the list, and then free +the list itself using g_list_free(). + + A newly allocated + + + + + + + + + + + + Adds @filter to the list of #GtkRecentFilter objects held by @chooser. +If no previous filter objects were defined, this function will call +gtk_recent_chooser_set_filter(). + + + + + + a #GtkRecentFilter + + + + + + Removes @filter from the list of #GtkRecentFilter objects held by @chooser. + + + + + + a #GtkRecentFilter + + + + + + Gets the #GtkRecentFilter objects held by @chooser. +of #GtkRecentFilter objects. You +should just free the returned list using g_slist_free(). + + A singly linked list + + + + + + + + + + + + + + + + + + + + + + + Whether to show recently used resources marked registered as private. + + + + + + %TRUE to show private items, %FALSE otherwise + + + + + + Returns whether @chooser should display recently used resources +registered as private. +%FALSE otherwise. + + %TRUE if the recent chooser should show private items, + + + + + Sets whether @chooser should display the recently used resources that +it didn't find. This only applies to local resources. + + + + + + whether to show the local items we didn't find + + + + + + Retrieves whether @chooser should show the recently used resources that +were not found. +%FALSE otheriwse. + + %TRUE if the resources not found should be displayed, and + + + + + Sets whether @chooser can select multiple items. + + + + + + %TRUE if @chooser can select more than one item + + + + + + Gets whether @chooser can select multiple items. + + %TRUE if @chooser can select more than one item. + + + + + Sets the number of items that should be returned by +gtk_recent_chooser_get_items() and gtk_recent_chooser_get_uris(). + + + + + + a positive integer, or -1 for all items + + + + + + Gets the number of items returned by gtk_recent_chooser_get_items() +and gtk_recent_chooser_get_uris(). +returned. + + A positive integer, or -1 meaning that all items are + + + + + Sets whether only local resources, that is resources using the file:// URI +scheme, should be shown in the recently used resources selector. If +to be accessible through the operating system native file system. + + + + + + %TRUE if only local files can be shown + + + + + + Gets whether only local resources should be shown in the recently used +resources selector. See gtk_recent_chooser_set_local_only() + + %TRUE if only local resources should be shown. + + + + + Sets whether to show a tooltips containing the full path of each +recently used resource in a #GtkRecentChooser widget. + + + + + + %TRUE if tooltips should be shown + + + + + + Gets whether @chooser should display tooltips containing the full path +of a recently user resource. +%FALSE otherwise. + + %TRUE if the recent chooser should show tooltips, + + + + + Whether to show recently used resources prepended by a unique number. + + + + + + %TRUE to show numbers, %FALSE otherwise + + + + + + Returns whether @chooser should display recently used resources +prepended by a unique number. +%FALSE otherwise. + + %TRUE if the recent chooser should show display numbers, + + + + + Sets whether @chooser should show an icon near the resource when +displaying it. + + + + + + whether to show an icon near the resource + + + + + + Retrieves whether @chooser should show an icon near the resource. + + %TRUE if the icons should be displayed, %FALSE otherwise. + + + + + Changes the sorting order of the recently used resources list displayed by + + + + + + sort order that the chooser should use + + + + + + Gets the value set by gtk_recent_chooser_set_sort_type(). + + the sorting order of the @chooser. + + + + + Sets the comparison function used when sorting to be @sort_func. If +the @chooser has the sort type set to #GTK_RECENT_SORT_CUSTOM then +the chooser will sort using this function. +To the comparison function will be passed two #GtkRecentInfo structs and +item comes before the second, zero if the two items are equal and +a negative integer if the first item comes after the second. + + + + + + the comparison function + + + + user data to pass to @sort_func, or %NULL + + + + destroy notifier for @sort_data, or %NULL + + + + + + Sets @uri as the current URI for @chooser. + + %TRUE if the URI was found. + + + + + a URI + + + + + + Gets the URI currently selected by @chooser. + + a newly allocated string holding a URI. + + + + + Gets the #GtkRecentInfo currently selected by @chooser. +when you have finished using it. + + a #GtkRecentInfo. Use gtk_recent_info_unref() when + + + + + Selects @uri inside @chooser. + + %TRUE if @uri was found. + + + + + a URI + + + + + + Unselects @uri inside @chooser. + + + + + + a URI + + + + + + Selects all the items inside @chooser, if the @chooser supports +multiple selection. + + + + + + Unselects all the items inside @chooser. + + + + + + Gets the list of recently used resources in form of #GtkRecentInfo objects. +The return value of this function is affected by the "sort-type" and +"limit" properties of @chooser. +list of #GtkRecentInfo objects. You should +use gtk_recent_info_unref() on every item of the list, and then free +the list itself using g_list_free(). + + A newly allocated + + + + + + + Gets the URI of the recently used resources. +The return value of this function is affected by the "sort-type" and "limit" +properties of @chooser. +Since the returned array is %NULL terminated, @length may be %NULL. +g_strfreev() to free it. + + A newly allocated, %NULL terminated array of strings. Use + + + + + + + return location for a the length of the URI list, or %NULL + + + + + + Adds @filter to the list of #GtkRecentFilter objects held by @chooser. +If no previous filter objects were defined, this function will call +gtk_recent_chooser_set_filter(). + + + + + + a #GtkRecentFilter + + + + + + Removes @filter from the list of #GtkRecentFilter objects held by @chooser. + + + + + + a #GtkRecentFilter + + + + + + Gets the #GtkRecentFilter objects held by @chooser. +of #GtkRecentFilter objects. You +should just free the returned list using g_slist_free(). + + A singly linked list + + + + + + + Sets @filter as the current #GtkRecentFilter object used by @chooser +to affect the displayed recently used resources. + + + + + + a #GtkRecentFilter + + + + + + Gets the #GtkRecentFilter object currently used by @chooser to affect +the display of the recently used resources. + + a #GtkRecentFilter object. + + + + + The #GtkRecentFilter object to be used when displaying +the recently used resources. + + + + The maximum number of recently used resources to be displayed, +or -1 to display all items. By default, the +override that limit on a particular instance of #GtkRecentChooser +by setting this property. + + + + Whether this #GtkRecentChooser should display only local (file:) +resources. + + + + The #GtkRecentManager instance used by the #GtkRecentChooser to +display the list of recently used resources. + + + + Allow the user to select multiple resources. + + + + Whether this #GtkRecentChooser should display an icon near the item. + + + + Whether this #GtkRecentChooser should display the recently used resources +even if not present anymore. Setting this to %FALSE will perform a +potentially expensive check on every local resource (every remote +resource will always be displayed). + + + + + + + Whether this #GtkRecentChooser should display a tooltip containing the +full path of the recently used resources. + + + + Sorting order to be used when displaying the recently used resources. + + + + + + + + + + + + + + + + + + + Creates a new #GtkRecentChooserDialog. This function is analogous to +gtk_dialog_new_with_buttons(). + + a new #GtkRecentChooserDialog + + + + + Title of the dialog, or %NULL + + + + Transient parent of the dialog, or %NULL, + + + + stock ID or text to go in the first button, or %NULL + + + + + + + + + + Creates a new #GtkRecentChooserDialog with a specified recent manager. +This is useful if you have implemented your own recent manager, or if you +have a customized instance of a #GtkRecentManager object. + + a new #GtkRecentChooserDialog + + + + + Title of the dialog, or %NULL + + + + Transient parent of the dialog, or %NULL, + + + + a #GtkRecentManager + + + + stock ID or text to go in the first button, or %NULL + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + %TRUE if the URI was found. + + + + + + + + a URI + + + + + + + + + a newly allocated string holding a URI. + + + + + + + + + + + + + %TRUE if @uri was found. + + + + + + + + a URI + + + + + + + + + + + + + + + + a URI + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A newly allocated + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + a #GtkRecentFilter + + + + + + + + + + + + + + + + a #GtkRecentFilter + + + + + + + + + A singly linked list + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Creates a new #GtkRecentChooserMenu widget. +This kind of widget shows the list of recently used resources as +a menu, each item as a menu item. Each item inside the menu might +have an icon, representing its MIME type, and a number, for mnemonic +access. +This widget implements the #GtkRecentChooser interface. +This widget creates its own #GtkRecentManager object. See the +gtk_recent_chooser_menu_new_for_manager() function to know how to create +a #GtkRecentChooserMenu widget bound to another #GtkRecentManager object. + + a new #GtkRecentChooserMenu + + + + + Creates a new #GtkRecentChooserMenu widget using @manager as +the underlying recently used resources manager. +This is useful if you have implemented your own recent manager, +or if you have a customized instance of a #GtkRecentManager +object or if you wish to share a common #GtkRecentManager object +among multiple #GtkRecentChooser widgets. + + a new #GtkRecentChooserMenu, bound to @manager. + + + + + a #GtkRecentManager + + + + + + Returns the value set by gtk_recent_chooser_menu_set_show_numbers(). + + %TRUE if numbers should be shown. + + + + + Sets whether a number should be added to the items of @menu. The +numbers are shown to provide a unique character for a mnemonic to +be used inside ten menu item's label. Only the first the items +get a number to avoid clashes. + + + + + + whether to show numbers + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Creates a new #GtkRecentChooserWidget object. This is an embeddable widget +used to access the recently used resources list. + + a new #GtkRecentChooserWidget + + + + + Creates a new #GtkRecentChooserWidget with a specified recent manager. +This is useful if you have implemented your own recent manager, or if you +have a customized instance of a #GtkRecentManager object. + + a new #GtkRecentChooserWidget + + + + + a #GtkRecentManager + + + + + + + + + + + + + + + + + + + + Meta-data to be passed to gtk_recent_manager_add_full() when +registering a recently used resource. + + + + + + + + + + + + + + + + + + + + + + + + + Creates a new #GtkRecentFilter with no rules added to it. +Such filter does not accept any recently used resources, so is not +particularly useful until you add rules with +gtk_recent_filter_add_pattern(), gtk_recent_filter_add_mime_type(), +gtk_recent_filter_add_application(), gtk_recent_filter_add_age(). +To create a filter that accepts any recently used resource, use: +|[ +GtkRecentFilter *filter = gtk_recent_filter_new (); +gtk_recent_filter_add_pattern (filter, "*"); +]| + + a new #GtkRecentFilter + + + + + Sets the human-readable name of the filter; this is the string +that will be displayed in the recently used resources selector +user interface if there is a selectable list of filters. + + + + + + then human readable name of @filter + + + + + + Gets the human-readable name for the filter. +See gtk_recent_filter_set_name(). +is owned by the filter object and should not be freed. + + the name of the filter, or %NULL. The returned string + + + + + Adds a rule that allows resources based on their registered MIME type. + + + + + + a MIME type + + + + + + Adds a rule that allows resources based on a pattern matching their +display name. + + + + + + a file pattern + + + + + + Adds a rule allowing image files in the formats supported +by GdkPixbuf. + + + + + + Adds a rule that allows resources based on the name of the application +that has registered them. + + + + + + an application name + + + + + + Adds a rule that allows resources based on the name of the group +to which they belong + + + + + + a group name + + + + + + Adds a rule that allows resources based on their age - that is, the number +of days elapsed since they were last modified. + + + + + + number of days + + + + + + Adds a rule to a filter that allows resources based on a custom callback +function. The bitfield @needed which is passed in provides information +about what sorts of information that the filter function needs; +this allows GTK+ to avoid retrieving expensive information when +it isn't needed by the filter. + + + + + + bitfield of flags indicating the information that the custom filter function needs. + + + + callback function; if the function returns %TRUE, then the file will be displayed. + + + + data to pass to @func + + + + function to call to free @data when it is no longer needed. + + + + + + Gets the fields that need to be filled in for the structure +passed to gtk_recent_filter_filter() +This function will not typically be used by applications; it +is intended principally for use in the implementation of +#GtkRecentChooser. +calling gtk_recent_filter_filter() + + bitfield of flags indicating needed fields when + + + + + Tests whether a file should be displayed according to @filter. +The #GtkRecentFilterInfo structure @filter_info should include +the fields returned from gtk_recent_filter_get_needed(). +This function will not typically be used by applications; it +is intended principally for use in the implementation of +#GtkRecentChooser. + + %TRUE if the file should be displayed + + + + + a #GtkRecentFilterInfo structure containing information about a recently used resource + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Increases the reference count of @recent_info by one. +by one. + + the recent info object with its reference count increased + + + + + Decreases the reference count of @info by one. If the reference +count reaches zero, @info is deallocated, and the memory freed. + + + + + + Gets the URI of the resource. +owned by the recent manager, and should not be freed. + + the URI of the resource. The returned string is + + + + + Gets the name of the resource. If none has been defined, the basename +of the resource is obtained. +is owned by the recent manager, and should not be freed. + + the display name of the resource. The returned string + + + + + Gets the (short) description of the resource. +is owned by the recent manager, and should not be freed. + + the description of the resource. The returned string + + + + + Gets the MIME type of the resource. +is owned by the recent manager, and should not be freed. + + the MIME type of the resource. The returned string + + + + + Gets the timestamp (seconds from system's Epoch) when the resource +was added to the recently used resources list. +the resource was added to the list, or -1 on failure. + + the number of seconds elapsed from system's Epoch when + + + + + Gets the timestamp (seconds from system's Epoch) when the resource +was last modified. +the resource was last modified, or -1 on failure. + + the number of seconds elapsed from system's Epoch when + + + + + Gets the timestamp (seconds from system's Epoch) when the resource +was last visited. +the resource was last visited, or -1 on failure. + + the number of seconds elapsed from system's Epoch when + + + + + Gets the value of the "private" flag. Resources in the recently used +list that have this flag set to %TRUE should only be displayed by the +applications that have registered them. + + %TRUE if the private flag was found, %FALSE otherwise. + + + + + Gets the data regarding the application that has registered the resource +pointed by @info. +If the command line contains any escape characters defined inside the +storage specification, they will be expanded. +resource inside the recently used list, or %FALSE otherwise. The +modified or freed + + %TRUE if an application with @app_name has registered this + + + + + the name of the application that has registered this item + + + + return location for the string containing the command line + + + + return location for the number of times this item was registered + + + + return location for the timestamp this item was last registered for this application + + + + + + Retrieves the list of applications that have registered this resource. +%NULL-terminated array of strings. Use g_strfreev() to free it. + + a newly allocated + + + + + + + return location for the length of the returned list + + + + + + Gets the name of the last application that have registered the +recently used resource represented by @info. + + an application name. Use g_free() to free it. + + + + + Checks whether an application registered this resource using @app_name. +%FALSE otherwise. + + %TRUE if an application with name @app_name was found, + + + + + a string containing an application name + + + + + + Returns all groups registered for the recently used item @info. The +array of returned group names will be %NULL terminated, so length might +optionally be %NULL. +%NULL terminated array of strings. Use g_strfreev() to free it. + + a newly allocated + + + + + + + return location for the number of groups returned + + + + + + Checks whether @group_name appears inside the groups registered for the +recently used item @info. + + %TRUE if the group was found. + + + + + name of a group + + + + + + Retrieves the icon of size @size associated to the resource MIME type. +g_object_unref() when finished using the icon. + + a #GdkPixbuf containing the icon, or %NULL. Use + + + + + the size of the icon in pixels + + + + + + Computes a valid UTF-8 string that can be used as the name of the item in a +menu or list. For example, calling this function on an item that refers to +"file:///foo/bar.txt" will yield "bar.txt". +g_free(). + + A newly-allocated string in UTF-8 encoding; free it with + + + + + Gets a displayable version of the resource's URI. If the resource +is local, it returns a local path; if the resource is not local, +it returns the UTF-8 encoded content of gtk_recent_info_get_uri(). +resource's URI or %NULL. Use g_free() when done using it. + + a newly allocated UTF-8 string containing the + + + + + Gets the number of days elapsed since the last update of the resource +pointed by @info. +since the time this resource was last modified. + + a positive integer containing the number of days elapsed + + + + + Checks whether the resource is local or not by looking at the +scheme of its URI. + + %TRUE if the resource is local. + + + + + Checks whether the resource pointed by @info still exists. At +the moment this check is done only on resources pointing to local files. + + %TRUE if the resource exists + + + + + Checks whether two #GtkRecentInfo structures point to the same +resource. +resource, %FALSE otherwise. + + %TRUE if both #GtkRecentInfo structures point to se same + + + + + a #GtkRecentInfo + + + + + + + + Creates a new recent manager object. Recent manager objects are used to +handle the list of recently used resources. A #GtkRecentManager object +monitors the recently used resources list, and emits the "changed" signal +each time something inside the list changes. +#GtkRecentManager objects are expensive: be sure to create them only when +needed. You should use gtk_recent_manager_get_default() instead. + + A newly created #GtkRecentManager object. + + + + + Gets a unique instance of #GtkRecentManager, that you can share +in your application without caring about memory management. The +returned instance will be freed when you application terminates. + + A unique #GtkRecentManager. Do not ref or unref it. + + + + + Gets the recent manager object associated with @screen; if this +function has not previously been called for the given screen, +a new recent manager object will be created and associated with +the screen. Recent manager objects are fairly expensive to create, +so using this function is usually a better choice than calling +gtk_recent_manager_new() and setting the screen yourself; by using +this function a single recent manager object will be shared between +users. +screen. This recent manager is associated to the with the screen +and can be used as long as the screen is open. Do not ref or +unref it. +not be used in newly written code. Calling this function is +equivalent to calling gtk_recent_manager_get_default(). + + A unique #GtkRecentManager associated with the given + + + + + a #GdkScreen + + + + + + Sets the screen for a recent manager; the screen is used to +track the user's currently configured recently used documents +storage. +not be used in newly written code. Calling this function has +no effect. + + + + + + a #GdkScreen + + + + + + Adds a new resource, pointed by @uri, into the recently used +resources list. +This function automatically retrieves some of the needed +metadata and setting other metadata to common default values; it +then feeds the data to gtk_recent_manager_add_full(). +See gtk_recent_manager_add_full() if you want to explicitly +define the metadata for the resource pointed by @uri. +to the recently used resources list + + %TRUE if the new item was successfully added + + + + + a valid URI + + + + + + Adds a new resource, pointed by @uri, into the recently used +resources list, using the metadata specified inside the #GtkRecentData +structure passed in @recent_data. +The passed URI will be used to identify this resource inside the +list. +In order to register the new recently used resource, metadata about +the resource must be passed as well as the URI; the metadata is +stored in a #GtkRecentData structure, which must contain the MIME +type of the resource pointed by the URI; the name of the application +that is registering the item, and a command line to be used when +launching the item. +Optionally, a #GtkRecentData structure might contain a UTF-8 string +to be used when viewing the item instead of the last component of the +URI; a short description of the item; whether the item should be +considered private - that is, should be displayed only by the +applications that have registered it. +recently used resources list, %FALSE otherwise. + + %TRUE if the new item was successfully added to the + + + + + a valid URI + + + + metadata of the resource + + + + + + Removes a resource pointed by @uri from the recently used resources +list handled by a recent manager. +removed by the recently used resources list, and %FALSE otherwise. + + %TRUE if the item pointed by @uri has been successfully + + + + + the URI of the item you wish to remove + + + + + + Searches for a URI inside the recently used resources list, and +returns a structure containing informations about the resource +like its MIME type, or its display name. +about the resource pointed by @uri, or %NULL if the URI was +not registered in the recently used resources list. Free with +gtk_recent_info_unref(). + + a #GtkRecentInfo structure containing information + + + + + a URI + + + + + + Checks whether there is a recently used resource registered +with @uri inside the recent manager. + + %TRUE if the resource was found, %FALSE otherwise. + + + + + a URI + + + + + + Changes the location of a recently used resource from @uri to @new_uri. +Please note that this function will not affect the resource pointed +by the URIs, but only the URI used in the recently used resources list. + + %TRUE on success. + + + + + the URI of a recently used resource + + + + the new URI of the recently used resource, or %NULL to remove the item pointed by @uri in the list + + + + + + Sets the maximum number of item that the gtk_recent_manager_get_items() +function should return. If @limit is set to -1, then return all the +items. + + + + + + the maximum number of items to return, or -1. + + + + + + Gets the maximum number of items that the gtk_recent_manager_get_items() +function should return. + + the number of items to return, or -1 for every item. + + + + + Gets the list of recently used resources. +newly allocated #GtkRecentInfo objects. Use +gtk_recent_info_unref() on each item inside the list, and then +free the list itself using g_list_free(). + + a list of + + + + + + + Purges every item from the recently used resources list. +recently used resources list. + + the number of items that have been removed from the + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Error codes for GtkRecentManager operations + + + + + + + + + + + + + + + + + + + + + + + + + + + + Used to specify the sorting method to be applyed to the recently +used resource list. + + + + + + + + + + + + A <structname>GtkRequisition</structname> represents the desired size of a widget. See +<xref linkend="size-requisition"/> for more information. + + + + + + + + Copies a #GtkRequisition. + + a copy of @requisition + + + + + Frees a #GtkRequisition. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Gets the units used for a #GtkRuler. See gtk_ruler_set_metric(). + + the units currently used for @ruler + + + + + This sets the range of the ruler. + + + + + + the lower limit of the ruler + + + + the upper limit of the ruler + + + + the mark on the ruler + + + + the maximum size of the ruler used when calculating the space to leave for the text + + + + + + Retrieves values indicating the range and current position of a #GtkRuler. +See gtk_ruler_set_range(). + + + + + + location to store lower limit of the ruler, or %NULL + + + + location to store upper limit of the ruler, or %NULL + + + + location to store the current position of the mark on the ruler, or %NULL + + + + location to store the maximum size of the ruler used when calculating the space to leave for the text, or %NULL. + + + + + + + + + + + + + + + + + + + + + + The metric used for the ruler. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Obtains the coordinates where the scale will draw the +#PangoLayout representing the text in the scale. Remember +when using the #PangoLayout function you need to convert to +and from pixels using PANGO_PIXELS() or #PANGO_SCALE. +If the #GtkScale:draw-value property is %FALSE, the return +values are undefined. + + + + + + location to store X offset of layout, or %NULL + + + + location to store Y offset of layout, or %NULL + + + + + + Sets the number of decimal places that are displayed in the value. +Also causes the value of the adjustment to be rounded off to this +number of digits, so the retrieved value matches the value the user saw. + + + + + + the number of decimal places to display, e.g. use 1 to display 1.0, 2 to display 1.00, etc + + + + + + Gets the number of decimal places that are displayed in the value. + + the number of decimal places that are displayed + + + + + Specifies whether the current value is displayed as a string next +to the slider. + + + + + + %TRUE to draw the value + + + + + + Returns whether the current value is displayed as a string +next to the slider. + + whether the current value is displayed as a string + + + + + Sets the position in which the current value is displayed. + + + + + + the position in which the current value is displayed + + + + + + Gets the position in which the current value is displayed. + + the position in which the current value is displayed + + + + + Gets the #PangoLayout used to display the scale. +The returned object is owned by the scale so does +not need to be freed by the caller. +if the #GtkScale:draw-value property is %FALSE. + + the #PangoLayout for this scale, or %NULL + + + + + Obtains the coordinates where the scale will draw the +#PangoLayout representing the text in the scale. Remember +when using the #PangoLayout function you need to convert to +and from pixels using PANGO_PIXELS() or #PANGO_SCALE. +If the #GtkScale:draw-value property is %FALSE, the return +values are undefined. + + + + + + location to store X offset of layout, or %NULL + + + + location to store Y offset of layout, or %NULL + + + + + + Adds a mark at @value. +A mark is indicated visually by drawing a tick mark next to the scale, +and GTK+ makes it easy for the user to position the scale exactly at the +marks value. +If @markup is not %NULL, text is shown next to the tick mark. +To remove marks from a scale, use gtk_scale_clear_marks(). + + + + + + the value at which the mark is placed, must be between the lower and upper limits of the scales' adjustment + + + + where to draw the mark. For a horizontal scale, #GTK_POS_TOP is drawn above the scale, anything else below. For a vertical scale, #GTK_POS_LEFT is drawn to the left of the scale, anything else to the right. + + + + Text to be shown at the mark, using <link linkend="PangoMarkupFormat">Pango markup</link>, or %NULL + + + + + + Removes any marks that have been added with gtk_scale_add_mark(). + + + + + + + + + + + + + + + + + + + + + + + + + + + Signal which allows you to change how the scale value is displayed. +Connect a signal handler which returns an allocated string representing +Here's an example signal handler which displays a value 1.0 as +with "--&gt;1.0&lt;--". +|[ +static gchar* +format_value_callback (GtkScale *scale, +gdouble value) +{ +return g_strdup_printf ("--&gt;&percnt;0.*g&lt;--", +gtk_scale_get_digits (scale), value); +} +]| + + allocated string representing @value + + + + + the value to format + + + + + + + + + + + + Creates a #GtkScaleButton, with a range between @min and @max, with +a stepping of @step. + + a new #GtkScaleButton + + + + + a stock icon size + + + + the minimum value of the scale (usually 0) + + + + the maximum value of the scale (usually 100) + + + + the stepping of value when a scroll-wheel event, or up/down arrow event occurs (usually 2) + + + + a %NULL-terminated array of icon names, or %NULL if you want to set the list later with gtk_scale_button_set_icons() + + + + + + + + Sets the icons to be used by the scale button. +For details, see the #GtkScaleButton:icons property. + + + + + + a %NULL-terminated array of icon names + + + + + + + + Gets the current value of the scale button. + + current value of the scale button + + + + + Sets the current value of the scale; if the value is outside +the minimum or maximum range values, it will be clamped to fit +inside them. The scale button emits the #GtkScaleButton::value-changed +signal if the value changes. + + + + + + new value of the scale button + + + + + + Gets the #GtkAdjustment associated with the #GtkScaleButton's scale. +See gtk_range_get_adjustment() for details. + + the adjustment associated with the scale + + + + + Sets the #GtkAdjustment to be used as a model +for the #GtkScaleButton's scale. +See gtk_range_set_adjustment() for details. + + + + + + a #GtkAdjustment + + + + + + Retrieves the plus button of the #GtkScaleButton. + + the plus button of the #GtkScaleButton. + + + + + Retrieves the minus button of the #GtkScaleButton. + + the minus button of the #GtkScaleButton. + + + + + Retrieves the popup of the #GtkScaleButton. + + the popup of the #GtkScaleButton + + + + + Gets the orientation of the #GtkScaleButton's popup window. + + the #GtkScaleButton's orientation. + + + + + Sets the orientation of the #GtkScaleButton's popup window. + + + + + + the new orientation + + + + + + + + + The names of the icons to be used by the scale button. +The first item in the array will be used in the button +when the current value is the lowest value, the second +item for the highest value. All the subsequent icons will +be used for all the other values, spread evenly over the +range of values. +If there's only one icon name in the @icons array, it will +be used for all the values. If only two icon names are in +the @icons array, the first one will be used for the bottom +50% of the scale, and the second one for the top 50%. +It is recommended to use at least 3 icons so that the +#GtkScaleButton reflects the current value of the scale +better for the users. + + + + + + + + + + + + + + + + + + + + + + The ::popdown signal is a +<link linkend="keybinding-signals">keybinding signal</link> +which gets emitted to popdown the scale widget. +The default binding for this signal is Escape. + + + + + + The ::popup signal is a +<link linkend="keybinding-signals">keybinding signal</link> +which gets emitted to popup the scale widget. +The default bindings for this signal are Space, Enter and Return. + + + + + + The ::value-changed signal is emitted when the value field has +changed. + + + + + + the new value + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + location to store X offset of layout, or %NULL + + + + location to store Y offset of layout, or %NULL + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Creates a new scrolled window. +The two arguments are the scrolled window's adjustments; these will be +shared with the scrollbars and the child widget to keep the bars in sync +with the child. Usually you want to pass %NULL for the adjustments, which +will cause the scrolled window to create them for you. + + a new scrolled window + + + + + horizontal adjustment + + + + vertical adjustment + + + + + + Sets the #GtkAdjustment for the horizontal scrollbar. + + + + + + horizontal scroll adjustment + + + + + + Sets the #GtkAdjustment for the vertical scrollbar. + + + + + + vertical scroll adjustment + + + + + + Returns the horizontal scrollbar's adjustment, used to connect the +horizontal scrollbar to the child widget's horizontal scroll +functionality. + + the horizontal #GtkAdjustment + + + + + Returns the vertical scrollbar's adjustment, used to connect the +vertical scrollbar to the child widget's vertical scroll +functionality. + + the vertical #GtkAdjustment + + + + + Returns the horizontal scrollbar of @scrolled_window. +%NULL if it does not have one. + + the horizontal scrollbar of the scrolled window, or + + + + + Returns the vertical scrollbar of @scrolled_window. +%NULL if it does not have one. + + the vertical scrollbar of the scrolled window, or + + + + + Sets the scrollbar policy for the horizontal and vertical scrollbars. +The policy determines when the scrollbar should appear; it is a value +from the #GtkPolicyType enumeration. If %GTK_POLICY_ALWAYS, the +scrollbar is always present; if %GTK_POLICY_NEVER, the scrollbar is +never present; if %GTK_POLICY_AUTOMATIC, the scrollbar is present only +if needed (that is, if the slider part of the bar would be smaller +than the trough - the display is larger than the page size). + + + + + + policy for horizontal bar + + + + policy for vertical bar + + + + + + Retrieves the current policy values for the horizontal and vertical +scrollbars. See gtk_scrolled_window_set_policy(). + + + + + + location to store the policy for the horizontal scrollbar, or %NULL. + + + + location to store the policy for the vertical scrollbar, or %NULL. + + + + + + Sets the placement of the contents with respect to the scrollbars +for the scrolled window. +The default is %GTK_CORNER_TOP_LEFT, meaning the child is +in the top left, with the scrollbars underneath and to the right. +Other values in #GtkCornerType are %GTK_CORNER_TOP_RIGHT, +%GTK_CORNER_BOTTOM_LEFT, and %GTK_CORNER_BOTTOM_RIGHT. +See also gtk_scrolled_window_get_placement() and +gtk_scrolled_window_unset_placement(). + + + + + + position of the child window + + + + + + Unsets the placement of the contents with respect to the scrollbars +for the scrolled window. If no window placement is set for a scrolled +window, it obeys the "gtk-scrolled-window-placement" XSETTING. +See also gtk_scrolled_window_set_placement() and +gtk_scrolled_window_get_placement(). + + + + + + Gets the placement of the contents with respect to the scrollbars +for the scrolled window. See gtk_scrolled_window_set_placement(). +See also gtk_scrolled_window_set_placement() and +gtk_scrolled_window_unset_placement(). + + the current placement value. + + + + + Changes the type of shadow drawn around the contents of + + + + + + kind of shadow to draw around scrolled window contents + + + + + + Gets the shadow type of the scrolled window. See +gtk_scrolled_window_set_shadow_type(). + + the current shadow type + + + + + Used to add children without native scrolling capabilities. This +is simply a convenience function; it is equivalent to adding the +unscrollable child to a viewport, then adding the viewport to the +scrolled window. If a child has native scrolling, use +gtk_container_add() instead of this function. +The viewport scrolls the child by moving its #GdkWindow, and takes +the size of the child to be the size of its toplevel #GdkWindow. +This will be very wrong for most widgets that support native scrolling; +for example, if you add a widget such as #GtkTreeView with a viewport, +the whole widget will scroll, including the column headings. Thus, +widgets with native scrolling support should not be used with the +#GtkViewport proxy. +A widget supports scrolling natively if the +set_scroll_adjustments_signal field in #GtkWidgetClass is non-zero, +i.e. has been filled in with a valid signal identifier. + + + + + + the widget you want to scroll + + + + + + + + + + + + + + + + + + + + + + + + Whether "window-placement" should be used to determine the location +of the contents with respect to the scrollbars. Otherwise, the +"gtk-scrolled-window-placement" setting is used. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Retrieves the selection #GdkAtom of the selection data. + + the selection #GdkAtom of the selection data. + + + + + Retrieves the target of the selection. + + the target of the selection. + + + + + Retrieves the data type of the selection. + + the data type of the selection. + + + + + Retrieves the format of the selection. + + the format of the selection. + + + + + Retrieves the raw data of the selection. + + the raw data of the selection. + + + + + + + Retrieves the length of the raw data of the selection. + + the length of the data of the selection. + + + + + Retrieves the display of the selection. + + the display of the selection. + + + + + Stores new data into a #GtkSelectionData object. Should +<emphasis>only</emphasis> be called from a selection handler callback. +Zero-terminates the stored data. + + + + + + the type of selection data + + + + format (number of bits in a unit) + + + + pointer to the data (will be copied) + + + + + + length of the data + + + + + + Sets the contents of the selection from a UTF-8 encoded string. +The string is converted to the form determined by +otherwise %FALSE. + + %TRUE if the selection was successfully set, + + + + + a UTF-8 string + + + + the length of @str, or -1 if @str is nul-terminated. + + + + + + Gets the contents of the selection data as a UTF-8 string. +text type and it could be converted to UTF-8, a newly allocated +string containing the converted text, otherwise %NULL. +If the result is non-%NULL it must be freed with g_free(). + + if the selection data contained a recognized + + + + + + + Sets the contents of the selection from a #GdkPixbuf +The pixbuf is converted to the form determined by +otherwise %FALSE. + + %TRUE if the selection was successfully set, + + + + + a #GdkPixbuf + + + + + + Gets the contents of the selection data as a #GdkPixbuf. +image type and it could be converted to a #GdkPixbuf, a +newly allocated pixbuf is returned, otherwise %NULL. +If the result is non-%NULL it must be freed with g_object_unref(). + + if the selection data contained a recognized + + + + + Sets the contents of the selection from a list of URIs. +The string is converted to the form determined by +otherwise %FALSE. + + %TRUE if the selection was successfully set, + + + + + a %NULL-terminated array of strings holding URIs + + + + + + + + Gets the contents of the selection data as array of URIs. +the selection data contains a list of +URIs, a newly allocated %NULL-terminated string array +containing the URIs, otherwise %NULL. If the result is +non-%NULL it must be freed with g_strfreev(). + + if + + + + + + + Gets the contents of @selection_data as an array of targets. +This can be used to interpret the results of getting +the standard TARGETS target that is always supplied for +any selection. +array of targets, otherwise %FALSE. + + %TRUE if @selection_data contains a valid + + + + + location to store an array of targets. The result stored here must be freed with g_free(). + + + + location to store number of items in @targets. + + + + + + Given a #GtkSelectionData object holding a list of targets, +determines if any of the targets in @targets can be used to +provide text. +and a suitable target for text is included, otherwise %FALSE. + + %TRUE if @selection_data holds a list of targets, + + + + + Given a #GtkSelectionData object holding a list of targets, +determines if any of the targets in @targets can be used to +provide rich text. +and a suitable target for rich text is included, +otherwise %FALSE. + + %TRUE if @selection_data holds a list of targets, + + + + + a #GtkTextBuffer + + + + + + Given a #GtkSelectionData object holding a list of targets, +determines if any of the targets in @targets can be used to +provide a #GdkPixbuf. +and a suitable target for images is included, otherwise %FALSE. + + %TRUE if @selection_data holds a list of targets, + + + + + whether to accept only targets for which GTK+ knows how to convert a pixbuf into the format + + + + + + Given a #GtkSelectionData object holding a list of targets, +determines if any of the targets in @targets can be used to +provide a list or URIs. +and a suitable target for URI lists is included, otherwise %FALSE. + + %TRUE if @selection_data holds a list of targets, + + + + + Makes a copy of a #GtkSelectionData structure and its data. + + a pointer to a copy of @data. + + + + + Frees a #GtkSelectionData structure returned from +gtk_selection_data_copy(). + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Create a new #GtkSeparatorToolItem + + the new #GtkSeparatorToolItem + + + + + Returns whether @item is drawn as a line, or just blank. +See gtk_separator_tool_item_set_draw(). + + %TRUE if @item is drawn as a line, or just blank. + + + + + Whether @item is drawn as a vertical line, or just blank. +Setting this to %FALSE along with gtk_tool_item_set_expand() is useful +to create an item that forces following items to the end of the toolbar. + + + + + + whether @item is drawn as a vertical line + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Gets the #GtkSettings object for the default GDK screen, creating +it if necessary. See gtk_settings_get_for_screen(). +screen, then returns %NULL. + + a #GtkSettings object. If there is no default + + + + + Gets the #GtkSettings object for @screen, creating it if necessary. + + a #GtkSettings object. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Holds a hash table representation of the #GtkSettings:gtk-color-scheme +setting, mapping color names to #GdkColor<!-- -->s. + + + + + + + Controls the direction of the sort indicators in sorted list and tree +views. By default an arrow pointing down means the column is sorted +in ascending order. When set to %TRUE, this order will be inverted. + + + + Whether mnemonics should be automatically shown and hidden when the user +presses the mnemonic activator. + + + + A palette of named colors for use in themes. The format of the string is +<programlisting> +... +</programlisting> +Color names must be acceptable as identifiers in the +<link linkend="gtk-Resource-Files">gtkrc</link> syntax, and +color specifications must be in the format accepted by +gdk_color_parse(). +Note that due to the way the color tables from different sources are +merged, color specifications will be converted to hexadecimal form +when getting this property. +Starting with GTK+ 2.12, the entries can alternatively be separated +by ';' instead of newlines: +<programlisting> +</programlisting> + + + + Whether the cursor should blink. +Also see the #GtkSettings:gtk-cursor-blink-timeout setting, +which allows more flexible control over cursor blinking. + + + + + + + Time after which the cursor stops blinking, in seconds. +The timer is reset after each user interaction. +Setting this to zero has the same effect as setting +#GtkSettings:gtk-cursor-blink to %FALSE. + + + + + + + + + + + + + + + + + + + Whether menu items should have visible accelerators which can be +activated. + + + + + + + Whether to play any event sounds at all. +See the <ulink url="http://www.freedesktop.org/wiki/Specifications/sound-theme-spec">Sound Theme spec</ulink> +for more information on event sounds and sound themes. +GTK+ itself does not support event sounds, you have to use a loadable +module like the one that comes with libcanberra. + + + + Whether to play event sounds as feedback to user input. +See the <ulink url="http://www.freedesktop.org/wiki/Specifications/sound-theme-spec">Sound Theme spec</ulink> +for more information on event sounds and sound themes. +GTK+ itself does not support event sounds, you have to use a loadable +module like the one that comes with libcanberra. + + + + Whether labels and menu items should have visible mnemonics which +can be activated. + + + + Whether tooltips should be shown on widgets. + + + + When %TRUE, keyboard navigation and other input-related errors +will cause a beep. Since the error bell is implemented using +gdk_window_beep(), the windowing system may offer ways to +configure the error bell in many ways, such as flashing the +window or similar visual effects. + + + + + + + + + + + + + + + + A list of icon sizes. The list is separated by colons, and +item has the form: +<replaceable>size-name</replaceable> = <replaceable>width</replaceable> , <replaceable>height</replaceable> +E.g. "gtk-menu=16,16:gtk-button=20,20:gtk-dialog=48,48". +gtk-button, gtk-small-toolbar, gtk-large-toolbar, gtk-dnd, +gtk-dialog. Applications can register their own named icon +sizes with gtk_icon_size_register(). + + + + + + + Which IM (input method) module should be used by default. This is the +input method that will be used if the user has not explicitly chosen +another input method from the IM context menu. +See #GtkIMContext and see the #GtkSettings:gtk-show-input-method-menu property. + + + + + + + When %TRUE, keyboard navigation should be able to reach all widgets +by using the cursor keys only. Tab, Shift etc. keys can't be expected +to be present on the used input device. + + + + When %TRUE, some widgets will wrap around when doing keyboard +navigation, such as menus, menubars and notebooks. + + + + + + + + + + A comma-separated list of print backends to use in the print +dialog. Available print backends depend on the GTK+ installation, +and may include "file", "cups", "lpr" or "papi". + + + + A command to run for displaying the print preview. The command +should contain a %f placeholder, which will get replaced by +the path to the pdf file. The command may also contain a %s +placeholder, which will get replaced by the path to a file +containing the print settings in the format produced by +gtk_print_settings_to_file(). +The preview application is responsible for removing the pdf file +and the print settings file when it is done. + + + + The number of recently used files that should be displayed by default by +#GtkRecentChooser implementations and by the #GtkFileChooser. A value of +-1 means every recently used file stored. + + + + The maximum age, in days, of the items inside the recently used +resources list. Items older than this setting will be excised +from the list. If set to 0, the list will always be empty; if +set to -1, no item will be removed. + + + + + + + + + + The XDG sound theme to use for event sounds. +See the <ulink url="http://www.freedesktop.org/wiki/Specifications/sound-theme-spec">Sound Theme spec</ulink> +for more information on event sounds and sound themes. +GTK+ itself does not support event sounds, you have to use a loadable +module like the one that comes with libcanberra. + + + + + + + + + + + + + + + + + + + + + + + + + Amount of time, in milliseconds, after which the browse mode +will be disabled. +See #GtkSettings:gtk-tooltip-browse-timeout for more information +about browse mode. + + + + Controls the time after which tooltips will appear when +browse mode is enabled, in milliseconds. +Browse mode is enabled when the mouse pointer moves off an object +where a tooltip was currently being displayed. If the mouse pointer +hits another object before the browse mode timeout expires (see +#GtkSettings:gtk-tooltip-browse-mode-timeout), it will take the +amount of milliseconds specified by this setting to popup the tooltip +for the new object. + + + + Time, in milliseconds, after which a tooltip could appear if the +cursor is hovering on top of a widget. + + + + When %TRUE, there are no motion notify events delivered on this screen, +and widgets can't use the pointer hovering them for any essential +functionality. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Create a new #GtkSizeGroup. + + a newly created #GtkSizeGroup + + + + + the mode for the new size group. + + + + + + Sets the #GtkSizeGroupMode of the size group. The mode of the size +group determines whether the widgets in the size group should +all have the same horizontal requisition (%GTK_SIZE_GROUP_MODE_HORIZONTAL) +all have the same vertical requisition (%GTK_SIZE_GROUP_MODE_VERTICAL), +or should all have the same requisition in both directions +(%GTK_SIZE_GROUP_MODE_BOTH). + + + + + + the mode to set for the size group. + + + + + + Gets the current mode of the size group. See gtk_size_group_set_mode(). + + the current mode of the size group. + + + + + Sets whether unmapped widgets should be ignored when +calculating the size. + + + + + + whether unmapped widgets should be ignored when calculating the size + + + + + + Returns if invisible widgets are ignored when calculating the size. + + %TRUE if invisible widgets are ignored. + + + + + Adds a widget to a #GtkSizeGroup. In the future, the requisition +of the widget will be determined as the maximum of its requisition +and the requisition of the other widgets in the size group. +Whether this applies horizontally, vertically, or in both directions +depends on the mode of the size group. See gtk_size_group_set_mode(). +When the widget is destroyed or no longer referenced elsewhere, it will +be removed from the size group. + + + + + + the #GtkWidget to add + + + + + + Removes a widget from a #GtkSizeGroup. + + + + + + the #GtkWidget to remove + + + + + + Returns the list of widgets associated with @size_group. +widgets. The list is owned by GTK+ and should not be modified. + + a #GSList of + + + + + + + If %TRUE, unmapped widgets are ignored when determining +the size of the group. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The mode of the size group determines the directions in which the size +group affects the requested sizes of its component widgets. + + + + + + + + + + Create a new empty #GtkSocket. + + the new #GtkSocket. + + + + + Adds an XEMBED client, such as a #GtkPlug, to the #GtkSocket. The +client may be in the same process or in a different process. +To embed a #GtkPlug in a #GtkSocket, you can either create the +#GtkPlug with <literal>gtk_plug_new (0)</literal>, call +gtk_plug_get_id() to get the window ID of the plug, and then pass that to the +gtk_socket_add_id(), or you can call gtk_socket_get_id() to get the +window ID for the socket, and call gtk_plug_new() passing in that +ID. +The #GtkSocket must have already be added into a toplevel window +before you can make this call. + + + + + + the window ID of a client participating in the XEMBED protocol. + + + + + + Gets the window ID of a #GtkSocket widget, which can then +be used to create a client embedded inside the socket, for +instance with gtk_plug_new(). +The #GtkSocket must have already be added into a toplevel window +before you can make this call. + + the window ID for the socket + + + + + Retrieves the window of the plug. Use this to check if the plug has +been created inside of the socket. + + the window of the plug if available, or %NULL + + + + + Reparents a pre-existing toplevel window into a #GtkSocket. This is +meant to embed clients that do not know about embedding into a +#GtkSocket, however doing so is inherently unreliable, and using +this function is not recommended. +The #GtkSocket must have already be added into a toplevel window +before you can make this call. + + + + + + the window ID of an existing toplevel window. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + This signal is emitted when a client is successfully +added to the socket. + + + + + + This signal is emitted when a client is removed from the socket. +The default action is to destroy the #GtkSocket widget, so if you +want to reuse it you must add a signal handler that returns %TRUE. + + %TRUE to stop other handlers from being invoked. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + This is a convenience constructor that allows creation of a numeric +#GtkSpinButton without manually creating an adjustment. The value is +initially set to the minimum value and a page increment of 10 * @step +is the default. The precision of the spin button is equivalent to the +precision of @step. +Note that the way in which the precision is derived works best if @step +is a power of ten. If the resulting precision is not suitable for your +needs, use gtk_spin_button_set_digits() to correct it. + + The new spin button as a #GtkWidget. + + + + + Minimum allowable value + + + + Maximum allowable value + + + + Increment added or subtracted by spinning the widget + + + + + + Changes the properties of an existing spin button. The adjustment, climb rate, +and number of decimal places are all changed accordingly, after this function call. + + + + + + a #GtkAdjustment. + + + + the new climb rate. + + + + the number of decimal places to display in the spin button. + + + + + + Replaces the #GtkAdjustment associated with @spin_button. + + + + + + a #GtkAdjustment to replace the existing adjustment + + + + + + Get the adjustment associated with a #GtkSpinButton + + the #GtkAdjustment of @spin_button + + + + + Set the precision to be displayed by @spin_button. Up to 20 digit precision +is allowed. + + + + + + the number of digits after the decimal point to be displayed for the spin button's value + + + + + + Fetches the precision of @spin_button. See gtk_spin_button_set_digits(). + + the current precision + + + + + Sets the step and page increments for spin_button. This affects how +quickly the value changes when the spin button's arrows are activated. + + + + + + increment applied for a button 1 press. + + + + increment applied for a button 2 press. + + + + + + Gets the current step and page the increments used by @spin_button. See +gtk_spin_button_set_increments(). + + + + + + location to store step increment, or %NULL + + + + location to store page increment, or %NULL + + + + + + Sets the minimum and maximum allowable values for @spin_button + + + + + + minimum allowable value + + + + maximum allowable value + + + + + + Gets the range allowed for @spin_button. See +gtk_spin_button_set_range(). + + + + + + location to store minimum allowed value, or %NULL + + + + location to store maximum allowed value, or %NULL + + + + + + Get the value in the @spin_button. + + the value of @spin_button + + + + + Get the value @spin_button represented as an integer. + + the value of @spin_button + + + + + Set the value of @spin_button. + + + + + + the new value + + + + + + Sets the update behavior of a spin button. This determines whether the +spin button is always updated or only when a valid value is set. + + + + + + a #GtkSpinButtonUpdatePolicy value + + + + + + Gets the update behavior of a spin button. See +gtk_spin_button_set_update_policy(). + + the current update policy + + + + + Sets the flag that determines if non-numeric text can be typed into +the spin button. + + + + + + flag indicating if only numeric entry is allowed. + + + + + + Returns whether non-numeric text can be typed into the spin button. +See gtk_spin_button_set_numeric(). + + %TRUE if only numeric text can be entered + + + + + Increment or decrement a spin button's value in a specified direction +by a specified amount. + + + + + + a #GtkSpinType indicating the direction to spin. + + + + step increment to apply in the specified direction. + + + + + + Sets the flag that determines if a spin button value wraps around to the +opposite limit when the upper or lower limit of the range is exceeded. + + + + + + a flag indicating if wrapping behavior is performed. + + + + + + Returns whether the spin button's value wraps around to the +opposite limit when the upper or lower limit of the range is +exceeded. See gtk_spin_button_set_wrap(). + + %TRUE if the spin button wraps around + + + + + Sets the policy as to whether values are corrected to the nearest step +increment when a spin button is activated after providing an invalid value. + + + + + + a flag indicating if invalid values should be corrected. + + + + + + Returns whether the values are corrected to the nearest step. See +gtk_spin_button_set_snap_to_ticks(). + + %TRUE if values are snapped to the nearest step. + + + + + Manually force an update of the spin button. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The ::output signal can be used to change to formatting +of the value that is displayed in the spin buttons entry. +|[ +/&ast; show leading zeros &ast;/ +static gboolean +on_output (GtkSpinButton *spin, +gpointer data) +{ +GtkAdjustment *adj; +gchar *text; +int value; +adj = gtk_spin_button_get_adjustment (spin); +value = (int)gtk_adjustment_get_value (adj); +text = g_strdup_printf ("%02d", value); +gtk_entry_set_text (GTK_ENTRY (spin), text); +g_free (text); +return TRUE; +} +]| + + %TRUE if the value has been displayed. + + + + + + + + + + The wrapped signal is emitted right after the spinbutton wraps +from its maximum to minimum value or vice-versa. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Returns a new spinner widget. Not yet started. + + a new #GtkSpinner + + + + + Starts the animation of the spinner. + + + + + + Stops the animation of the spinner. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Creates an empty status icon object. + + a new #GtkStatusIcon + + + + + Creates a status icon displaying @pixbuf. +The image will be scaled down to fit in the available +space in the notification area, if necessary. + + a new #GtkStatusIcon + + + + + a #GdkPixbuf + + + + + + Creates a status icon displaying the file @filename. +The image will be scaled down to fit in the available +space in the notification area, if necessary. + + a new #GtkStatusIcon + + + + + a filename + + + + + + Creates a status icon displaying a stock icon. Sample stock icon +names are #GTK_STOCK_OPEN, #GTK_STOCK_QUIT. You can register your +own stock icon names, see gtk_icon_factory_add_default() and +gtk_icon_factory_add(). + + a new #GtkStatusIcon + + + + + a stock icon id + + + + + + Creates a status icon displaying an icon from the current icon theme. +If the current icon theme is changed, the icon will be updated +appropriately. + + a new #GtkStatusIcon + + + + + an icon name + + + + + + Creates a status icon displaying a #GIcon. If the icon is a +themed icon, it will be updated when the theme changes. + + a new #GtkStatusIcon + + + + + a #GIcon + + + + + + Menu positioning function to use with gtk_menu_popup() +to position @menu aligned to the status icon @user_data. + + + + + + the #GtkMenu + + + + return location for the x position + + + + return location for the y position + + + + whether the first menu item should be offset (pushed in) to be aligned with the menu popup position (only useful for GtkOptionMenu). + + + + the status icon to position the menu on + + + + + + Makes @status_icon display @pixbuf. +See gtk_status_icon_new_from_pixbuf() for details. + + + + + + a #GdkPixbuf or %NULL + + + + + + Makes @status_icon display the file @filename. +See gtk_status_icon_new_from_file() for details. + + + + + + a filename + + + + + + Makes @status_icon display the stock icon with the id @stock_id. +See gtk_status_icon_new_from_stock() for details. + + + + + + a stock icon id + + + + + + Makes @status_icon display the icon named @icon_name from the +current icon theme. +See gtk_status_icon_new_from_icon_name() for details. + + + + + + an icon name + + + + + + Makes @status_icon display the #GIcon. +See gtk_status_icon_new_from_gicon() for details. + + + + + + a GIcon + + + + + + Gets the type of representation being used by the #GtkStatusIcon +to store image data. If the #GtkStatusIcon has no image data, +the return value will be %GTK_IMAGE_EMPTY. + + the image representation being used + + + + + Gets the #GdkPixbuf being displayed by the #GtkStatusIcon. +The storage type of the status icon must be %GTK_IMAGE_EMPTY or +%GTK_IMAGE_PIXBUF (see gtk_status_icon_get_storage_type()). +The caller of this function does not own a reference to the +returned pixbuf. + + the displayed pixbuf, or %NULL if the image is empty. + + + + + Gets the id of the stock icon being displayed by the #GtkStatusIcon. +The storage type of the status icon must be %GTK_IMAGE_EMPTY or +%GTK_IMAGE_STOCK (see gtk_status_icon_get_storage_type()). +The returned string is owned by the #GtkStatusIcon and should not +be freed or modified. +or %NULL if the image is empty. + + stock id of the displayed stock icon, + + + + + Gets the name of the icon being displayed by the #GtkStatusIcon. +The storage type of the status icon must be %GTK_IMAGE_EMPTY or +%GTK_IMAGE_ICON_NAME (see gtk_status_icon_get_storage_type()). +The returned string is owned by the #GtkStatusIcon and should not +be freed or modified. + + name of the displayed icon, or %NULL if the image is empty. + + + + + Retrieves the #GIcon being displayed by the #GtkStatusIcon. +The storage type of the status icon must be %GTK_IMAGE_EMPTY or +%GTK_IMAGE_GICON (see gtk_status_icon_get_storage_type()). +The caller of this function does not own a reference to the +returned #GIcon. +If this function fails, @icon is left unchanged; + + the displayed icon, or %NULL if the image is empty + + + + + Gets the size in pixels that is available for the image. +Stock icons and named icons adapt their size automatically +if the size of the notification area changes. For other +storage types, the size-changed signal can be used to +react to size changes. +Note that the returned size is only meaningful while the +status icon is embedded (see gtk_status_icon_is_embedded()). + + the size that is available for the image + + + + + Sets the #GdkScreen where @status_icon is displayed; if +the icon is already mapped, it will be unmapped, and +then remapped on the new screen. + + + + + + a #GdkScreen + + + + + + + + + + + Sets the tooltip of the status icon. + + + + + + the tooltip text, or %NULL + + + + + + Sets the has-tooltip property on @status_icon to @has_tooltip. +See #GtkStatusIcon:has-tooltip for more information. + + + + + + whether or not @status_icon has a tooltip + + + + + + Sets @text as the contents of the tooltip. +This function will take care of setting #GtkStatusIcon:has-tooltip to +%TRUE and of the default handler for the #GtkStatusIcon::query-tooltip +signal. +See also the #GtkStatusIcon:tooltip-text property and +gtk_tooltip_set_text(). + + + + + + the contents of the tooltip for @status_icon + + + + + + Sets @markup as the contents of the tooltip, which is marked up with +the <link linkend="PangoMarkupFormat">Pango text markup language</link>. +This function will take care of setting #GtkStatusIcon:has-tooltip to %TRUE +and of the default handler for the #GtkStatusIcon::query-tooltip signal. +See also the #GtkStatusIcon:tooltip-markup property and +gtk_tooltip_set_markup(). + + + + + + the contents of the tooltip for @status_icon, or %NULL + + + + + + Sets the title of this tray icon. +This should be a short, human-readable, localized string +describing the tray icon. It may be used by tools like screen +readers to render the tray icon. + + + + + + the title + + + + + + Gets the title of this tray icon. See gtk_status_icon_set_title(). + + the title of the status icon + + + + + Sets the name of this tray icon. +This should be a string identifying this icon. It is may be +used for sorting the icons in the tray and will not be shown to +the user. + + + + + + the name + + + + + + Shows or hides a status icon. + + + + + + %TRUE to show the status icon, %FALSE to hide it + + + + + + Returns whether the status icon is visible or not. +Note that being visible does not guarantee that +the user can actually see the icon, see also +gtk_status_icon_is_embedded(). + + %TRUE if the status icon is visible + + + + + Makes the status icon start or stop blinking. +Note that blinking user interface elements may be problematic +for some users, and thus may be turned off, in which case +this setting has no effect. + + + + + + %TRUE to turn blinking on, %FALSE to turn it off + + + + + + Returns whether the icon is blinking, see +gtk_status_icon_set_blinking(). + + %TRUE if the icon is blinking + + + + + Returns whether the status icon is embedded in a notification +area. +a notification area. + + %TRUE if the status icon is embedded in + + + + + Obtains information about the location of the status icon +on screen. This information can be used to e.g. position +popups like notification bubbles. +See gtk_status_icon_position_menu() for a more convenient +alternative for positioning menus. +Note that some platforms do not allow GTK+ to provide +this information, and even on platforms that do allow it, +the information is not reliable unless the status icon +is embedded in a notification area, see +gtk_status_icon_is_embedded(). +been filled in + + %TRUE if the location information has + + + + + return location for the screen, or %NULL if the information is not needed + + + + return location for the area occupied by the status icon, or %NULL + + + + return location for the orientation of the panel in which the status icon is embedded, or %NULL. A panel at the top or bottom of the screen is horizontal, a panel at the left or right is vertical. + + + + + + Returns the current value of the has-tooltip property. +See #GtkStatusIcon:has-tooltip for more information. + + current value of has-tooltip on @status_icon. + + + + + Gets the contents of the tooltip for @status_icon. +returned string with g_free() when done. + + the tooltip text, or %NULL. You should free the + + + + + Gets the contents of the tooltip for @status_icon. +returned string with g_free() when done. + + the tooltip text, or %NULL. You should free the + + + + + This function is only useful on the X11/freedesktop.org platform. +It returns a window ID for the widget in the underlying +status icon implementation. This is useful for the Galago +notification service, which can send a window ID in the protocol +in order for the server to position notification windows +pointing to a status icon reliably. +This function is not intended for other use cases which are +more likely to be met by one of the non-X11 specific methods, such +as gtk_status_icon_position_menu(). +underlying X11 Window + + An 32 bit unsigned integer identifier for the + + + + + + + + %TRUE if the statusicon is embedded in a notification area. + + + + + + + The #GIcon displayed in the #GtkStatusIcon. For themed icons, +the image will be updated automatically if the theme changes. + + + + Enables or disables the emission of #GtkStatusIcon::query-tooltip on +tooltip, in this case the status icon will be queried using +#GtkStatusIcon::query-tooltip to determine whether it will provide a +tooltip or not. +Note that setting this property to %TRUE for the first time will change +the event masks of the windows of this status icon to include leave-notify +and motion-notify events. This will not be undone when the property is set +to %FALSE again. +Whether this property is respected is platform dependent. +For plain text tooltips, use #GtkStatusIcon:tooltip-text in preference. + + + + + + + The orientation of the tray in which the statusicon +is embedded. + + + + + + + + + + + + + + + + + + + The title of this tray icon. This should be a short, human-readable, +localized string describing the tray icon. It may be used by tools +like screen readers to render the tray icon. + + + + Sets the text of tooltip to be the given string, which is marked up +with the <link linkend="PangoMarkupFormat">Pango text markup +language</link>. Also see gtk_tooltip_set_markup(). +This is a convenience property which will take care of getting the +tooltip shown if the given string is not %NULL. +#GtkStatusIcon:has-tooltip will automatically be set to %TRUE and +the default handler for the #GtkStatusIcon::query-tooltip signal +will take care of displaying the tooltip. +On some platforms, embedded markup will be ignored. + + + + Sets the text of tooltip to be the given string. +Also see gtk_tooltip_set_text(). +This is a convenience property which will take care of getting the +tooltip shown if the given string is not %NULL. +#GtkStatusIcon:has-tooltip will automatically be set to %TRUE and +the default handler for the #GtkStatusIcon::query-tooltip signal +will take care of displaying the tooltip. +Note that some platforms have limitations on the length of tooltips +that they allow on status icons, e.g. Windows only shows the first +64 characters. + + + + + + + + + + + + + Gets emitted when the user activates the status icon. +If and how status icons can activated is platform-dependent. +Unlike most G_SIGNAL_ACTION signals, this signal is meant to +be used by applications and should be wrapped by language bindings. + + + + + + The ::button-press-event signal will be emitted when a button +(typically from a mouse) is pressed. +Whether this event is emitted is platform-dependent. Use the ::activate +and ::popup-menu signals in preference. +for the event. %FALSE to propagate the event further. + + %TRUE to stop other handlers from being invoked + + + + + the #GdkEventButton which triggered this signal + + + + + + The ::button-release-event signal will be emitted when a button +(typically from a mouse) is released. +Whether this event is emitted is platform-dependent. Use the ::activate +and ::popup-menu signals in preference. +for the event. %FALSE to propagate the event further. + + %TRUE to stop other handlers from being invoked + + + + + the #GdkEventButton which triggered this signal + + + + + + Gets emitted when the user brings up the context menu +of the status icon. Whether status icons can have context +menus and how these are activated is platform-dependent. +The @button and @activate_time parameters should be +passed as the last to arguments to gtk_menu_popup(). +Unlike most G_SIGNAL_ACTION signals, this signal is meant to +be used by applications and should be wrapped by language bindings. + + + + + + the button that was pressed, or 0 if the signal is not emitted in response to a button press event + + + + the timestamp of the event that triggered the signal emission + + + + + + Emitted when the #GtkSettings:gtk-tooltip-timeout has expired with the +cursor hovering above @status_icon; or emitted when @status_icon got +focus in keyboard mode. +Using the given coordinates, the signal handler should determine +whether a tooltip should be shown for @status_icon. If this is +the case %TRUE should be returned, %FALSE otherwise. Note that if +should not be used. +The signal handler is free to manipulate @tooltip with the therefore +destined function calls. +Whether this signal is emitted is platform-dependent. +For plain text tooltips, use #GtkStatusIcon:tooltip-text in preference. + + %TRUE if @tooltip should be shown right now, %FALSE otherwise. + + + + + the x coordinate of the cursor position where the request has been emitted, relative to @status_icon + + + + the y coordinate of the cursor position where the request has been emitted, relative to @status_icon + + + + %TRUE if the tooltip was trigged using the keyboard + + + + a #GtkTooltip + + + + + + The ::scroll-event signal is emitted when a button in the 4 to 7 +range is pressed. Wheel mice are usually configured to generate +button press events for buttons 4 and 5 when the wheel is turned. +Whether this event is emitted is platform-dependent. +%FALSE to propagate the event further. + + %TRUE to stop other handlers from being invoked for the event. + + + + + the #GdkEventScroll which triggered this signal + + + + + + Gets emitted when the size available for the image +changes, e.g. because the notification area got resized. +size. Otherwise, GTK+ will scale the icon as necessary. + + %TRUE if the icon was updated for the new + + + + + the new size + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Creates a new #GtkStatusbar ready for messages. + + the new #GtkStatusbar + + + + + Returns a new context identifier, given a description +of the actual context. Note that the description is +<emphasis>not</emphasis> shown in the UI. + + an integer id + + + + + textual description of what context the new message is being used in + + + + + + Pushes a new message onto a statusbar's stack. +gtk_statusbar_remove(). + + a message id that can be used with + + + + + the message's context id, as returned by gtk_statusbar_get_context_id() + + + + the message to add to the statusbar + + + + + + Removes the first message in the #GtkStatusBar's stack +with the given context id. +Note that this may not change the displayed message, if +the message at the top of the stack has a different +context id. + + + + + + a context identifier + + + + + + Forces the removal of a message from a statusbar's stack. +The exact @context_id and @message_id must be specified. + + + + + + a context identifier + + + + a message identifier, as returned by gtk_statusbar_push() + + + + + + Sets whether the statusbar has a resize grip. +%TRUE by default. + + + + + + %TRUE to have a resize grip + + + + + + Returns whether the statusbar has a resize grip. + + %TRUE if the statusbar has a resize grip. + + + + + Retrieves the box containing the label widget. + + a #GtkBox + + + + + Whether the statusbar has a grip for resizing the toplevel window. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Is emitted whenever a new message is popped off a statusbar's stack. + + + + + + the context id of the relevant message/statusbar. + + + + the message that was just popped. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Copies a stock item, mostly useful for language bindings and not in applications. + + a new #GtkStockItem + + + + + Frees a stock item allocated on the heap, such as one returned by +gtk_stock_item_copy(). Also frees the fields inside the stock item, +if they are not %NULL. + + + + + + + + Creates a new #GtkStyle. + + a new #GtkStyle. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Sets the background of @window to the background color or pixmap +specified by @style for the given state. + + + + + + a #GdkWindow + + + + a state + + + + + + Renders the icon specified by @source at the given @size +according to the given parameters and returns the result in a +pixbuf. + + a newly-created #GdkPixbuf containing the rendered icon + + + + + the #GtkIconSource specifying the icon to render + + + + a text direction + + + + a state + + + + (type int) the size to render the icon at. A size of (GtkIconSize)-1 means render at the size of the source and don't scale. + + + + the widget + + + + a style detail + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Creates a copy of the passed in #GtkStyle object. + + a copy of @style + + + + + Attaches a style to a window; this process allocates the +colors and creates the GC's for the style - it specializes +it to a particular visual and colormap. The process may +involve the creation of a new style if the style has already +been attached to a window with a different style and colormap. +Since this function may return a new object, you have to use it +<literal>style = gtk_style_attach (style, window)</literal> +If the style is newly created, the style parameter +will be unref'ed, and the new style will have +a reference count belonging to the caller. + + Either @style, or a newly-created #GtkStyle. + + + + + a #GdkWindow. + + + + + + Detaches a style from a window. If the style is not attached +to any windows anymore, it is unrealized. See gtk_style_attach(). + + + + + + Increase the reference count of @style. + + @style. + + + + + Decrease the reference count of @style. + + + + + + Gets the #GdkFont to use for the given style. This is +meant only as a replacement for direct access to @style->font +and should not be used in new code. New code should +use @style->font_desc instead. +by the style; if you want to keep around a copy, you must +call gdk_font_ref(). + + the #GdkFont for the style. This font is owned + + + + + Sets the #GdkFont to use for a given style. This is +meant only as a replacement for direct access to style->font +and should not be used in new code. New code should +use style->font_desc instead. + + + + + + a #GdkFont, or %NULL to use the #GdkFont corresponding to style->font_desc. + + + + + + Sets the background of @window to the background color or pixmap +specified by @style for the given state. + + + + + + a #GdkWindow + + + + a state + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Looks up @stock_id in the icon factories associated with @style +and the default icon factory, returning an icon set if found, +otherwise %NULL. + + icon set of @stock_id + + + + + an icon name + + + + + + Looks up @color_name in the style's logical color mappings, +filling in @color and returning %TRUE if found, otherwise +returning %FALSE. Do not cache the found mapping, because +it depends on the #GtkStyle and might change when a theme +switch occurs. + + %TRUE if the mapping was found. + + + + + the name of the logical color to look up + + + + the #GdkColor to fill in + + + + + + Renders the icon specified by @source at the given @size +according to the given parameters and returns the result in a +pixbuf. + + a newly-created #GdkPixbuf containing the rendered icon + + + + + the #GtkIconSource specifying the icon to render + + + + a text direction + + + + a state + + + + (type int) the size to render the icon at. A size of (GtkIconSize)-1 means render at the size of the source and don't scale. + + + + the widget + + + + a style detail + + + + + + Queries the value of a style property corresponding to a +widget class is in the given style. + + + + + + the #GType of a descendant of #GtkWidget + + + + the name of the style property to get + + + + a #GValue where the value of the property being queried will be stored + + + + + + Gets the values of a multiple style properties for @widget_type +from @style. + + + + + + the #GType of a descendant of #GtkWidget + + + + the name of the first style property to get + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Emitted when the style has been initialized for a particular +colormap and depth. Connecting to this signal is probably seldom +useful since most of the time applications and widgets only +deal with styles that have been already realized. + + + + + + Emitted when the aspects of the style specific to a particular colormap +and depth are being cleaned up. A connection to this signal can be useful +if a widget wants to cache objects like a #GdkGC as object data on #GtkStyle. +This signal provides a convenient place to free such cached objects. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + a #GdkWindow + + + + a state + + + + + + + + + a newly-created #GdkPixbuf containing the rendered icon + + + + + + + + the #GtkIconSource specifying the icon to render + + + + a text direction + + + + a state + + + + (type int) the size to render the icon at. A size of (GtkIconSize)-1 means render at the size of the source and don't scale. + + + + the widget + + + + a style detail + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Gets the amount of space between row @row, and +row @row + 1. See gtk_table_set_row_spacing(). + + the row spacing + + + + + a row in the table, 0 indicates the first row + + + + + + + + + + + + + + + + + + + Gets the amount of space between column @col, and +column @col + 1. See gtk_table_set_col_spacing(). + + the column spacing + + + + + a column in the table, 0 indicates the first column + + + + + + + + + + + + + + + + Gets the default row spacing for the table. This is +the spacing that will be used for newly added rows. +(See gtk_table_set_row_spacings()) + + the default row spacing + + + + + + + + + + + + + + + Gets the default column spacing for the table. This is +the spacing that will be used for newly added columns. +(See gtk_table_set_col_spacings()) + + the default column spacing + + + + + + + + + + + + + + + Returns whether the table cells are all constrained to the same +width and height. (See gtk_table_set_homogenous ()) + + %TRUE if the cells are all constrained to the same size + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Creates a new #GtkTargetList from an array of #GtkTargetEntry. + + the new #GtkTargetList. + + + + + Pointer to an array of #GtkTargetEntry + + + + number of entries in @targets. + + + + + + Increases the reference count of a #GtkTargetList by one. + + the passed in #GtkTargetList. + + + + + Decreases the reference count of a #GtkTargetList by one. +If the resulting reference count is zero, frees the list. + + + + + + Appends another target to a #GtkTargetList. + + + + + + the interned atom representing the target + + + + the flags for this target + + + + an ID that will be passed back to the application + + + + + + Appends the text targets supported by #GtkSelection to +the target list. All targets are added with the same @info. + + + + + + an ID that will be passed back to the application + + + + + + Appends the rich text targets registered with +gtk_text_buffer_register_serialize_format() or +gtk_text_buffer_register_deserialize_format() to the target list. All +targets are added with the same @info. + + + + + + an ID that will be passed back to the application + + + + if %TRUE, then deserializable rich text formats will be added, serializable formats otherwise. + + + + a #GtkTextBuffer. + + + + + + Appends the image targets supported by #GtkSelection to +the target list. All targets are added with the same @info. + + + + + + an ID that will be passed back to the application + + + + whether to add only targets for which GTK+ knows how to convert a pixbuf into the format + + + + + + Appends the URI targets supported by #GtkSelection to +the target list. All targets are added with the same @info. + + + + + + an ID that will be passed back to the application + + + + + + Prepends a table of #GtkTargetEntry to a target list. + + + + + + the table of #GtkTargetEntry + + + + number of targets in the table + + + + + + Removes a target from a target list. + + + + + + the interned atom representing the target + + + + + + Looks up a given target in a #GtkTargetList. + + %TRUE if the target was found, otherwise %FALSE + + + + + an interned atom representing the target to search for + + + + a pointer to the location to store application info for target, or %NULL + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Creates a #GtkTextAttributes, which describes +a set of properties on some text. + + a new #GtkTextAttributes + + + + + Copies @src and returns a new #GtkTextAttributes. + + a copy of @src + + + + + Copies the values from @src to @dest so that @dest has the same values +as @src. Frees existing values in @dest. + + + + + + another #GtkTextAttributes + + + + + + Decrements the reference count on @values, freeing the structure +if the reference count reaches 0. + + + + + + Increments the reference count on @values. + + the #GtkTextAttributes that were passed in + + + + + + + + + Creates a new text buffer. + + a new text buffer + + + + + a tag table, or %NULL to create a new one + + + + + + Obtains the number of lines in the buffer. This value is cached, so +the function is very fast. + + number of lines in the buffer + + + + + Gets the number of characters in the buffer; note that characters +and bytes are not the same, you can't e.g. expect the contents of +the buffer in string form to be this many bytes long. The character +count is cached, so this function is very fast. + + number of characters in the buffer + + + + + Get the #GtkTextTagTable associated with this buffer. + + the buffer's tag table + + + + + Deletes current contents of @buffer, and inserts @text instead. If + + + + + + UTF-8 text to insert + + + + length of @text in bytes + + + + + + Inserts @len bytes of @text at position @iter. If @len is -1, +entirety. Emits the "insert-text" signal; insertion actually occurs +in the default handler for the signal. @iter is invalidated when +insertion occurs (because the buffer contents change), but the +default signal handler revalidates it to point to the end of the +inserted text. + + + + + + a position in the buffer + + + + UTF-8 format text to insert + + + + length of text in bytes, or -1 + + + + + + Simply calls gtk_text_buffer_insert(), using the current +cursor position as the insertion point. + + + + + + some text in UTF-8 format + + + + length of text, in bytes + + + + + + Like gtk_text_buffer_insert(), but the insertion will not occur if +want to prevent insertions at ineditable locations if the insertion +results from a user action (is interactive). +have a tag affecting editability applied to it. Typically the +result of gtk_text_view_get_editable() is appropriate here. + + whether text was actually inserted + + + + + a position in @buffer + + + + some UTF-8 text + + + + length of text in bytes, or -1 + + + + default editability of buffer + + + + + + Calls gtk_text_buffer_insert_interactive() at the cursor +position. +have a tag affecting editability applied to it. Typically the +result of gtk_text_view_get_editable() is appropriate here. + + whether text was actually inserted + + + + + text in UTF-8 format + + + + length of text in bytes, or -1 + + + + default editability of buffer + + + + + + Copies text, tags, and pixbufs between @start and @end (the order +of @start and @end doesn't matter) and inserts the copy at @iter. +Used instead of simply getting/inserting text because it preserves +images and tags. If @start and @end are in a different buffer from +Implemented via emissions of the insert_text and apply_tag signals, +so expect those. + + + + + + a position in @buffer + + + + a position in a #GtkTextBuffer + + + + another position in the same buffer as @start + + + + + + Same as gtk_text_buffer_insert_range(), but does nothing if the +insertion point isn't editable. The @default_editable parameter +indicates whether the text is editable at @iter if no tags +enclosing @iter affect editability. Typically the result of +gtk_text_view_get_editable() is appropriate here. + + whether an insertion was possible at @iter + + + + + a position in @buffer + + + + a position in a #GtkTextBuffer + + + + another position in the same buffer as @start + + + + default editability of the buffer + + + + + + Inserts @text into @buffer at @iter, applying the list of tags to +the newly-inserted text. The last tag specified must be NULL to +terminate the list. Equivalent to calling gtk_text_buffer_insert(), +then gtk_text_buffer_apply_tag() on the inserted text; +gtk_text_buffer_insert_with_tags() is just a convenience function. + + + + + + an iterator in @buffer + + + + UTF-8 text + + + + length of @text, or -1 + + + + first tag to apply to @text + + + + + + + + + + Same as gtk_text_buffer_insert_with_tags(), but allows you +to pass in tag names instead of tag objects. + + + + + + position in @buffer + + + + UTF-8 text + + + + length of @text, or -1 + + + + name of a tag to apply to @text + + + + + + + + + + Deletes text between @start and @end. The order of @start and @end +is not actually relevant; gtk_text_buffer_delete() will reorder +them. This function actually emits the "delete-range" signal, and +the default handler of that signal deletes the text. Because the +buffer is modified, all outstanding iterators become invalid after +calling this function; however, the @start and @end will be +re-initialized to point to the location where text was deleted. + + + + + + a position in @buffer + + + + another position in @buffer + + + + + + Deletes all <emphasis>editable</emphasis> text in the given range. +Calls gtk_text_buffer_delete() for each editable sub-range of +[@start,@end). @start and @end are revalidated to point to +the location of the last deleted range, or left untouched if +no text was deleted. + + whether some text was actually deleted + + + + + start of range to delete + + + + end of range + + + + whether the buffer is editable by default + + + + + + Performs the appropriate action as if the user hit the delete +key with the cursor at the position specified by @iter. In the +normal case a single character will be deleted, but when +combining accents are involved, more than one character can +be deleted, and when precomposed character and accent combinations +are involved, less than one character will be deleted. +Because the buffer is modified, all outstanding iterators become +invalid after calling this function; however, the @iter will be +re-initialized to point to the location where text was deleted. + + %TRUE if the buffer was modified + + + + + a position in @buffer + + + + whether the deletion is caused by user interaction + + + + whether the buffer is editable by default + + + + + + Returns the text in the range [@start,@end). Excludes undisplayed +text (text marked with tags that set the invisibility attribute) if +representing embedded images, so byte and character indexes into +the returned string do <emphasis>not</emphasis> correspond to byte +and character indexes into the buffer. Contrast with +gtk_text_buffer_get_slice(). + + an allocated UTF-8 string + + + + + start of a range + + + + end of a range + + + + whether to include invisible text + + + + + + Returns the text in the range [@start,@end). Excludes undisplayed +text (text marked with tags that set the invisibility attribute) if +0xFFFC character whenever the buffer contains +embedded images, so byte and character indexes into +the returned string <emphasis>do</emphasis> correspond to byte +and character indexes into the buffer. Contrast with +gtk_text_buffer_get_text(). Note that 0xFFFC can occur in normal +text as well, so it is not a reliable indicator that a pixbuf or +widget is in the buffer. + + an allocated UTF-8 string + + + + + start of a range + + + + end of a range + + + + whether to include invisible text + + + + + + Inserts an image into the text buffer at @iter. The image will be +counted as one character in character counts, and when obtaining +the buffer contents as a string, will be represented by the Unicode +"object replacement character" 0xFFFC. Note that the "slice" +variants for obtaining portions of the buffer as a string include +this character for pixbufs, but the "text" variants do +not. e.g. see gtk_text_buffer_get_slice() and +gtk_text_buffer_get_text(). + + + + + + location to insert the pixbuf + + + + a #GdkPixbuf + + + + + + Inserts a child widget anchor into the text buffer at @iter. The +anchor will be counted as one character in character counts, and +when obtaining the buffer contents as a string, will be represented +by the Unicode "object replacement character" 0xFFFC. Note that the +"slice" variants for obtaining portions of the buffer as a string +include this character for child anchors, but the "text" variants do +not. E.g. see gtk_text_buffer_get_slice() and +gtk_text_buffer_get_text(). Consider +gtk_text_buffer_create_child_anchor() as a more convenient +alternative to this function. The buffer will add a reference to +the anchor, so you can unref it after insertion. + + + + + + location to insert the anchor + + + + a #GtkTextChildAnchor + + + + + + This is a convenience function which simply creates a child anchor +with gtk_text_child_anchor_new() and inserts it into the buffer +with gtk_text_buffer_insert_child_anchor(). The new anchor is +owned by the buffer; no reference count is returned to +the caller of gtk_text_buffer_create_child_anchor(). + + the created child anchor + + + + + location in the buffer + + + + + + Adds the mark at position @where. The mark must not be added to +another buffer, and if its name is not %NULL then there must not +be another mark in the buffer with the same name. +Emits the "mark-set" signal as notification of the mark's initial +placement. + + + + + + the mark to add + + + + location to place mark + + + + + + Creates a mark at position @where. If @mark_name is %NULL, the mark +is anonymous; otherwise, the mark can be retrieved by name using +gtk_text_buffer_get_mark(). If a mark has left gravity, and text is +inserted at the mark's current location, the mark will be moved to +the left of the newly-inserted text. If the mark has right gravity +(@left_gravity = %FALSE), the mark will end up on the right of +newly-inserted text. The standard left-to-right cursor is a mark +with right gravity (when you type, the cursor stays on the right +side of the text you're typing). +The caller of this function does <emphasis>not</emphasis> own a +reference to the returned #GtkTextMark, so you can ignore the +return value if you like. Marks are owned by the buffer and go +away when the buffer does. +Emits the "mark-set" signal as notification of the mark's initial +placement. + + the new #GtkTextMark object + + + + + name for mark, or %NULL + + + + location to place mark + + + + whether the mark has left gravity + + + + + + Moves @mark to the new location @where. Emits the "mark-set" signal +as notification of the move. + + + + + + a #GtkTextMark + + + + new location for @mark in @buffer + + + + + + Deletes @mark, so that it's no longer located anywhere in the +buffer. Removes the reference the buffer holds to the mark, so if +you haven't called g_object_ref() on the mark, it will be freed. Even +if the mark isn't freed, most operations on @mark become +invalid, until it gets added to a buffer again with +gtk_text_buffer_add_mark(). Use gtk_text_mark_get_deleted() to +find out if a mark has been removed from its buffer. +The "mark-deleted" signal will be emitted as notification after +the mark is deleted. + + + + + + a #GtkTextMark in @buffer + + + + + + Returns the mark named @name in buffer @buffer, or %NULL if no such +mark exists in the buffer. + + a #GtkTextMark, or %NULL + + + + + a mark name + + + + + + Moves the mark named @name (which must exist) to location @where. +See gtk_text_buffer_move_mark() for details. + + + + + + name of a mark + + + + new location for mark + + + + + + Deletes the mark named @name; the mark must exist. See +gtk_text_buffer_delete_mark() for details. + + + + + + name of a mark in @buffer + + + + + + Returns the mark that represents the cursor (insertion point). +Equivalent to calling gtk_text_buffer_get_mark() to get the mark +named "insert", but very slightly more efficient, and involves less +typing. + + insertion point mark + + + + + Returns the mark that represents the selection bound. Equivalent +to calling gtk_text_buffer_get_mark() to get the mark named +"selection_bound", but very slightly more efficient, and involves +less typing. +The currently-selected text in @buffer is the region between the +"selection_bound" and "insert" marks. If "selection_bound" and +"insert" are in the same place, then there is no current selection. +gtk_text_buffer_get_selection_bounds() is another convenient function +for handling the selection, if you just want to know whether there's a +selection and what its bounds are. + + selection bound mark + + + + + This function moves the "insert" and "selection_bound" marks +simultaneously. If you move them to the same place in two steps +with gtk_text_buffer_move_mark(), you will temporarily select a +region in between their old and new locations, which can be pretty +inefficient since the temporarily-selected region will force stuff +to be recalculated. This function moves them as a unit, which can +be optimized. + + + + + + where to put the cursor + + + + + + This function moves the "insert" and "selection_bound" marks +simultaneously. If you move them in two steps +with gtk_text_buffer_move_mark(), you will temporarily select a +region in between their old and new locations, which can be pretty +inefficient since the temporarily-selected region will force stuff +to be recalculated. This function moves them as a unit, which can +be optimized. + + + + + + where to put the "insert" mark + + + + where to put the "selection_bound" mark + + + + + + Emits the "apply-tag" signal on @buffer. The default +handler for the signal applies @tag to the given range. + + + + + + a #GtkTextTag + + + + one bound of range to be tagged + + + + other bound of range to be tagged + + + + + + Emits the "remove-tag" signal. The default handler for the signal +removes all occurrences of @tag from the given range. @start and + + + + + + a #GtkTextTag + + + + one bound of range to be untagged + + + + other bound of range to be untagged + + + + + + Calls gtk_text_tag_table_lookup() on the buffer's tag table to +get a #GtkTextTag, then calls gtk_text_buffer_apply_tag(). + + + + + + name of a named #GtkTextTag + + + + one bound of range to be tagged + + + + other bound of range to be tagged + + + + + + Calls gtk_text_tag_table_lookup() on the buffer's tag table to +get a #GtkTextTag, then calls gtk_text_buffer_remove_tag(). + + + + + + name of a #GtkTextTag + + + + one bound of range to be untagged + + + + other bound of range to be untagged + + + + + + Removes all tags in the range between @start and @end. Be careful +with this function; it could remove tags added in code unrelated to +the code you're currently writing. That is, using this function is +probably a bad idea if you have two or more unrelated code sections +that add tags. + + + + + + one bound of range to be untagged + + + + other bound of range to be untagged + + + + + + Creates a tag and adds it to the tag table for @buffer. +Equivalent to calling gtk_text_tag_new() and then adding the +tag to the buffer's tag table. The returned tag is owned by +the buffer's tag table, so the ref count will be equal to one. +If @tag_name is %NULL, the tag is anonymous. +If @tag_name is non-%NULL, a tag called @tag_name must not already +exist in the tag table for this buffer. +The @first_property_name argument and subsequent arguments are a list +of properties to set on the tag, as with g_object_set(). + + a new tag + + + + + name of the new tag, or %NULL + + + + name of first property to set, or %NULL + + + + + + + + + + Obtains an iterator pointing to @char_offset within the given +line. The @char_offset must exist, offsets off the end of the line +are not allowed. Note <emphasis>characters</emphasis>, not bytes; +UTF-8 may encode one character as multiple bytes. + + + + + + iterator to initialize + + + + line number counting from 0 + + + + char offset from start of line + + + + + + Obtains an iterator pointing to @byte_index within the given line. +beyond the end of the line. Note <emphasis>bytes</emphasis>, not +characters; UTF-8 may encode one character as multiple bytes. + + + + + + iterator to initialize + + + + line number counting from 0 + + + + byte index from start of line + + + + + + Initializes @iter to a position @char_offset chars from the start +of the entire buffer. If @char_offset is -1 or greater than the number +of characters in the buffer, @iter is initialized to the end iterator, +the iterator one past the last valid character in the buffer. + + + + + + iterator to initialize + + + + char offset from start of buffer, counting from 0, or -1 + + + + + + Initializes @iter to the start of the given line. + + + + + + iterator to initialize + + + + line number counting from 0 + + + + + + Initialized @iter with the first position in the text buffer. This +is the same as using gtk_text_buffer_get_iter_at_offset() to get +the iter at character offset 0. + + + + + + iterator to initialize + + + + + + Initializes @iter with the "end iterator," one past the last valid +character in the text buffer. If dereferenced with +gtk_text_iter_get_char(), the end iterator has a character value of +0. The entire buffer lies in the range from the first position in +the buffer (call gtk_text_buffer_get_start_iter() to get +character position 0) to the end iterator. + + + + + + iterator to initialize + + + + + + Retrieves the first and last iterators in the buffer, i.e. the +entire buffer lies within the range [@start,@end). + + + + + + iterator to initialize with first position in the buffer + + + + iterator to initialize with the end iterator + + + + + + Initializes @iter with the current position of @mark. + + + + + + iterator to initialize + + + + a #GtkTextMark in @buffer + + + + + + Obtains the location of @anchor within @buffer. + + + + + + an iterator to be initialized + + + + a child anchor that appears in @buffer + + + + + + Indicates whether the buffer has been modified since the last call +to gtk_text_buffer_set_modified() set the modification flag to +%FALSE. Used for example to enable a "save" function in a text +editor. + + %TRUE if the buffer has been modified + + + + + Used to keep track of whether the buffer has been modified since the +last time it was saved. Whenever the buffer is saved to disk, call +gtk_text_buffer_set_modified (@buffer, FALSE). When the buffer is modified, +it will automatically toggled on the modified bit again. When the modified +bit flips, the buffer emits a "modified-changed" signal. + + + + + + modification flag setting + + + + + + Indicates whether the buffer has some text currently selected. + + %TRUE if the there is text selected + + + + + Adds @clipboard to the list of clipboards in which the selection +contents of @buffer are available. In most cases, @clipboard will be +the #GtkClipboard of type %GDK_SELECTION_PRIMARY for a view of @buffer. + + + + + + a #GtkClipboard + + + + + + Removes a #GtkClipboard added with +gtk_text_buffer_add_selection_clipboard(). + + + + + + a #GtkClipboard added to @buffer by gtk_text_buffer_add_selection_clipboard() + + + + + + Copies the currently-selected text to a clipboard, then deletes +said text if it's editable. + + + + + + the #GtkClipboard object to cut to + + + + default editability of the buffer + + + + + + Copies the currently-selected text to a clipboard. + + + + + + the #GtkClipboard object to copy to + + + + + + Pastes the contents of a clipboard at the insertion point, or at +ask for the paste data and return, and at some point later after +the main loop runs, the paste data will be inserted.) + + + + + + the #GtkClipboard to paste from + + + + location to insert pasted text, or %NULL for at the cursor + + + + whether the buffer is editable by default + + + + + + Returns %TRUE if some text is selected; places the bounds +of the selection in @start and @end (if the selection has length 0, +then @start and @end are filled in with the same value). +NULL, then they are not filled in, but the return value still indicates +whether text is selected. + + whether the selection has nonzero length + + + + + iterator to initialize with selection start + + + + iterator to initialize with selection end + + + + + + Deletes the range between the "insert" and "selection_bound" marks, +that is, the currently-selected text. If @interactive is %TRUE, +the editability of the selection will be considered (users can't delete +uneditable text). + + whether there was a non-empty selection to delete + + + + + whether the deletion is caused by user interaction + + + + whether the buffer is editable by default + + + + + + Called to indicate that the buffer operations between here and a +call to gtk_text_buffer_end_user_action() are part of a single +user-visible operation. The operations between +gtk_text_buffer_begin_user_action() and +gtk_text_buffer_end_user_action() can then be grouped when creating +an undo stack. #GtkTextBuffer maintains a count of calls to +gtk_text_buffer_begin_user_action() that have not been closed with +a call to gtk_text_buffer_end_user_action(), and emits the +"begin-user-action" and "end-user-action" signals only for the +outermost pair of calls. This allows you to build user actions +from other user actions. +The "interactive" buffer mutation functions, such as +gtk_text_buffer_insert_interactive(), automatically call begin/end +user action around the buffer operations they perform, so there's +no need to add extra calls if you user action consists solely of a +single call to one of those functions. + + + + + + Should be paired with a call to gtk_text_buffer_begin_user_action(). +See that function for a full explanation. + + + + + + This function returns the list of targets this text buffer can +provide for copying and as DND source. The targets in the list are +added with %info values from the #GtkTextBufferTargetInfo enum, +using gtk_target_list_add_rich_text_targets() and +gtk_target_list_add_text_targets(). + + the #GtkTargetList + + + + + This function returns the list of targets this text buffer supports +for pasting and as DND destination. The targets in the list are +added with %info values from the #GtkTextBufferTargetInfo enum, +using gtk_target_list_add_rich_text_targets() and +gtk_target_list_add_text_targets(). + + the #GtkTargetList + + + + + This function registers a rich text serialization @function along with +its @mime_type with the passed @buffer. +format's mime-type. + + the #GdkAtom that corresponds to the newly registered + + + + + the format's mime-type + + + + the serialize function to register + + + + %function's user_data + + + + a function to call when @user_data is no longer needed + + + + + + This function registers GTK+'s internal rich text serialization +format with the passed @buffer. The internal format does not comply +to any standard rich text format and only works between #GtkTextBuffer +instances. It is capable of serializing all of a text buffer's tags +and embedded pixbufs. +This function is just a wrapper around +gtk_text_buffer_register_serialize_format(). The mime type used +for registering is "application/x-gtk-text-buffer-rich-text", or +"application/x-gtk-text-buffer-rich-text;format=@tagset_name" if a +The @tagset_name can be used to restrict the transfer of rich text +to buffers with compatible sets of tags, in order to avoid unknown +tags from being pasted. It is probably the common case to pass an +identifier != %NULL here, since the %NULL tagset requires the +receiving buffer to deal with with pasting of arbitrary tags. +format's mime-type. + + the #GdkAtom that corresponds to the newly registered + + + + + an optional tagset name, on %NULL + + + + + + This function registers a rich text deserialization @function along with +its @mime_type with the passed @buffer. +format's mime-type. + + the #GdkAtom that corresponds to the newly registered + + + + + the format's mime-type + + + + the deserialize function to register + + + + @function's user_data + + + + a function to call when @user_data is no longer needed + + + + + + This function registers GTK+'s internal rich text serialization +format with the passed @buffer. See +gtk_text_buffer_register_serialize_tagset() for details. +format's mime-type. + + the #GdkAtom that corresponds to the newly registered + + + + + an optional tagset name, on %NULL + + + + + + This function unregisters a rich text format that was previously +registered using gtk_text_buffer_register_serialize_format() or +gtk_text_buffer_register_serialize_tagset() + + + + + + a #GdkAtom representing a registered rich text format. + + + + + + This function unregisters a rich text format that was previously +registered using gtk_text_buffer_register_deserialize_format() or +gtk_text_buffer_register_deserialize_tagset(). + + + + + + a #GdkAtom representing a registered rich text format. + + + + + + Use this function to allow a rich text deserialization function to +create new tags in the receiving buffer. Note that using this +function is almost always a bad idea, because the rich text +functions you register should know how to map the rich text format +they handler to your text buffers set of tags. +The ability of creating new (arbitrary!) tags in the receiving buffer +is meant for special rich text formats like the internal one that +is registered using gtk_text_buffer_register_deserialize_tagset(), +because that format is essentially a dump of the internal structure +of the source buffer, including its tag names. +You should allow creation of tags only if you know what you are +doing, e.g. if you defined a tagset name for your application +suite's text buffers and you know that it's fine to receive new +tags from these buffers, because you know that your application can +handle the newly created tags. + + + + + + a #GdkAtom representing a registered rich text format + + + + whether deserializing this format may create tags + + + + + + This functions returns the value set with +gtk_text_buffer_deserialize_set_can_create_tags() + + whether deserializing this format may create tags + + + + + a #GdkAtom representing a registered rich text format + + + + + + This function returns the rich text serialize formats registered +with @buffer using gtk_text_buffer_register_serialize_format() or +gtk_text_buffer_register_serialize_tagset() +formats. + + an array of #GdkAtom<!-- -->s representing the registered + + + + + return location for the number of formats + + + + + + This function returns the rich text deserialize formats registered +with @buffer using gtk_text_buffer_register_deserialize_format() or +gtk_text_buffer_register_deserialize_tagset() +formats. + + an array of #GdkAtom<!-- -->s representing the registered + + + + + return location for the number of formats + + + + + + This function serializes the portion of text between @start +and @end in the rich text format represented by @format. +gtk_text_buffer_register_serialize_format() or +gtk_text_buffer_register_serialize_tagset() beforehand. + + the serialized data, encoded as @format + + + + + + + the #GtkTextBuffer to serialize + + + + the rich text format to use for serializing + + + + start of block of text to serialize + + + + end of block of test to serialize + + + + return location for the length of the serialized data + + + + + + This function deserializes rich text in format @format and inserts +it at @iter. +gtk_text_buffer_register_deserialize_format() or +gtk_text_buffer_register_deserialize_tagset() beforehand. + + %TRUE on success, %FALSE otherwise. + + + + + the #GtkTextBuffer to deserialize into + + + + the rich text format to use for deserializing + + + + insertion point for the deserialized text + + + + data to deserialize + + + + + + length of @data + + + + + + The list of targets this buffer supports for clipboard copying +and as DND source. + + + + The position of the insert mark (as offset from the beginning +of the buffer). It is useful for getting notified when the +cursor moves. + + + + Whether the buffer has some text currently selected. + + + + The list of targets this buffer supports for clipboard pasting +and as DND destination. + + + + + + + The text content of the buffer. Without child widgets and images, +see gtk_text_buffer_get_text() for more information. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The ::apply-tag signal is emitted to apply a tag to a +range of text in a #GtkTextBuffer. +Applying actually occurs in the default handler. +Note that if your handler runs before the default handler it must not +invalidate the @start and @end iters (or has to revalidate them). +gtk_text_buffer_apply_tag(), +gtk_text_buffer_insert_with_tags(), +gtk_text_buffer_insert_range(). + + + + + + the applied tag + + + + the start of the range the tag is applied to + + + + the end of the range the tag is applied to + + + + + + The ::begin-user-action signal is emitted at the beginning of a single +user-visible operation on a #GtkTextBuffer. +gtk_text_buffer_begin_user_action(), +gtk_text_buffer_insert_interactive(), +gtk_text_buffer_insert_range_interactive(), +gtk_text_buffer_delete_interactive(), +gtk_text_buffer_backspace(), +gtk_text_buffer_delete_selection(). + + + + + + The ::changed signal is emitted when the content of a #GtkTextBuffer +has changed. + + + + + + The ::delete-range signal is emitted to delete a range +from a #GtkTextBuffer. +Note that if your handler runs before the default handler it must not +invalidate the @start and @end iters (or has to revalidate them). +The default signal handler revalidates the @start and @end iters to +both point point to the location where text was deleted. Handlers +which run after the default handler (see g_signal_connect_after()) +do not have access to the deleted text. + + + + + + the start of the range to be deleted + + + + the end of the range to be deleted + + + + + + The ::end-user-action signal is emitted at the end of a single +user-visible operation on the #GtkTextBuffer. +gtk_text_buffer_end_user_action(), +gtk_text_buffer_insert_interactive(), +gtk_text_buffer_insert_range_interactive(), +gtk_text_buffer_delete_interactive(), +gtk_text_buffer_backspace(), +gtk_text_buffer_delete_selection(), +gtk_text_buffer_backspace(). + + + + + + The ::insert-child-anchor signal is emitted to insert a +#GtkTextChildAnchor in a #GtkTextBuffer. +Insertion actually occurs in the default handler. +Note that if your handler runs before the default handler it must +not invalidate the @location iter (or has to revalidate it). +The default signal handler revalidates it to be placed after the +inserted @anchor. + + + + + + position to insert @anchor in @textbuffer + + + + the #GtkTextChildAnchor to be inserted + + + + + + The ::insert-pixbuf signal is emitted to insert a #GdkPixbuf +in a #GtkTextBuffer. Insertion actually occurs in the default handler. +Note that if your handler runs before the default handler it must not +invalidate the @location iter (or has to revalidate it). +The default signal handler revalidates it to be placed after the +inserted @pixbuf. + + + + + + position to insert @pixbuf in @textbuffer + + + + the #GdkPixbuf to be inserted + + + + + + The ::insert-text signal is emitted to insert text in a #GtkTextBuffer. +Insertion actually occurs in the default handler. +Note that if your handler runs before the default handler it must not +invalidate the @location iter (or has to revalidate it). +The default signal handler revalidates it to point to the end of the +inserted text. +gtk_text_buffer_insert(), +gtk_text_buffer_insert_range(). + + + + + + position to insert @text in @textbuffer + + + + the UTF-8 text to be inserted + + + + length of the inserted text in bytes + + + + + + The ::mark-deleted signal is emitted as notification +after a #GtkTextMark is deleted. +See also: +gtk_text_buffer_delete_mark(). + + + + + + The mark that was deleted + + + + + + The ::mark-set signal is emitted as notification +after a #GtkTextMark is set. +gtk_text_buffer_create_mark(), +gtk_text_buffer_move_mark(). + + + + + + The location of @mark in @textbuffer + + + + The mark that is set + + + + + + The ::modified-changed signal is emitted when the modified bit of a +#GtkTextBuffer flips. +See also: +gtk_text_buffer_set_modified(). + + + + + + The paste-done signal is emitted after paste operation has been completed. +This is useful to properly scroll the view to the end of the pasted text. +See gtk_text_buffer_paste_clipboard() for more details. + + + + + + + + + + + The ::remove-tag signal is emitted to remove all occurrences of @tag from +a range of text in a #GtkTextBuffer. +Removal actually occurs in the default handler. +Note that if your handler runs before the default handler it must not +invalidate the @start and @end iters (or has to revalidate them). +gtk_text_buffer_remove_tag(). + + + + + + the tag to be removed + + + + the start of the range the tag is removed from + + + + the end of the range the tag is removed from + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Creates a new #GtkTextChildAnchor. Usually you would then insert +it into a #GtkTextBuffer with gtk_text_buffer_insert_child_anchor(). +To perform the creation and insertion in one step, use the +convenience function gtk_text_buffer_create_child_anchor(). + + a new #GtkTextChildAnchor + + + + + Gets a list of all widgets anchored at this child anchor. +The returned list should be freed with g_list_free(). + + list of widgets anchored at @anchor + + + + + + + Determines whether a child anchor has been deleted from +the buffer. Keep in mind that the child anchor will be +unreferenced when removed from the buffer, so you need to +hold your own reference (with g_object_ref()) if you plan +to use this function &mdash; otherwise all deleted child anchors +will also be finalized. + + %TRUE if the child anchor has been deleted from its buffer + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Returns the #GtkTextBuffer this iterator is associated with. + + the buffer + + + + + Creates a dynamically-allocated copy of an iterator. This function +is not useful in applications, because iterators can be copied with a +simple assignment (<literal>GtkTextIter i = j;</literal>). The +function is used by language bindings. + + a copy of the @iter, free with gtk_text_iter_free () + + + + + Free an iterator allocated on the heap. This function +is intended for use in language bindings, and is not +especially useful for applications, because iterators can +simply be allocated on the stack. + + + + + + Returns the character offset of an iterator. +Each character in a #GtkTextBuffer has an offset, +starting with 0 for the first character in the buffer. +Use gtk_text_buffer_get_iter_at_offset () to convert an +offset back into an iterator. + + a character offset + + + + + Returns the line number containing the iterator. Lines in +a #GtkTextBuffer are numbered beginning with 0 for the first +line in the buffer. + + a line number + + + + + Returns the character offset of the iterator, +counting from the start of a newline-terminated line. +The first character on the line has offset 0. + + offset from start of line + + + + + Returns the byte index of the iterator, counting +from the start of a newline-terminated line. +Remember that #GtkTextBuffer encodes text in +UTF-8, and that characters can require a variable +number of bytes to represent. + + distance from start of line, in bytes + + + + + Returns the offset in characters from the start of the +line to the given @iter, not counting characters that +are invisible due to tags with the "invisible" flag +toggled on. + + offset in visible characters from the start of the line + + + + + Returns the number of bytes from the start of the +line to the given @iter, not counting bytes that +are invisible due to tags with the "invisible" flag +toggled on. + + byte index of @iter with respect to the start of the line + + + + + Returns the Unicode character at this iterator. (Equivalent to +operator* on a C++ iterator.) If the element at this iterator is a +non-character element, such as an image embedded in the buffer, the +Unicode "unknown" character 0xFFFC is returned. If invoked on +the end iterator, zero is returned; zero is not a valid Unicode character. +So you can write a loop which ends when gtk_text_iter_get_char () +returns 0. + + a Unicode character, or 0 if @iter is not dereferenceable + + + + + Returns the text in the given range. A "slice" is an array of +characters encoded in UTF-8 format, including the Unicode "unknown" +character 0xFFFC for iterable non-character elements in the buffer, +such as images. Because images are encoded in the slice, byte and +character offsets in the returned array will correspond to byte +offsets in the text buffer. Note that 0xFFFC can occur in normal +text as well, so it is not a reliable indicator that a pixbuf or +widget is in the buffer. + + slice of text from the buffer + + + + + iterator at end of a range + + + + + + Returns <emphasis>text</emphasis> in the given range. If the range +contains non-text elements such as images, the character and byte +offsets in the returned string will not correspond to character and +byte offsets in the buffer. If you want offsets to correspond, see +gtk_text_iter_get_slice (). + + array of characters from the buffer + + + + + iterator at end of a range + + + + + + Like gtk_text_iter_get_slice (), but invisible text is not included. +Invisible text is usually invisible because a #GtkTextTag with the +"invisible" attribute turned on has been applied to it. + + slice of text from the buffer + + + + + iterator at end of range + + + + + + Like gtk_text_iter_get_text (), but invisible text is not included. +Invisible text is usually invisible because a #GtkTextTag with the +"invisible" attribute turned on has been applied to it. + + string containing visible text in the range + + + + + iterator at end of range + + + + + + If the element at @iter is a pixbuf, the pixbuf is returned +(with no new reference count added). Otherwise, +%NULL is returned. + + the pixbuf at @iter + + + + + Returns a list of all #GtkTextMark at this location. Because marks +are not iterable (they don't take up any "space" in the buffer, +they are just marks in between iterable locations), multiple marks +can exist in the same place. The returned list is not in any +meaningful order. + + list of #GtkTextMark + + + + + + + If the location at @iter contains a child anchor, the +anchor is returned (with no new reference count added). Otherwise, +%NULL is returned. + + the anchor at @iter + + + + + Returns a list of #GtkTextTag that are toggled on or off at this +point. (If @toggled_on is %TRUE, the list contains tags that are +toggled on.) If a tag is toggled on at @iter, then some non-empty +range of characters following @iter has that tag applied to it. If +a tag is toggled off, then some non-empty range following @iter +does <emphasis>not</emphasis> have the tag applied to it. + + tags toggled at this point + + + + + + + %TRUE to get toggled-on tags + + + + + + Returns %TRUE if @tag is toggled on at exactly this point. If @tag +is %NULL, returns %TRUE if any tag is toggled on at this point. Note +that the gtk_text_iter_begins_tag () returns %TRUE if @iter is the +<emphasis>start</emphasis> of the tagged range; +gtk_text_iter_has_tag () tells you whether an iterator is +<emphasis>within</emphasis> a tagged range. + + whether @iter is the start of a range tagged with @tag + + + + + a #GtkTextTag, or %NULL + + + + + + Returns %TRUE if @tag is toggled off at exactly this point. If @tag +is %NULL, returns %TRUE if any tag is toggled off at this point. Note +that the gtk_text_iter_ends_tag () returns %TRUE if @iter is the +<emphasis>end</emphasis> of the tagged range; +gtk_text_iter_has_tag () tells you whether an iterator is +<emphasis>within</emphasis> a tagged range. + + whether @iter is the end of a range tagged with @tag + + + + + a #GtkTextTag, or %NULL + + + + + + This is equivalent to (gtk_text_iter_begins_tag () || +gtk_text_iter_ends_tag ()), i.e. it tells you whether a range with + + whether @tag is toggled on or off at @iter + + + + + a #GtkTextTag, or %NULL + + + + + + Returns %TRUE if @iter is within a range tagged with @tag. + + whether @iter is tagged with @tag + + + + + a #GtkTextTag + + + + + + Returns a list of tags that apply to @iter, in ascending order of +priority (highest-priority tags are last). The #GtkTextTag in the +list don't have a reference added, but you have to free the list +itself. + + list of #GtkTextTag + + + + + + + Returns whether the character at @iter is within an editable region +of text. Non-editable text is "locked" and can't be changed by the +user via #GtkTextView. This function is simply a convenience +wrapper around gtk_text_iter_get_attributes (). If no tags applied +to this text affect editability, @default_setting will be returned. +You don't want to use this function to decide whether text can be +inserted at @iter, because for insertion you don't want to know +whether the char at @iter is inside an editable range, you want to +know whether a new character inserted at @iter would be inside an +editable range. Use gtk_text_iter_can_insert() to handle this +case. + + whether @iter is inside an editable range + + + + + %TRUE if text is editable by default + + + + + + Considering the default editability of the buffer, and tags that +affect editability, determines whether text inserted at @iter would +be editable. If text inserted at @iter would be editable then the +user should be allowed to insert text at @iter. +gtk_text_buffer_insert_interactive() uses this function to decide +whether insertions are allowed at a given position. + + whether text inserted at @iter would be editable + + + + + %TRUE if text is editable by default + + + + + + Determines whether @iter begins a natural-language word. Word +breaks are determined by Pango and should be correct for nearly any +language (if not, the correct fix would be to the Pango word break +algorithms). + + %TRUE if @iter is at the start of a word + + + + + Determines whether @iter ends a natural-language word. Word breaks +are determined by Pango and should be correct for nearly any +language (if not, the correct fix would be to the Pango word break +algorithms). + + %TRUE if @iter is at the end of a word + + + + + Determines whether @iter is inside a natural-language word (as +opposed to say inside some whitespace). Word breaks are determined +by Pango and should be correct for nearly any language (if not, the +correct fix would be to the Pango word break algorithms). + + %TRUE if @iter is inside a word + + + + + Determines whether @iter begins a sentence. Sentence boundaries are +determined by Pango and should be correct for nearly any language +(if not, the correct fix would be to the Pango text boundary +algorithms). + + %TRUE if @iter is at the start of a sentence. + + + + + Determines whether @iter ends a sentence. Sentence boundaries are +determined by Pango and should be correct for nearly any language +(if not, the correct fix would be to the Pango text boundary +algorithms). + + %TRUE if @iter is at the end of a sentence. + + + + + Determines whether @iter is inside a sentence (as opposed to in +between two sentences, e.g. after a period and before the first +letter of the next sentence). Sentence boundaries are determined +by Pango and should be correct for nearly any language (if not, the +correct fix would be to the Pango text boundary algorithms). + + %TRUE if @iter is inside a sentence. + + + + + Returns %TRUE if @iter begins a paragraph, +i.e. if gtk_text_iter_get_line_offset () would return 0. +However this function is potentially more efficient than +gtk_text_iter_get_line_offset () because it doesn't have to compute +the offset, it just has to see whether it's 0. + + whether @iter begins a line + + + + + Returns %TRUE if @iter points to the start of the paragraph +delimiter characters for a line (delimiters will be either a +newline, a carriage return, a carriage return followed by a +newline, or a Unicode paragraph separator character). Note that an +iterator pointing to the \n of a \r\n pair will not be counted as +the end of a line, the line ends before the \r. The end iterator is +considered to be at the end of a line, even though there are no +paragraph delimiter chars there. + + whether @iter is at the end of a line + + + + + See gtk_text_iter_forward_cursor_position() or #PangoLogAttr or +pango_break() for details on what a cursor position is. + + %TRUE if the cursor can be placed at @iter + + + + + Returns the number of characters in the line containing @iter, +including the paragraph delimiters. + + number of characters in the line + + + + + Returns the number of bytes in the line containing @iter, +including the paragraph delimiters. + + number of bytes in the line + + + + + Computes the effect of any tags applied to this spot in the +text. The @values parameter should be initialized to the default +settings you wish to use if no tags are in effect. You'd typically +obtain the defaults from gtk_text_view_get_default_attributes(). +gtk_text_iter_get_attributes () will modify @values, applying the +effects of any tags present at @iter. If any tags affected @values, +the function returns %TRUE. + + %TRUE if @values was modified + + + + + a #GtkTextAttributes to be filled in + + + + + + A convenience wrapper around gtk_text_iter_get_attributes (), +which returns the language in effect at @iter. If no tags affecting +language apply to @iter, the return value is identical to that of +gtk_get_default_language (). + + language in effect at @iter + + + + + Returns %TRUE if @iter is the end iterator, i.e. one past the last +dereferenceable iterator in the buffer. gtk_text_iter_is_end () is +the most efficient way to check whether an iterator is the end +iterator. + + whether @iter is the end iterator + + + + + Returns %TRUE if @iter is the first iterator in the buffer, that is +if @iter has a character offset of 0. + + whether @iter is the first in the buffer + + + + + Moves @iter forward by one character offset. Note that images +embedded in the buffer occupy 1 character slot, so +gtk_text_iter_forward_char () may actually move onto an image instead +of a character, if you have images in your buffer. If @iter is the +end iterator or one character before it, @iter will now point at +the end iterator, and gtk_text_iter_forward_char () returns %FALSE for +convenience when writing loops. + + whether @iter moved and is dereferenceable + + + + + Moves backward by one character offset. Returns %TRUE if movement +was possible; if @iter was the first in the buffer (character +offset 0), gtk_text_iter_backward_char () returns %FALSE for convenience when +writing loops. + + whether movement was possible + + + + + Moves @count characters if possible (if @count would move past the +start or end of the buffer, moves to the start or end of the +buffer). The return value indicates whether the new position of +(the last iterator in the buffer is not dereferenceable). If @count +is 0, the function does nothing and returns %FALSE. + + whether @iter moved and is dereferenceable + + + + + number of characters to move, may be negative + + + + + + Moves @count characters backward, if possible (if @count would move +past the start or end of the buffer, moves to the start or end of +the buffer). The return value indicates whether the iterator moved +onto a dereferenceable position; if the iterator didn't move, or +moved onto the end iterator, then %FALSE is returned. If @count is 0, +the function does nothing and returns %FALSE. + + whether @iter moved and is dereferenceable + + + + + number of characters to move + + + + + + Moves @iter to the start of the next line. If the iter is already on the +last line of the buffer, moves the iter to the end of the current line. +If after the operation, the iter is at the end of the buffer and not +dereferencable, returns %FALSE. Otherwise, returns %TRUE. + + whether @iter can be dereferenced + + + + + Moves @iter to the start of the previous line. Returns %TRUE if +function returns %FALSE. Therefore if @iter was already on line 0, +but not at the start of the line, @iter is snapped to the start of +the line and the function returns %TRUE. (Note that this implies that +in a loop calling this function, the line number may not change on +every iteration, if your first iteration is on line 0.) + + whether @iter moved + + + + + Moves @count lines forward, if possible (if @count would move +past the start or end of the buffer, moves to the start or end of +the buffer). The return value indicates whether the iterator moved +onto a dereferenceable position; if the iterator didn't move, or +moved onto the end iterator, then %FALSE is returned. If @count is 0, +the function does nothing and returns %FALSE. If @count is negative, +moves backward by 0 - @count lines. + + whether @iter moved and is dereferenceable + + + + + number of lines to move forward + + + + + + Moves @count lines backward, if possible (if @count would move +past the start or end of the buffer, moves to the start or end of +the buffer). The return value indicates whether the iterator moved +onto a dereferenceable position; if the iterator didn't move, or +moved onto the end iterator, then %FALSE is returned. If @count is 0, +the function does nothing and returns %FALSE. If @count is negative, +moves forward by 0 - @count lines. + + whether @iter moved and is dereferenceable + + + + + number of lines to move backward + + + + + + Moves forward to the next word end. (If @iter is currently on a +word end, moves forward to the next one after that.) Word breaks +are determined by Pango and should be correct for nearly any +language (if not, the correct fix would be to the Pango word break +algorithms). + + %TRUE if @iter moved and is not the end iterator + + + + + Calls gtk_text_iter_backward_word_start() up to @count times. + + %TRUE if @iter moved and is not the end iterator + + + + + Calls gtk_text_iter_forward_word_end() up to @count times. + + %TRUE if @iter moved and is not the end iterator + + + + + number of times to move + + + + + + + + + + + + + + + + Moves @iter to the start of the next visible line. Returns %TRUE if there +was a next line to move to, and %FALSE if @iter was simply moved to +the end of the buffer and is now not dereferenceable, or if @iter was +already at the end of the buffer. + + whether @iter can be dereferenced + + + + + Moves @iter to the start of the previous visible line. Returns %TRUE if +function returns %FALSE. Therefore if @iter was already on line 0, +but not at the start of the line, @iter is snapped to the start of +the line and the function returns %TRUE. (Note that this implies that +in a loop calling this function, the line number may not change on +every iteration, if your first iteration is on line 0.) + + whether @iter moved + + + + + Moves @count visible lines forward, if possible (if @count would move +past the start or end of the buffer, moves to the start or end of +the buffer). The return value indicates whether the iterator moved +onto a dereferenceable position; if the iterator didn't move, or +moved onto the end iterator, then %FALSE is returned. If @count is 0, +the function does nothing and returns %FALSE. If @count is negative, +moves backward by 0 - @count lines. + + whether @iter moved and is dereferenceable + + + + + number of lines to move forward + + + + + + Moves @count visible lines backward, if possible (if @count would move +past the start or end of the buffer, moves to the start or end of +the buffer). The return value indicates whether the iterator moved +onto a dereferenceable position; if the iterator didn't move, or +moved onto the end iterator, then %FALSE is returned. If @count is 0, +the function does nothing and returns %FALSE. If @count is negative, +moves forward by 0 - @count lines. + + whether @iter moved and is dereferenceable + + + + + number of lines to move backward + + + + + + Moves forward to the next visible word end. (If @iter is currently on a +word end, moves forward to the next one after that.) Word breaks +are determined by Pango and should be correct for nearly any +language (if not, the correct fix would be to the Pango word break +algorithms). + + %TRUE if @iter moved and is not the end iterator + + + + + Calls gtk_text_iter_backward_visible_word_start() up to @count times. + + %TRUE if @iter moved and is not the end iterator + + + + + Calls gtk_text_iter_forward_visible_word_end() up to @count times. + + %TRUE if @iter moved and is not the end iterator + + + + + number of times to move + + + + + + + + + + + + + + + + Moves forward to the next sentence end. (If @iter is at the end of +a sentence, moves to the next end of sentence.) Sentence +boundaries are determined by Pango and should be correct for nearly +any language (if not, the correct fix would be to the Pango text +boundary algorithms). + + %TRUE if @iter moved and is not the end iterator + + + + + Moves backward to the previous sentence start; if @iter is already at +the start of a sentence, moves backward to the next one. Sentence +boundaries are determined by Pango and should be correct for nearly +any language (if not, the correct fix would be to the Pango text +boundary algorithms). + + %TRUE if @iter moved and is not the end iterator + + + + + Calls gtk_text_iter_forward_sentence_end() @count times (or until +gtk_text_iter_forward_sentence_end() returns %FALSE). If @count is +negative, moves backward instead of forward. + + %TRUE if @iter moved and is not the end iterator + + + + + number of sentences to move + + + + + + Calls gtk_text_iter_backward_sentence_start() up to @count times, +or until it returns %FALSE. If @count is negative, moves forward +instead of backward. + + %TRUE if @iter moved and is not the end iterator + + + + + number of sentences to move + + + + + + Moves @iter forward by a single cursor position. Cursor positions +are (unsurprisingly) positions where the cursor can appear. Perhaps +surprisingly, there may not be a cursor position between all +characters. The most common example for European languages would be +a carriage return/newline sequence. For some Unicode characters, +the equivalent of say the letter "a" with an accent mark will be +represented as two characters, first the letter then a "combining +mark" that causes the accent to be rendered; so the cursor can't go +between those two characters. See also the #PangoLogAttr structure and +pango_break() function. + + %TRUE if we moved and the new position is dereferenceable + + + + + Like gtk_text_iter_forward_cursor_position(), but moves backward. + + %TRUE if we moved + + + + + Moves up to @count cursor positions. See +gtk_text_iter_forward_cursor_position() for details. + + %TRUE if we moved and the new position is dereferenceable + + + + + number of positions to move + + + + + + Moves up to @count cursor positions. See +gtk_text_iter_forward_cursor_position() for details. + + %TRUE if we moved and the new position is dereferenceable + + + + + number of positions to move + + + + + + Moves @iter forward to the next visible cursor position. See +gtk_text_iter_forward_cursor_position() for details. + + %TRUE if we moved and the new position is dereferenceable + + + + + Moves @iter forward to the previous visible cursor position. See +gtk_text_iter_backward_cursor_position() for details. + + %TRUE if we moved and the new position is dereferenceable + + + + + Moves up to @count visible cursor positions. See +gtk_text_iter_forward_cursor_position() for details. + + %TRUE if we moved and the new position is dereferenceable + + + + + number of positions to move + + + + + + Moves up to @count visible cursor positions. See +gtk_text_iter_backward_cursor_position() for details. + + %TRUE if we moved and the new position is dereferenceable + + + + + number of positions to move + + + + + + Sets @iter to point to @char_offset. @char_offset counts from the start +of the entire text buffer, starting with 0. + + + + + + a character number + + + + + + Moves iterator @iter to the start of the line @line_number. If +buffer, moves @iter to the start of the last line in the buffer. + + + + + + line number (counted from 0) + + + + + + Moves @iter within a line, to a new <emphasis>character</emphasis> +(not byte) offset. The given character offset must be less than or +equal to the number of characters in the line; if equal, @iter +moves to the start of the next line. See +gtk_text_iter_set_line_index() if you have a byte index rather than +a character offset. + + + + + + a character offset relative to the start of @iter's current line + + + + + + Same as gtk_text_iter_set_line_offset(), but works with a +<emphasis>byte</emphasis> index. The given byte index must be at +the start of a character, it can't be in the middle of a UTF-8 +encoded character. + + + + + + a byte index relative to the start of @iter's current line + + + + + + Moves @iter forward to the "end iterator," which points one past the last +valid character in the buffer. gtk_text_iter_get_char() called on the +end iterator returns 0, which is convenient for writing loops. + + + + + + Moves the iterator to point to the paragraph delimiter characters, +which will be either a newline, a carriage return, a carriage +return/newline in sequence, or the Unicode paragraph separator +character. If the iterator is already at the paragraph delimiter +characters, moves to the paragraph delimiter characters for the +next line. If @iter is on the last line in the buffer, which does +not end in paragraph delimiters, moves to the end iterator (end of +the last line), and returns %FALSE. + + %TRUE if we moved and the new location is not the end iterator + + + + + Like gtk_text_iter_set_line_offset(), but the offset is in visible +characters, i.e. text with a tag making it invisible is not +counted in the offset. + + + + + + a character offset + + + + + + Like gtk_text_iter_set_line_index(), but the index is in visible +bytes, i.e. text with a tag making it invisible is not counted +in the index. + + + + + + a byte index + + + + + + Moves forward to the next toggle (on or off) of the +#GtkTextTag @tag, or to the next toggle of any tag if +returns %FALSE, otherwise %TRUE. Does not return toggles +located at @iter, only toggles after @iter. Sets @iter to +the location of the toggle, or to the end of the buffer +if no toggle is found. + + whether we found a tag toggle after @iter + + + + + a #GtkTextTag, or %NULL + + + + + + Moves backward to the next toggle (on or off) of the +#GtkTextTag @tag, or to the next toggle of any tag if +returns %FALSE, otherwise %TRUE. Does not return toggles +located at @iter, only toggles before @iter. Sets @iter +to the location of the toggle, or the start of the buffer +if no toggle is found. + + whether we found a tag toggle before @iter + + + + + a #GtkTextTag, or %NULL + + + + + + Advances @iter, calling @pred on each character. If +If @pred never returns %TRUE, @iter is set to @limit if + + whether a match was found + + + + + a function to be called on each character + + + + user data for @pred + + + + search limit, or %NULL for none + + + + + + Same as gtk_text_iter_forward_find_char(), but goes backward from @iter. + + whether a match was found + + + + + function to be called on each character + + + + user data for @pred + + + + search limit, or %NULL for none + + + + + + Searches forward for @str. Any match is returned by setting +first character after the match. The search will not continue past +may wish to use @limit to avoid locking up your UI on large +buffers. +If the #GTK_TEXT_SEARCH_VISIBLE_ONLY flag is present, the match may +have invisible text interspersed in @str. i.e. @str will be a +possibly-noncontiguous subsequence of the matched range. similarly, +if you specify #GTK_TEXT_SEARCH_TEXT_ONLY, the match may have +pixbufs or child widgets mixed inside the matched range. If these +flags are not given, the match must be exact; the special 0xFFFC +character in @str will match embedded pixbufs or child widgets. + + whether a match was found + + + + + a search string + + + + flags affecting how the search is done + + + + return location for start of match, or %NULL + + + + return location for end of match, or %NULL + + + + bound for the search, or %NULL for the end of the buffer + + + + + + Same as gtk_text_iter_forward_search(), but moves backward. + + whether a match was found + + + + + search string + + + + bitmask of flags affecting the search + + + + return location for start of match, or %NULL + + + + return location for end of match, or %NULL + + + + location of last possible @match_start, or %NULL for start of buffer + + + + + + Tests whether two iterators are equal, using the fastest possible +mechanism. This function is very fast; you can expect it to perform +better than e.g. getting the character offset for each iterator and +comparing the offsets yourself. Also, it's a bit faster than +gtk_text_iter_compare(). + + %TRUE if the iterators point to the same place in the buffer + + + + + another #GtkTextIter + + + + + + A qsort()-style function that returns negative if @lhs is less than +Ordering is in character offset order, i.e. the first character in the buffer +is less than the second character in the buffer. + + -1 if @lhs is less than @rhs, 1 if @lhs is greater, 0 if they are equal + + + + + another #GtkTextIter + + + + + + Checks whether @iter falls in the range [@start, @end). + + %TRUE if @iter is in the range + + + + + start of range + + + + end of range + + + + + + Swaps the value of @first and @second if @second comes before +in sequence. Most text buffer functions that take a range call this +automatically on your behalf, so there's no real reason to call it yourself +in those cases. There are some exceptions, such as gtk_text_iter_in_range(), +that expect a pre-sorted range. + + + + + + another #GtkTextIter + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Gets the text buffer used by the layout. See +gtk_text_layout_set_buffer(). + + the text buffer used by the layout. + + + + + + + + + + + + + + + + + + + + + + + + + + + + Sets which text directions (left-to-right and/or right-to-left) for +which cursors will be drawn for the insertion point. The visual +point at which new text is inserted depends on whether the new +text is right-to-left or left-to-right, so it may be desired to +make the drawn position of the cursor depend on the keyboard state. + + + + + + the new direction(s) for which to draw cursors. %GTK_TEXT_DIR_NONE means draw cursors for both left-to-right insertion and right-to-left insertion. (The two cursors will be visually distinguished.) + + + + + + Sets overwrite mode + + + + + + overwrite mode + + + + + + Sets the keyboard direction; this is used as for the bidirectional +base direction for the line with the cursor if the line contains +only neutral characters. + + + + + + the current direction of the keyboard. + + + + + + + + + + + + + + + + + + + + + Set the preedit string and attributes. The preedit string is a +string showing text that is currently being edited and not +yet committed into the buffer. + + + + + + a string to display at the insertion point + + + + a #PangoAttrList of attributes that apply to @preedit_string + + + + position of cursor within preedit string in chars + + + + + + Sets whether the insertion cursor should be shown. Generally, +widgets using #GtkTextLayout will hide the cursor when the +widget does not have the input focus. + + + + + + If %FALSE, then the insertion cursor will not be shown, even if the text is editable. + + + + + + Returns whether the insertion cursor will be shown. +shown, even if the text is editable. + + if %FALSE, the insertion cursor will not be + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Get the iter at the beginning of the line which is displayed +at the given y. + + + + + + the iterator in which the result is stored + + + + the y positition + + + + location to store the y coordinate of the top of the line. (Can by %NULL) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Check if there are any invalid regions in a #GtkTextLayout's buffer + + %TRUE if any invalid regions were found + + + + + Ensure that a region of a #GtkTextLayout is valid. The ::changed +signal will be emitted if any lines are validated. + + + + + + + + + offset from the top of the line pointed to by @anchor at which to begin validation. (The offset here is in pixels after validation.) + + + + offset from the top of the line pointed to by @anchor at which to end validation. (The offset here is in pixels after validation.) + + + + + + Validate regions of a #GtkTextLayout. The ::changed signal will +be emitted for each region validated. + + + + + + the maximum number of pixels to validate. (No more than one paragraph beyond this limit will be validated) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Find the range of y coordinates for the paragraph containing +the given iter. + + + + + + a #GtkTextIter + + + + location to store the top of the paragraph in pixels, or %NULL. or %NULL. + + + + + + + + + Given an iterator within a text layout, determine the positions of the +strong and weak cursors if the insertion point is at that +iterator. The position of each cursor is stored as a zero-width +rectangle. The strong cursor location is the location where +characters of the directionality equal to the base direction of the +paragraph are inserted. The weak cursor location is the location +where characters of the directionality opposite to the base +direction of the paragraph are inserted. + + + + + + a #GtkTextIter + + + + location to store the strong cursor position (may be %NULL) + + + + location to store the weak cursor position (may be %NULL) + + + + + + If the iterator is not fully in the range @top <= y < @bottom, +then, if possible, move it the minimum distance so that the +iterator in this range. + + %TRUE if the iterator was moved, otherwise %FALSE. + + + + + a #GtkTextIter + + + + the top of the range + + + + the bottom the range + + + + + + Move to the beginning or end of a display line. + + + + + + + + + if negative, move to beginning of line, otherwise + + + + + + Move the iterator to the beginning of the previous line. The lines +of a wrapped paragraph are treated as distinct for this operation. + + + + + + a #GtkTextIter + + + + + + Move the iterator to the beginning of the next line. The +lines of a wrapped paragraph are treated as distinct for +this operation. + + + + + + a #GtkTextIter + + + + + + Keeping the iterator on the same line of the layout, move it to the +specified X coordinate. The lines of a wrapped paragraph are +treated as distinct for this operation. + + + + + + a #GtkTextIter + + + + X coordinate + + + + + + Move the iterator a given number of characters visually, treating +it as the strong cursor position. If @count is positive, then the +new strong cursor position will be @count positions to the right of +the old cursor position. If @count is negative then the new strong +cursor position will be @count positions to the left of the old +cursor position. +In the presence of bidirection text, the correspondence +between logical and visual order will depend on the direction +of the current run, and there may be jumps when the cursor +is moved off of the end of a run. + + + + + + a #GtkTextIter + + + + number of characters to move (negative moves left, positive moves right) + + + + + + Tests whether an iterator is at the start of a display line. + + + + + + iterator to test + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Creates a text mark. Add it to a buffer using gtk_text_buffer_add_mark(). +If @name is %NULL, the mark is anonymous; otherwise, the mark can be +retrieved by name using gtk_text_buffer_get_mark(). If a mark has left +gravity, and text is inserted at the mark's current location, the mark +will be moved to the left of the newly-inserted text. If the mark has +right gravity (@left_gravity = %FALSE), the mark will end up on the +right of newly-inserted text. The standard left-to-right cursor is a +mark with right gravity (when you type, the cursor stays on the right +side of the text you're typing). + + new #GtkTextMark + + + + + mark name or %NULL + + + + whether the mark should have left gravity + + + + + + Sets the visibility of @mark; the insertion point is normally +visible, i.e. you can see it as a vertical bar. Also, the text +widget uses a visible mark to indicate where a drop will occur when +dragging-and-dropping text. Most other marks are not visible. +Marks are not visible by default. + + + + + + visibility of mark + + + + + + Returns %TRUE if the mark is visible (i.e. a cursor is displayed +for it). + + %TRUE if visible + + + + + Returns the mark name; returns NULL for anonymous marks. + + mark name + + + + + Returns %TRUE if the mark has been removed from its buffer +with gtk_text_buffer_delete_mark(). See gtk_text_buffer_add_mark() +for a way to add it to a buffer again. + + whether the mark is deleted + + + + + Gets the buffer this mark is located inside, +or %NULL if the mark is deleted. + + the mark's #GtkTextBuffer + + + + + Determines whether the mark has left gravity. + + %TRUE if the mark has left gravity, %FALSE otherwise + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Creates a #GtkTextTag. Configure the tag using object arguments, +i.e. using g_object_set(). + + a new #GtkTextTag + + + + + tag name, or %NULL + + + + + + Get the tag priority. + + The tag's priority. + + + + + Sets the priority of a #GtkTextTag. Valid priorities are +start at 0 and go to one less than gtk_text_tag_table_get_size(). +Each tag in a table has a unique priority; setting the priority +of one tag shifts the priorities of all the other tags in the +table to maintain a unique priority for each tag. Higher priority +tags "win" if two tags both set the same text attribute. When adding +a tag to a tag table, it will be assigned the highest priority in +the table by default; so normally the precedence of a set of tags +is the order in which they were added to the table, or created with +gtk_text_buffer_create_tag(), which adds the tag to the buffer's table +automatically. + + + + + + the new priority + + + + + + Emits the "event" signal on the #GtkTextTag. + + result of signal emission (whether the event was handled) + + + + + object that received the event, such as a widget + + + + the event + + + + location where the event was received + + + + + + Whether the margins accumulate or override each other. +When set to %TRUE the margins of this tag are added to the margins +of any other non-accumulative margins present. When set to %FALSE +the margins override one another (the default). + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Font description as string, e.g. \"Sans Italic 12\". +Note that the initial value of this property depends on +the internals of #PangoFontDescription. + + + + + + + + + + + + + + + + + + + + + + + + + + + + Whether this text is hidden. +Note that there may still be problems with the support for invisible +text, in particular when navigating programmatically inside a buffer +containing invisible segments. + + + + + + + + + + + + + The language this text is in, as an ISO code. Pango can use this as a +hint when rendering the text. If not set, an appropriate default will be +used. +Note that the initial value of this property depends on the current +locale, see also gtk_get_default_language(). + + + + + + + + + + + + + + + + The paragraph background color as a string. + + + + The paragraph background color as a as a (possibly unallocated) +#GdkColor. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The ::event signal is emitted when an event occurs on a region of the +buffer marked with this tag. +event. %FALSE to propagate the event further. + + %TRUE to stop other handlers from being invoked for the + + + + + the object the event was fired from (typically a #GtkTextView) + + + + the event which triggered the signal + + + + a #GtkTextIter pointing at the location the event occured + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Creates a new #GtkTextTagTable. The table contains no tags by +default. + + a new #GtkTextTagTable + + + + + Add a tag to the table. The tag is assigned the highest priority +in the table. +the same name as an already-added tag. + + + + + + a #GtkTextTag + + + + + + Remove a tag from the table. This will remove the table's +reference to the tag, so be careful - the tag will end +up destroyed if you don't have a reference to it. + + + + + + a #GtkTextTag + + + + + + Look up a named tag. + + The tag, or %NULL if none by that name is in the table. + + + + + name of a tag + + + + + + Calls @func on each tag in @table, with user data @data. +Note that the table may not be modified while iterating +over it (you can't add/remove tags). + + + + + + a function to call on each tag + + + + user data + + + + + + Returns the size of the table (number of tags) + + number of tags in @table + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Creates a new #GtkTextView. If you don't call gtk_text_view_set_buffer() +before using the text view, an empty default buffer will be created +for you. Get the buffer with gtk_text_view_get_buffer(). If you want +to specify your own buffer, consider gtk_text_view_new_with_buffer(). + + a new #GtkTextView + + + + + Creates a new #GtkTextView widget displaying the buffer +this function is equivalent to gtk_text_view_new(). The +text view adds its own reference count to the buffer; it does not +take over an existing reference. + + a new #GtkTextView. + + + + + a #GtkTextBuffer + + + + + + + + + + + + + + + + Sets @buffer as the buffer being displayed by @text_view. The previous +buffer displayed by the text view is unreferenced, and a reference is +added to @buffer. If you owned a reference to @buffer before passing it +to this function, you must remove that reference yourself; #GtkTextView +will not "adopt" it. + + + + + + a #GtkTextBuffer + + + + + + Returns the #GtkTextBuffer being displayed by this text view. +The reference count on the buffer is not incremented; the caller +of this function won't own a new reference. + + a #GtkTextBuffer + + + + + Scrolls @text_view so that @iter is on the screen in the position +indicated by @xalign and @yalign. An alignment of 0.0 indicates +left or top, 1.0 indicates right or bottom, 0.5 means center. +If @use_align is %FALSE, the text scrolls the minimal distance to +get the mark onscreen, possibly not scrolling at all. The effective +screen for purposes of this function is reduced by a margin of size +Note that this function uses the currently-computed height of the +lines in the text buffer. Line heights are computed in an idle +handler; so this function may not have the desired effect if it's +called before the height computations. To avoid oddness, consider +using gtk_text_view_scroll_to_mark() which saves a point to be +scrolled to after line validation. + + %TRUE if scrolling occurred + + + + + a #GtkTextIter + + + + margin as a [0.0,0.5) fraction of screen size + + + + whether to use alignment arguments (if %FALSE, just get the mark onscreen) + + + + horizontal alignment of mark within visible area + + + + vertical alignment of mark within visible area + + + + + + Scrolls @text_view so that @mark is on the screen in the position +indicated by @xalign and @yalign. An alignment of 0.0 indicates +left or top, 1.0 indicates right or bottom, 0.5 means center. +If @use_align is %FALSE, the text scrolls the minimal distance to +get the mark onscreen, possibly not scrolling at all. The effective +screen for purposes of this function is reduced by a margin of size + + + + + + a #GtkTextMark + + + + margin as a [0.0,0.5) fraction of screen size + + + + whether to use alignment arguments (if %FALSE, just get the mark onscreen) + + + + horizontal alignment of mark within visible area + + + + vertical alignment of mark within visible area + + + + + + Scrolls @text_view the minimum distance such that @mark is contained +within the visible area of the widget. + + + + + + a mark in the buffer for @text_view + + + + + + Moves a mark within the buffer so that it's +located within the currently-visible text area. + + %TRUE if the mark moved (wasn't already onscreen) + + + + + a #GtkTextMark + + + + + + Moves the cursor to the currently visible region of the +buffer, it it isn't there already. + + %TRUE if the cursor had to be moved. + + + + + Fills @visible_rect with the currently-visible +region of the buffer, in buffer coordinates. Convert to window coordinates +with gtk_text_view_buffer_to_window_coords(). + + + + + + rectangle to fill + + + + + + Toggles whether the insertion point is displayed. A buffer with no editable +text probably shouldn't have a visible cursor, so you may want to turn +the cursor off. + + + + + + whether to show the insertion cursor + + + + + + Find out whether the cursor is being displayed. + + whether the insertion mark is visible + + + + + Gets a rectangle which roughly contains the character at @iter. +The rectangle position is in buffer coordinates; use +gtk_text_view_buffer_to_window_coords() to convert these +coordinates to coordinates for one of the windows in the text view. + + + + + + a #GtkTextIter + + + + bounds of the character at @iter + + + + + + Retrieves the iterator at buffer coordinates @x and @y. Buffer +coordinates are coordinates for the entire buffer, not just the +currently-displayed portion. If you have coordinates from an +event, you have to convert those to buffer coordinates with +gtk_text_view_window_to_buffer_coords(). + + + + + + a #GtkTextIter + + + + x position, in buffer coordinates + + + + y position, in buffer coordinates + + + + + + Retrieves the iterator pointing to the character at buffer +coordinates @x and @y. Buffer coordinates are coordinates for +the entire buffer, not just the currently-displayed portion. +If you have coordinates from an event, you have to convert +those to buffer coordinates with +gtk_text_view_window_to_buffer_coords(). +Note that this is different from gtk_text_view_get_iter_at_location(), +which returns cursor locations, i.e. positions <emphasis>between</emphasis> +characters. + + + + + + a #GtkTextIter + + + + if non-%NULL, location to store an integer indicating where in the grapheme the user clicked. It will either be zero, or the number of characters in the grapheme. 0 represents the trailing edge of the grapheme. + + + + x position, in buffer coordinates + + + + y position, in buffer coordinates + + + + + + Gets the y coordinate of the top of the line containing @iter, +and the height of the line. The coordinate is a buffer coordinate; +convert to window coordinates with gtk_text_view_buffer_to_window_coords(). + + + + + + a #GtkTextIter + + + + return location for a y coordinate + + + + return location for a height + + + + + + Gets the #GtkTextIter at the start of the line containing +the coordinate @y. @y is in buffer coordinates, convert from +window coordinates with gtk_text_view_window_to_buffer_coords(). +If non-%NULL, @line_top will be filled with the coordinate of the top +edge of the line. + + + + + + a #GtkTextIter + + + + a y coordinate + + + + return location for top coordinate of the line + + + + + + Converts coordinate (@buffer_x, @buffer_y) to coordinates for the window +Note that you can't convert coordinates for a nonexisting window (see +gtk_text_view_set_border_window_size()). + + + + + + a #GtkTextWindowType except #GTK_TEXT_WINDOW_PRIVATE + + + + buffer x coordinate + + + + buffer y coordinate + + + + window x coordinate return location + + + + window y coordinate return location + + + + + + Converts coordinates on the window identified by @win to buffer +coordinates, storing the result in (@buffer_x,@buffer_y). +Note that you can't convert coordinates for a nonexisting window (see +gtk_text_view_set_border_window_size()). + + + + + + a #GtkTextWindowType except #GTK_TEXT_WINDOW_PRIVATE + + + + window x coordinate + + + + window y coordinate + + + + buffer x coordinate return location + + + + buffer y coordinate return location + + + + + + Gets the horizontal-scrolling #GtkAdjustment. + + pointer to the horizontal #GtkAdjustment + + + + + Gets the vertical-scrolling #GtkAdjustment. + + pointer to the vertical #GtkAdjustment + + + + + Retrieves the #GdkWindow corresponding to an area of the text view; +possible windows include the overall widget window, child windows +on the left, right, top, bottom, and the window that displays the +text buffer. Windows are %NULL and nonexistent if their width or +height is 0, and are nonexistent before the widget has been +realized. + + a #GdkWindow, or %NULL + + + + + window to get + + + + + + Usually used to find out which window an event corresponds to. +If you connect to an event signal on @text_view, this function +should be called on <literal>event-&gt;window</literal> to +see which window it was. + + the window type. + + + + + a window type + + + + + + Sets the width of %GTK_TEXT_WINDOW_LEFT or %GTK_TEXT_WINDOW_RIGHT, +or the height of %GTK_TEXT_WINDOW_TOP or %GTK_TEXT_WINDOW_BOTTOM. +Automatically destroys the corresponding window if the size is set +to 0, and creates the window if the size is set to non-zero. This +function can only be used for the "border windows," it doesn't work +with #GTK_TEXT_WINDOW_WIDGET, #GTK_TEXT_WINDOW_TEXT, or +#GTK_TEXT_WINDOW_PRIVATE. + + + + + + window to affect + + + + width or height of the window + + + + + + Gets the width of the specified border window. See +gtk_text_view_set_border_window_size(). + + width of window + + + + + window to return size from + + + + + + Moves the given @iter forward by one display (wrapped) line. +A display line is different from a paragraph. Paragraphs are +separated by newlines or other paragraph separator characters. +Display lines are created by line-wrapping a paragraph. If +wrapping is turned off, display lines and paragraphs will be the +same. Display lines are divided differently for each view, since +they depend on the view's width; paragraphs are the same in all +views, since they depend on the contents of the #GtkTextBuffer. + + %TRUE if @iter was moved and is not on the end iterator + + + + + a #GtkTextIter + + + + + + Moves the given @iter backward by one display (wrapped) line. +A display line is different from a paragraph. Paragraphs are +separated by newlines or other paragraph separator characters. +Display lines are created by line-wrapping a paragraph. If +wrapping is turned off, display lines and paragraphs will be the +same. Display lines are divided differently for each view, since +they depend on the view's width; paragraphs are the same in all +views, since they depend on the contents of the #GtkTextBuffer. + + %TRUE if @iter was moved and is not on the end iterator + + + + + a #GtkTextIter + + + + + + Moves the given @iter forward to the next display line end. +A display line is different from a paragraph. Paragraphs are +separated by newlines or other paragraph separator characters. +Display lines are created by line-wrapping a paragraph. If +wrapping is turned off, display lines and paragraphs will be the +same. Display lines are divided differently for each view, since +they depend on the view's width; paragraphs are the same in all +views, since they depend on the contents of the #GtkTextBuffer. + + %TRUE if @iter was moved and is not on the end iterator + + + + + a #GtkTextIter + + + + + + Moves the given @iter backward to the next display line start. +A display line is different from a paragraph. Paragraphs are +separated by newlines or other paragraph separator characters. +Display lines are created by line-wrapping a paragraph. If +wrapping is turned off, display lines and paragraphs will be the +same. Display lines are divided differently for each view, since +they depend on the view's width; paragraphs are the same in all +views, since they depend on the contents of the #GtkTextBuffer. + + %TRUE if @iter was moved and is not on the end iterator + + + + + a #GtkTextIter + + + + + + Determines whether @iter is at the start of a display line. +See gtk_text_view_forward_display_line() for an explanation of +display lines vs. paragraphs. + + %TRUE if @iter begins a wrapped line + + + + + a #GtkTextIter + + + + + + Move the iterator a given number of characters visually, treating +it as the strong cursor position. If @count is positive, then the +new strong cursor position will be @count positions to the right of +the old cursor position. If @count is negative then the new strong +cursor position will be @count positions to the left of the old +cursor position. +In the presence of bi-directional text, the correspondence +between logical and visual order will depend on the direction +of the current run, and there may be jumps when the cursor +is moved off of the end of a run. + + %TRUE if @iter moved and is not on the end iterator + + + + + a #GtkTextIter + + + + number of characters to move (negative moves left, positive moves right) + + + + + + Allow the #GtkTextView input method to internally handle key press +and release events. If this function returns %TRUE, then no further +processing should be done for this key event. See +gtk_im_context_filter_keypress(). +Note that you are expected to call this function from your handler +when overriding key event handling. This is needed in the case when +you need to insert your own key handling between the input method +and the default key event handling of the #GtkTextView. +|[ +static gboolean +gtk_foo_bar_key_press_event (GtkWidget *widget, +GdkEventKey *event) +{ +if ((key->keyval == GDK_Return || key->keyval == GDK_KP_Enter)) +{ +if (gtk_text_view_im_context_filter_keypress (GTK_TEXT_VIEW (view), event)) +return TRUE; +} +/&ast; Do some stuff &ast;/ +return GTK_WIDGET_CLASS (gtk_foo_bar_parent_class)->key_press_event (widget, event); +} +]| + + %TRUE if the input method handled the key event. + + + + + the key event + + + + + + Reset the input method context of the text view if needed. +This can be necessary in the case where modifying the buffer +would confuse on-going input method behavior. + + + + + + Adds a child widget in the text buffer, at the given @anchor. + + + + + + a #GtkWidget + + + + a #GtkTextChildAnchor in the #GtkTextBuffer for @text_view + + + + + + Adds a child at fixed coordinates in one of the text widget's +windows. The window must have nonzero size (see +gtk_text_view_set_border_window_size()). Note that the child +coordinates are given relative to the #GdkWindow in question, and +that these coordinates have no sane relationship to scrolling. When +placing a child in #GTK_TEXT_WINDOW_WIDGET, scrolling is +irrelevant, the child floats above all scrollable areas. But when +placing a child in one of the scrollable windows (border windows or +text window), you'll need to compute the child's correct position +in buffer coordinates any time scrolling occurs or buffer changes +occur, and then call gtk_text_view_move_child() to update the +child's position. Unfortunately there's no good way to detect that +scrolling has occurred, using the current API; a possible hack +would be to update all child positions when the scroll adjustments +change or the text buffer changes. See bug 64518 on +bugzilla.gnome.org for status of fixing this issue. + + + + + + a #GtkWidget + + + + which window the child should appear in + + + + X position of child in window coordinates + + + + Y position of child in window coordinates + + + + + + Updates the position of a child, as for gtk_text_view_add_child_in_window(). + + + + + + child widget already added to the text view + + + + new X position in window coordinates + + + + new Y position in window coordinates + + + + + + Sets the line wrapping for the view. + + + + + + a #GtkWrapMode + + + + + + Gets the line wrapping for the view. + + the line wrap setting + + + + + Sets the default editability of the #GtkTextView. You can override +this default setting with tags in the buffer, using the "editable" +attribute of tags. + + + + + + whether it's editable + + + + + + Returns the default editability of the #GtkTextView. Tags in the +buffer may override this setting for some ranges of text. + + whether text is editable by default + + + + + Changes the #GtkTextView overwrite mode. + + + + + + %TRUE to turn on overwrite mode, %FALSE to turn it off + + + + + + Returns whether the #GtkTextView is in overwrite mode or not. + + whether @text_view is in overwrite mode or not. + + + + + Sets the behavior of the text widget when the Tab key is pressed. +If @accepts_tab is %TRUE, a tab character is inserted. If @accepts_tab +is %FALSE the keyboard focus is moved to the next widget in the focus +chain. + + + + + + %TRUE if pressing the Tab key should insert a tab character, %FALSE, if pressing the Tab key should move the keyboard focus. + + + + + + Returns whether pressing the Tab key inserts a tab characters. +gtk_text_view_set_accepts_tab(). +%FALSE if pressing the Tab key moves the keyboard focus. + + %TRUE if pressing the Tab key inserts a tab character, + + + + + Sets the default number of blank pixels above paragraphs in @text_view. +Tags in the buffer for @text_view may override the defaults. + + + + + + pixels above paragraphs + + + + + + Gets the default number of pixels to put above paragraphs. + + default number of pixels above paragraphs + + + + + Sets the default number of pixels of blank space +to put below paragraphs in @text_view. May be overridden +by tags applied to @text_view's buffer. + + + + + + pixels below paragraphs + + + + + + Gets the value set by gtk_text_view_set_pixels_below_lines(). + + default number of blank pixels below paragraphs + + + + + Sets the default number of pixels of blank space to leave between +display/wrapped lines within a paragraph. May be overridden by +tags in @text_view's buffer. + + + + + + default number of pixels between wrapped lines + + + + + + Gets the value set by gtk_text_view_set_pixels_inside_wrap(). + + default number of pixels of blank space between wrapped lines + + + + + Sets the default justification of text in @text_view. +Tags in the view's buffer may override the default. + + + + + + justification + + + + + + Gets the default justification of paragraphs in @text_view. +Tags in the buffer may override the default. + + default justification + + + + + Sets the default left margin for text in @text_view. +Tags in the buffer may override the default. + + + + + + left margin in pixels + + + + + + Gets the default left margin size of paragraphs in the @text_view. +Tags in the buffer may override the default. + + left margin in pixels + + + + + Sets the default right margin for text in the text view. +Tags in the buffer may override the default. + + + + + + right margin in pixels + + + + + + Gets the default right margin for text in @text_view. Tags +in the buffer may override the default. + + right margin in pixels + + + + + Sets the default indentation for paragraphs in @text_view. +Tags in the buffer may override the default. + + + + + + indentation in pixels + + + + + + Gets the default indentation of paragraphs in @text_view. +Tags in the view's buffer may override the default. +The indentation may be negative. + + number of pixels of indentation + + + + + Sets the default tab stops for paragraphs in @text_view. +Tags in the buffer may override the default. + + + + + + tabs as a #PangoTabArray + + + + + + Gets the default tabs for @text_view. Tags in the buffer may +override the defaults. The returned array will be %NULL if +"standard" (8-space) tabs are used. Free the return value +with pango_tab_array_free(). +tabs are used; must be freed with pango_tab_array_free(). + + copy of default tab array, or %NULL if "standard" + + + + + Obtains a copy of the default text attributes. These are the +attributes used for text unless a tag overrides them. +You'd typically pass the default attributes in to +gtk_text_iter_get_attributes() in order to get the +attributes in effect at a given text position. +The return value is a copy owned by the caller of this function, +and should be freed. + + a new #GtkTextAttributes + + + + + + + + + + + + + + + + + Which IM (input method) module should be used for this entry. +See #GtkIMContext. +Setting this to a non-%NULL value overrides the +system-wide IM module setting. See the GtkSettings +#GtkSettings:gtk-im-module property. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The ::backspace signal is a +<link linkend="keybinding-signals">keybinding signal</link> +which gets emitted when the user asks for it. +The default bindings for this signal are +Backspace and Shift-Backspace. + + + + + + The ::copy-clipboard signal is a +<link linkend="keybinding-signals">keybinding signal</link> +which gets emitted to copy the selection to the clipboard. +The default bindings for this signal are +Ctrl-c and Ctrl-Insert. + + + + + + The ::cut-clipboard signal is a +<link linkend="keybinding-signals">keybinding signal</link> +which gets emitted to cut the selection to the clipboard. +The default bindings for this signal are +Ctrl-x and Shift-Delete. + + + + + + The ::delete-from-cursor signal is a +<link linkend="keybinding-signals">keybinding signal</link> +which gets emitted when the user initiates a text deletion. +If the @type is %GTK_DELETE_CHARS, GTK+ deletes the selection +if there is one, otherwise it deletes the requested number +of characters. +The default bindings for this signal are +Delete for deleting a character, Ctrl-Delete for +deleting a word and Ctrl-Backspace for deleting a word +backwords. + + + + + + the granularity of the deletion, as a #GtkDeleteType + + + + the number of @type units to delete + + + + + + The ::insert-at-cursor signal is a +<link linkend="keybinding-signals">keybinding signal</link> +which gets emitted when the user initiates the insertion of a +fixed string at the cursor. +This signal has no default bindings. + + + + + + the string to insert + + + + + + The ::move-cursor signal is a +<link linkend="keybinding-signals">keybinding signal</link> +which gets emitted when the user initiates a cursor movement. +If the cursor is not visible in @text_view, this signal causes +the viewport to be moved instead. +Applications should not connect to it, but may emit it with +g_signal_emit_by_name() if they need to control the cursor +programmatically. +The default bindings for this signal come in two variants, +the variant with the Shift modifier extends the selection, +the variant without the Shift modifer does not. +There are too many key combinations to list them all here. +<itemizedlist> +<listitem>Arrow keys move by individual characters/lines</listitem> +<listitem>Ctrl-arrow key combinations move by words/paragraphs</listitem> +<listitem>Home/End keys move to the ends of the buffer</listitem> +<listitem>PageUp/PageDown keys move vertically by pages</listitem> +<listitem>Ctrl-PageUp/PageDown keys move horizontally by pages</listitem> +</itemizedlist> + + + + + + the granularity of the move, as a #GtkMovementStep + + + + the number of @step units to move + + + + %TRUE if the move should extend the selection + + + + + + The ::move-viewport signal is a +<link linkend="keybinding-signals">keybinding signal</link> +which can be bound to key combinations to allow the user +to move the viewport, i.e. change what part of the text view +is visible in a containing scrolled window. +There are no default bindings for this signal. + + + + + + the granularity of the move, as a #GtkMovementStep + + + + the number of @step units to move + + + + + + The ::page-horizontally signal is a +<link linkend="keybinding-signals">keybinding signal</link> +which can be bound to key combinations to allow the user +to initiate horizontal cursor movement by pages. +This signal should not be used anymore, instead use the +#GtkTextview::move-cursor signal with the #GTK_MOVEMENT_HORIZONTAL_PAGES +granularity. + + + + + + the number of @step units to move + + + + %TRUE if the move should extend the selection + + + + + + The ::paste-clipboard signal is a +<link linkend="keybinding-signals">keybinding signal</link> +which gets emitted to paste the contents of the clipboard +into the text view. +The default bindings for this signal are +Ctrl-v and Shift-Insert. + + + + + + The ::populate-popup signal gets emitted before showing the +context menu of the text view. +If you need to add items to the context menu, connect +to this signal and append your menuitems to the @menu. + + + + + + the menu that is being populated + + + + + + If an input method is used, the typed text will not immediately +be committed to the buffer. So if you are interested in the text, +connect to this signal. +This signal is only emitted if the text at the given position +is actually editable. + + + + + + the current preedit string + + + + + + The ::select-all signal is a +<link linkend="keybinding-signals">keybinding signal</link> +which gets emitted to select or unselect the complete +contents of the text view. +The default bindings for this signal are Ctrl-a and Ctrl-/ +for selecting and Shift-Ctrl-a and Ctrl-\ for unselecting. + + + + + + %TRUE to select, %FALSE to unselect + + + + + + The ::set-anchor signal is a +<link linkend="keybinding-signals">keybinding signal</link> +which gets emitted when the user initiates setting the "anchor" +mark. The "anchor" mark gets placed at the same position as the +"insert" mark. +This signal has no default bindings. + + + + + + + + + + + + + + + + + + + The ::toggle-cursor-visible signal is a +<link linkend="keybinding-signals">keybinding signal</link> +which gets emitted to toggle the visibility of the cursor. +The default binding for this signal is F7. + + + + + + The ::toggle-overwrite signal is a +<link linkend="keybinding-signals">keybinding signal</link> +which gets emitted to toggle the overwrite mode of the text view. +The default bindings for this signal is Insert. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Creates a new #GtkToggleAction object. To add the action to +a #GtkActionGroup and set the accelerator for the action, +call gtk_action_group_add_action_with_accel(). + + a new #GtkToggleAction + + + + + A unique name for the action + + + + The label displayed in menu items and on buttons, or %NULL + + + + A tooltip for the action, or %NULL + + + + The stock icon to display in widgets representing the action, or %NULL + + + + + + Emits the "toggled" signal on the toggle action. + + + + + + Sets the checked state on the toggle action. + + + + + + whether the action should be checked or not + + + + + + Returns the checked state of the toggle action. + + the checked state of the toggle action + + + + + Sets whether the action should have proxies like a radio action. + + + + + + whether the action should have proxies like a radio action + + + + + + Returns whether the action should have proxies like a radio action. + + whether the action should have proxies like a radio action. + + + + + If the toggle action should be active in or not. + + + + Whether the proxies for this action look like radio action proxies. +This is an appearance property and thus only applies if +#GtkActivatable:use-action-appearance is %TRUE. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Creates a new #GtkToggleButton containing a label. The label +will be created using gtk_label_new_with_mnemonic(), so underscores +in @label indicate the mnemonic for the button. + + a new #GtkToggleButton + + + + + the text of the button, with an underscore in front of the mnemonic character + + + + + + Sets whether the button is displayed as a separate indicator and label. +You can call this function on a checkbutton or a radiobutton with +This function only affects instances of classes like #GtkCheckButton +and #GtkRadioButton that derive from #GtkToggleButton, +not instances of #GtkToggleButton itself. + + + + + + if %TRUE, draw the button as a separate indicator and label; if %FALSE, draw the button like a normal button + + + + + + Retrieves whether the button is displayed as a separate indicator +and label. See gtk_toggle_button_set_mode(). +and label. + + %TRUE if the togglebutton is drawn as a separate indicator + + + + + + + + + + + + + + + + + + + + + + + + + If the user has selected a range of elements (such as some text or +spreadsheet cells) that are affected by a toggle button, and the +current values in that range are inconsistent, you may want to +display the toggle in an "in between" state. This function turns on +"in between" display. Normally you would turn off the inconsistent +state again if the user toggles the toggle button. This has to be +done manually, gtk_toggle_button_set_inconsistent() only affects +visual appearance, it doesn't affect the semantics of the button. + + + + + + %TRUE if state is inconsistent + + + + + + Gets the value set by gtk_toggle_button_set_inconsistent(). + + %TRUE if the button is displayed as inconsistent, %FALSE otherwise + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Returns a new #GtkToggleToolButton + + a newly created #GtkToggleToolButton + + + + + Creates a new #GtkToggleToolButton containing the image and text from a +stock item. Some stock ids have preprocessor macros like #GTK_STOCK_OK +and #GTK_STOCK_APPLY. +It is an error if @stock_id is not a name of a stock item. + + A new #GtkToggleToolButton + + + + + the name of the stock item + + + + + + Sets the status of the toggle tool button. Set to %TRUE if you +want the GtkToggleButton to be 'pressed in', and %FALSE to raise it. +This action causes the toggled signal to be emitted. + + + + + + whether @button should be active + + + + + + Queries a #GtkToggleToolButton and returns its current state. +Returns %TRUE if the toggle button is pressed in and %FALSE if it is raised. + + %TRUE if the toggle tool button is pressed in, %FALSE if not + + + + + If the toggle tool button should be pressed in or not. + + + + + + + + + + Emitted whenever the toggle tool button changes state. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Creates a new %GtkToolButton using @icon_widget as icon and @label as +label. + + A new #GtkToolButton + + + + + a #GtkMisc widget that will be used as icon widget, or %NULL + + + + a string that will be used as label, or %NULL + + + + + + Creates a new #GtkToolButton containing the image and text from a +stock item. Some stock ids have preprocessor macros like #GTK_STOCK_OK +and #GTK_STOCK_APPLY. +It is an error if @stock_id is not a name of a stock item. + + A new #GtkToolButton + + + + + the name of the stock item + + + + + + Sets @label as the label used for the tool button. The "label" property +only has an effect if not overridden by a non-%NULL "label_widget" property. +If both the "label_widget" and "label" properties are %NULL, the label +is determined by the "stock_id" property. If the "stock_id" property is also +%NULL, @button will not have a label. + + + + + + a string that will be used as label, or %NULL. + + + + + + Returns the label used by the tool button, or %NULL if the tool button +doesn't have a label. or uses a the label from a stock item. The returned +string is owned by GTK+, and must not be modified or freed. + + The label, or %NULL + + + + + If set, an underline in the label property indicates that the next character +should be used for the mnemonic accelerator key in the overflow menu. For +example, if the label property is "_Open" and @use_underline is %TRUE, +the label on the tool button will be "Open" and the item on the overflow +menu will have an underlined 'O'. +Labels shown on tool buttons never have mnemonics on them; this property +only affects the menu item on the overflow menu. + + + + + + whether the button label has the form "_Open" + + + + + + Returns whether underscores in the label property are used as mnemonics +on menu items on the overflow menu. See gtk_tool_button_set_use_underline(). +mnemonics on menu items on the overflow menu. + + %TRUE if underscores in the label property are used as + + + + + Sets the name of the stock item. See gtk_tool_button_new_from_stock(). +The stock_id property only has an effect if not +overridden by non-%NULL "label" and "icon_widget" properties. + + + + + + a name of a stock item, or %NULL + + + + + + Returns the name of the stock item. See gtk_tool_button_set_stock_id(). +The returned string is owned by GTK+ and must not be freed or modifed. + + the name of the stock item for @button. + + + + + + + + + + + + + + + + + + + + Sets @icon as the widget used as icon on @button. If @icon_widget is +%NULL the icon is determined by the "stock_id" property. If the +"stock_id" property is also %NULL, @button will not have an icon. + + + + + + the widget used as icon, or %NULL + + + + + + Return the widget used as icon widget on @button. See +gtk_tool_button_set_icon_widget(). + + The widget used as icon on @button, or %NULL. + + + + + Sets @label_widget as the widget that will be used as the label +for @button. If @label_widget is %NULL the "label" property is used +as label. If "label" is also %NULL, the label in the stock item +determined by the "stock_id" property is used as label. If +"stock_id" is also %NULL, @button does not have a label. + + + + + + the widget used as label, or %NULL + + + + + + Returns the widget used as label on @button. See +gtk_tool_button_set_label_widget(). + + The widget used as label on @button, or %NULL. + + + + + The name of the themed icon displayed on the item. +This property only has an effect if not overridden by "label", +"icon_widget" or "stock_id" properties. + + + + + + + + + + + + + + + + + + + + + + + + + This signal is emitted when the tool button is clicked with the mouse +or activated with the keyboard. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The GtkToolItem struct contains only private data. +It should only be accessed through the functions described below. + + + + + Creates a new #GtkToolItem + + the new #GtkToolItem + + + + + Sets whether @tool_item is to be allocated the same size as other +homogeneous items. The effect is that all homogeneous items will have +the same width as the widest of the items. + + + + + + whether @tool_item is the same size as other homogeneous items + + + + + + Returns whether @tool_item is the same size as other homogeneous +items. See gtk_tool_item_set_homogeneous(). +items. + + %TRUE if the item is the same size as other homogeneous + + + + + Sets whether @tool_item is allocated extra space when there +is more room on the toolbar then needed for the items. The +effect is that the item gets bigger when the toolbar gets bigger +and smaller when the toolbar gets smaller. + + + + + + Whether @tool_item is allocated extra space + + + + + + Returns whether @tool_item is allocated extra space. +See gtk_tool_item_set_expand(). + + %TRUE if @tool_item is allocated extra space. + + + + + Sets the #GtkTooltips object to be used for @tool_item, the +text to be displayed as tooltip on the item and the private text +to be used. See gtk_tooltips_set_tip(). + + + + + + The #GtkTooltips object to be used + + + + text to be used as tooltip text for @tool_item + + + + text to be used as private tooltip text + + + + + + Sets the text to be displayed as tooltip on the item. +See gtk_widget_set_tooltip_text(). + + + + + + text to be used as tooltip for @tool_item + + + + + + Sets the markup text to be displayed as tooltip on the item. +See gtk_widget_set_tooltip_markup(). + + + + + + markup text to be used as tooltip for @tool_item + + + + + + Sets whether @tool_item has a drag window. When %TRUE the +toolitem can be used as a drag source through gtk_drag_source_set(). +When @tool_item has a drag window it will intercept all events, +even those that would otherwise be sent to a child of @tool_item. + + + + + + Whether @tool_item has a drag window. + + + + + + Returns whether @tool_item has a drag window. See +gtk_tool_item_set_use_drag_window(). + + %TRUE if @tool_item uses a drag window. + + + + + Sets whether @tool_item is visible when the toolbar is docked horizontally. + + + + + + Whether @tool_item is visible when in horizontal mode + + + + + + Returns whether the @tool_item is visible on toolbars that are +docked horizontally. +docked horizontally. + + %TRUE if @tool_item is visible on toolbars that are + + + + + Sets whether @tool_item is visible when the toolbar is docked +vertically. Some tool items, such as text entries, are too wide to be +useful on a vertically docked toolbar. If @visible_vertical is %FALSE + + + + + + whether @tool_item is visible when the toolbar is in vertical mode + + + + + + Returns whether @tool_item is visible when the toolbar is docked vertically. +See gtk_tool_item_set_visible_vertical(). + + Whether @tool_item is visible when the toolbar is docked vertically + + + + + Returns whether @tool_item is considered important. See +gtk_tool_item_set_is_important() + + %TRUE if @tool_item is considered important. + + + + + Sets whether @tool_item should be considered important. The #GtkToolButton +class uses this property to determine whether to show or hide its label +when the toolbar style is %GTK_TOOLBAR_BOTH_HORIZ. The result is that +only tool buttons with the "is_important" property set have labels, an +effect known as "priority text" + + + + + + whether the tool item should be considered important + + + + + + Returns the ellipsize mode used for @tool_item. Custom subclasses of +#GtkToolItem should call this function to find out how text should +be ellipsized. +should be ellipsized. + + a #PangoEllipsizeMode indicating how text in @tool_item + + + + + Returns the icon size used for @tool_item. Custom subclasses of +#GtkToolItem should call this function to find out what size icons +they should use. +used for @tool_item + + a #GtkIconSize indicating the icon size + + + + + Returns the orientation used for @tool_item. Custom subclasses of +#GtkToolItem should call this function to find out what size icons +they should use. +used for @tool_item + + a #GtkOrientation indicating the orientation + + + + + Returns the toolbar style used for @tool_item. Custom subclasses of +#GtkToolItem should call this function in the handler of the +GtkToolItem::toolbar_reconfigured signal to find out in what style +the toolbar is displayed and change themselves accordingly +Possibilities are: +<itemizedlist> +<listitem> GTK_TOOLBAR_BOTH, meaning the tool item should show +both an icon and a label, stacked vertically </listitem> +<listitem> GTK_TOOLBAR_ICONS, meaning the toolbar shows +only icons </listitem> +<listitem> GTK_TOOLBAR_TEXT, meaning the tool item should only +show text</listitem> +<listitem> GTK_TOOLBAR_BOTH_HORIZ, meaning the tool item should show +both an icon and a label, arranged horizontally (however, note the +#GtkToolButton::has_text_horizontally that makes tool buttons not +show labels when the toolbar style is GTK_TOOLBAR_BOTH_HORIZ. +</listitem> +</itemizedlist> +for @tool_item. + + A #GtkToolbarStyle indicating the toolbar style used + + + + + Returns the relief style of @tool_item. See gtk_button_set_relief_style(). +Custom subclasses of #GtkToolItem should call this function in the handler +of the #GtkToolItem::toolbar_reconfigured signal to find out the +relief style of buttons. +for @tool_item. + + a #GtkReliefStyle indicating the relief style used + + + + + Returns the text alignment used for @tool_item. Custom subclasses of +#GtkToolItem should call this function to find out how text should +be aligned. +used for @tool_item + + a #gfloat indicating the horizontal text alignment + + + + + Returns the text orientation used for @tool_item. Custom subclasses of +#GtkToolItem should call this function to find out how text should +be orientated. +used for @tool_item + + a #GtkOrientation indicating the text orientation + + + + + Returns the size group used for labels in @tool_item. Custom subclasses of +#GtkToolItem should call this function and use the size group for labels. + + a #GtkSizeGroup + + + + + Returns the #GtkMenuItem that was last set by +gtk_tool_item_set_proxy_menu_item(), ie. the #GtkMenuItem +that is going to appear in the overflow menu. +overflow menu for @tool_item. + + The #GtkMenuItem that is going to appear in the + + + + + If @menu_item_id matches the string passed to +gtk_tool_item_set_proxy_menu_item() return the corresponding #GtkMenuItem. +Custom subclasses of #GtkToolItem should use this function to update +their menu item when the #GtkToolItem changes. That the +inadvertently change a menu item that they did not create. +gtk_tool_item_set_proxy_menu_item(), if the @menu_item_id<!-- -->s match. + + The #GtkMenuItem passed to + + + + + a string used to identify the menu item + + + + + + Sets the #GtkMenuItem used in the toolbar overflow menu. The +should also be used with gtk_tool_item_get_proxy_menu_item(). + + + + + + a string used to identify @menu_item + + + + a #GtkMenuItem to be used in the overflow menu + + + + + + Calling this function signals to the toolbar that the +overflow menu item for @tool_item has changed. If the +overflow menu is visible when this function it called, +the menu will be rebuilt. +The function must be called when the tool item changes what it +will do in response to the #GtkToolItem::create-menu-proxy signal. + + + + + + Emits the signal #GtkToolItem::toolbar_reconfigured on @tool_item. +#GtkToolbar and other #GtkToolShell implementations use this function +to notify children, when some aspect of their configuration changes. + + + + + + + + + + + + + + + + + + + + + This signal is emitted when the toolbar needs information from @tool_item +about whether the item should appear in the toolbar overflow menu. In +response the tool item should either +<itemizedlist> +<listitem>call gtk_tool_item_set_proxy_menu_item() with a %NULL +pointer and return %TRUE to indicate that the item should not appear +in the overflow menu +</listitem> +<listitem> call gtk_tool_item_set_proxy_menu_item() with a new menu +item and return %TRUE, or +</listitem> +<listitem> return %FALSE to indicate that the signal was not +handled by the item. This means that +the item will not appear in the overflow menu unless a later handler +installs a menu item. +</listitem> +</itemizedlist> +The toolbar may cache the result of this signal. When the tool item changes +how it will respond to this signal it must call gtk_tool_item_rebuild_menu() +to invalidate the cache and ensure that the toolbar rebuilds its overflow +menu. + + %TRUE if the signal was handled, %FALSE if not + + + + + This signal is emitted when the toolitem's tooltip changes. +Application developers can use gtk_tool_item_set_tooltip() to +set the item's tooltip. +need to use this signal anymore. + + %TRUE if the signal was handled, %FALSE if not + + + + + the #GtkTooltips + + + + the tooltip text + + + + the tooltip private text + + + + + + This signal is emitted when some property of the toolbar that the +item is a child of changes. For custom subclasses of #GtkToolItem, +the default handler of this signal use the functions +<itemizedlist> +<listitem>gtk_tool_shell_get_orientation()</listitem> +<listitem>gtk_tool_shell_get_style()</listitem> +<listitem>gtk_tool_shell_get_icon_size()</listitem> +<listitem>gtk_tool_shell_get_relief_style()</listitem> +</itemizedlist> +to find out what the toolbar should look like and change +themselves accordingly. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + This should not be accessed directly. Use the accessor functions below. + + + + + Creates a new tool item group with label @label. + + a new #GtkToolItemGroup. + + + + + the label of the new group + + + + + + Sets the label of the tool item group. The label is displayed in the header +of the group. + + + + + + the new human-readable label of of the group + + + + + + Sets the label of the tool item group. +The label widget is displayed in the header of the group, in place +of the usual label. + + + + + + the widget to be displayed in place of the usual label + + + + + + Sets whether the @group should be collapsed or expanded. + + + + + + whether the @group should be collapsed or expanded + + + + + + Sets the ellipsization mode which should be used by labels in @group. + + + + + + the #PangoEllipsizeMode labels in @group should use + + + + + + Set the button relief of the group header. +See gtk_button_set_relief() for details. + + + + + + the #GtkReliefStyle + + + + + + Gets the label of @group. +and must not be modified. Note that %NULL is returned if a custom +label has been set with gtk_tool_item_group_set_label_widget() + + the label of @group. The label is an internal string of @group + + + + + Gets the label widget of @group. +See gtk_tool_item_group_set_label_widget(). + + the label widget of @group + + + + + Gets whether @group is collapsed or expanded. + + %TRUE if @group is collapsed, %FALSE if it is expanded + + + + + Gets the ellipsization mode of @group. + + the #PangoEllipsizeMode of @group + + + + + Gets the relief mode of the header button of @group. + + the #GtkReliefStyle + + + + + Inserts @item at @position in the list of children of @group. + + + + + + the #GtkToolItem to insert into @group + + + + the position of @item in @group, starting with 0. The position -1 means end of list. + + + + + + Sets the position of @item in the list of children of @group. + + + + + + the #GtkToolItem to move to a new position, should be a child of @group. + + + + the new position of @item in @group, starting with 0. The position -1 means end of list. + + + + + + Gets the position of @item in @group as index. + + the index of @item in @group or -1 if @item is no child of @group + + + + + a #GtkToolItem + + + + + + Gets the number of tool items in @group. + + the number of tool items in @group + + + + + Gets the tool item at @index in group. + + the #GtkToolItem at index + + + + + the index + + + + + + Gets the tool item at position (x, y). + + the #GtkToolItem at position (x, y) + + + + + the x position + + + + the y position + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + This should not be accessed directly. Use the accessor functions below. + + + + + Creates a new tool palette. + + a new #GtkToolPalette + + + + + Gets the target entry for a dragged #GtkToolItem. + + the #GtkTargetEntry for a dragged item. + + + + + Get the target entry for a dragged #GtkToolItemGroup. + + the #GtkTargetEntry for a dragged group + + + + + Sets the position of the group as an index of the tool palette. +If position is 0 the group will become the first child, if position is +-1 it will become the last child. + + + + + + a #GtkToolItemGroup which is a child of palette + + + + a new index for group + + + + + + Sets whether the group should be exclusive or not. +If an exclusive group is expanded all other groups are collapsed. + + + + + + a #GtkToolItemGroup which is a child of palette + + + + whether the group should be exclusive or not + + + + + + Sets whether the group should be given extra space. + + + + + + a #GtkToolItemGroup which is a child of palette + + + + whether the group should be given extra space + + + + + + Gets the position of @group in @palette as index. +See gtk_tool_palette_set_group_position(). + + the index of group or -1 if @group is not a child of @palette + + + + + a #GtkToolItemGroup + + + + + + Gets whether @group is exclusive or not. +See gtk_tool_palette_set_exclusive(). + + %TRUE if @group is exclusive + + + + + a #GtkToolItemGroup which is a child of palette + + + + + + Gets whether group should be given extra space. +See gtk_tool_palette_set_expand(). + + %TRUE if group should be given extra space, %FALSE otherwise + + + + + a #GtkToolItemGroup which is a child of palette + + + + + + Sets the size of icons in the tool palette. + + + + + + the #GtkIconSize that icons in the tool palette shall have + + + + + + Unsets the tool palette icon size set with gtk_tool_palette_set_icon_size(), +so that user preferences will be used to determine the icon size. + + + + + + Sets the style (text, icons or both) of items in the tool palette. + + + + + + the #GtkToolbarStyle that items in the tool palette shall have + + + + + + Unsets a toolbar style set with gtk_tool_palette_set_style(), +so that user preferences will be used to determine the toolbar style. + + + + + + Gets the size of icons in the tool palette. +See gtk_tool_palette_set_icon_size(). + + the #GtkIconSize of icons in the tool palette + + + + + Gets the style (icons, text or both) of items in the tool palette. + + the #GtkToolbarStyle of items in the tool palette. + + + + + Gets the item at position (x, y). +See gtk_tool_palette_get_drop_group(). + + the #GtkToolItem at position or %NULL if there is no such item + + + + + the x position + + + + the y position + + + + + + Gets the group at position (x, y). +if there is no such group + + the #GtkToolItemGroup at position or %NULL + + + + + the x position + + + + the y position + + + + + + Get the dragged item from the selection. +This could be a #GtkToolItem or a #GtkToolItemGroup. + + the dragged item in selection + + + + + a #GtkSelectionData + + + + + + Sets the tool palette as a drag source. +Enables all groups and items in the tool palette as drag sources +on button 1 and button 3 press with copy and move actions. +See gtk_drag_source_set(). + + + + + + the #GtkToolPaletteDragTarget<!-- -->s which the widget should support + + + + + + Sets @palette as drag source (see gtk_tool_palette_set_drag_source()) +and sets @widget as a drag destination for drags from @palette. +See gtk_drag_dest_set(). + + + + + + a #GtkWidget which should be a drag destination for @palette + + + + the flags that specify what actions GTK+ should take for drops on that widget + + + + the #GtkToolPaletteDragTarget<!-- -->s which the widget should support + + + + the #GdkDragAction<!-- -->s which the widget should suppport + + + + + + Gets the horizontal adjustment of the tool palette. + + the horizontal adjustment of @palette + + + + + Gets the vertical adjustment of the tool palette. + + the vertical adjustment of @palette + + + + + The size of the icons in a tool palette is normally determined by +the #GtkSettings:toolbar-icon-size setting. When this property is set, +it overrides the setting. +This should only be used for special-purpose tool palettes, normal +application tool palettes should respect the user preferences for the +size of icons. + + + + Is %TRUE if the #GtkToolPalette:icon-size property has been set. + + + + The style of items in the tool palette. + + + + + + + + + + Set the scroll adjustments for the viewport. +Usually scrolled containers like GtkScrolledWindow will emit this +signal to connect two instances of GtkScrollbar to the scroll +directions of the GtkToolpalette. + + + + + + The horizontal adjustment + + + + The vertical adjustment + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Flags used to specify the supported drag targets. + + + + + + + Dummy structure for accessing instances of #GtkToolShellIface. + + + Retrieves the icon size for the tool shell. Tool items must not call this +function directly, but rely on gtk_tool_item_get_icon_size() instead. + + the current size for icons of @shell + + + + + Retrieves the current orientation for the tool shell. Tool items must not +call this function directly, but rely on gtk_tool_item_get_orientation() +instead. + + the current orientation of @shell + + + + + Retrieves whether the tool shell has text, icons, or both. Tool items must +not call this function directly, but rely on gtk_tool_item_get_style() +instead. + + the current style of @shell + + + + + Returns the relief style of buttons on @shell. Tool items must not call this +function directly, but rely on gtk_tool_item_get_relief_style() instead. + + The relief style of buttons on @shell. + + + + + Calling this function signals the tool shell that the overflow menu item for +tool items have changed. If there is an overflow menu and if it is visible +when this function it called, the menu will be rebuilt. +Tool items must not call this function directly, but rely on +gtk_tool_item_rebuild_menu() instead. + + + + + + Retrieves the current text orientation for the tool shell. Tool items must not +call this function directly, but rely on gtk_tool_item_get_text_orientation() +instead. + + the current text orientation of @shell + + + + + Retrieves the current text alignment for the tool shell. Tool items must not +call this function directly, but rely on gtk_tool_item_get_text_alignment() +instead. + + the current text alignment of @shell + + + + + + + + + + Retrieves the current text size group for the tool shell. Tool items must not +call this function directly, but rely on gtk_tool_item_get_text_size_group() +instead. + + the current text size group of @shell + + + + + Retrieves the icon size for the tool shell. Tool items must not call this +function directly, but rely on gtk_tool_item_get_icon_size() instead. + + the current size for icons of @shell + + + + + Retrieves the current orientation for the tool shell. Tool items must not +call this function directly, but rely on gtk_tool_item_get_orientation() +instead. + + the current orientation of @shell + + + + + Retrieves whether the tool shell has text, icons, or both. Tool items must +not call this function directly, but rely on gtk_tool_item_get_style() +instead. + + the current style of @shell + + + + + Returns the relief style of buttons on @shell. Tool items must not call this +function directly, but rely on gtk_tool_item_get_relief_style() instead. + + The relief style of buttons on @shell. + + + + + Calling this function signals the tool shell that the overflow menu item for +tool items have changed. If there is an overflow menu and if it is visible +when this function it called, the menu will be rebuilt. +Tool items must not call this function directly, but rely on +gtk_tool_item_rebuild_menu() instead. + + + + + + Retrieves the current text orientation for the tool shell. Tool items must not +call this function directly, but rely on gtk_tool_item_get_text_orientation() +instead. + + the current text orientation of @shell + + + + + Retrieves the current text alignment for the tool shell. Tool items must not +call this function directly, but rely on gtk_tool_item_get_text_alignment() +instead. + + the current text alignment of @shell + + + + + + + + + + Retrieves the current text size group for the tool shell. Tool items must not +call this function directly, but rely on gtk_tool_item_get_text_size_group() +instead. + + the current text size group of @shell + + + + + + Virtual function table for the #GtkToolShell interface. + + + + + + + the current size for icons of @shell + + + + + + + + + + + + + the current orientation of @shell + + + + + + + + + + + + + the current style of @shell + + + + + + + + + + + + + The relief style of buttons on @shell. + + + + + + + + + + + + + + + + + + + + + + + + + the current text orientation of @shell + + + + + + + + + + + + + the current text alignment of @shell + + + + + + + + + + + + + + + + + + + + + + + + + the current text size group of @shell + + + + + + + + + + + + + + + + + Creates a new toolbar. + + the newly-created toolbar. + + + + + Insert a #GtkToolItem into the toolbar at position @pos. If @pos is +0 the item is prepended to the start of the toolbar. If @pos is +negative, the item is appended to the end of the toolbar. + + + + + + a #GtkToolItem + + + + the position of the new item + + + + + + Returns the position of @item on the toolbar, starting from 0. +It is an error if @item is not a child of the toolbar. + + the position of item on the toolbar. + + + + + a #GtkToolItem that is a child of @toolbar + + + + + + Returns the number of items on the toolbar. + + the number of items on the toolbar + + + + + Returns the @n<!-- -->'th item on @toolbar, or %NULL if the +toolbar does not contain an @n<!-- -->'th item. +isn't an @n<!-- -->'th item. + + The @n<!-- -->'th #GtkToolItem on @toolbar, or %NULL if there + + + + + A position on the toolbar + + + + + + Returns whether the toolbar has an overflow menu. +See gtk_toolbar_set_show_arrow(). + + %TRUE if the toolbar has an overflow menu. + + + + + Sets whether to show an overflow menu when +items that there are not room are available through an +overflow menu. + + + + + + Whether to show an overflow menu + + + + + + Retrieves whether the toolbar has text, icons, or both . See +gtk_toolbar_set_style(). + + the current style of @toolbar + + + + + Alters the view of @toolbar to display either icons only, text only, or both. + + + + + + the new style for @toolbar. + + + + + + Unsets a toolbar style set with gtk_toolbar_set_style(), so that +user preferences will be used to determine the toolbar style. + + + + + + Retrieves the icon size for the toolbar. See gtk_toolbar_set_icon_size(). +the toolbar. + + the current icon size for the icons on + + + + + This function sets the size of stock icons in the toolbar. You +can call it both before you add the icons and after they've been +added. The size you set will override user preferences for the default +icon size. +This should only be used for special-purpose toolbars, normal +application toolbars should respect the user preferences for the +size of icons. + + + + + + The #GtkIconSize that stock icons in the toolbar shall have. + + + + + + Unsets toolbar icon size set with gtk_toolbar_set_icon_size(), so that +user preferences will be used to determine the icon size. + + + + + + Returns the relief style of buttons on @toolbar. See +gtk_button_set_relief(). + + The relief style of buttons on @toolbar. + + + + + Returns the position corresponding to the indicated point on +this function returns the position a new item should be +inserted. + + The position corresponding to the point (@x, @y) on the toolbar. + + + + + x coordinate of a point on the toolbar + + + + y coordinate of a point on the toolbar + + + + + + Highlights @toolbar to give an idea of what it would look like +if @item was added to @toolbar at the position indicated by @index_. +If @item is %NULL, highlighting is turned off. In that case @index_ +is ignored. +The @tool_item passed to this function must not be part of any widget +hierarchy. When an item is set as drop highlight item it can not +added to any widget hierarchy or used as highlight item for another +toolbar. + + + + + + a #GtkToolItem, or %NULL to turn of highlighting + + + + a position on @toolbar + + + + + + Retrieves the current orientation of the toolbar. See +gtk_toolbar_set_orientation(). + + the orientation + + + + + Sets whether a toolbar should appear horizontally or vertically. + + + + + + a new #GtkOrientation. + + + + + + Retrieves whether tooltips are enabled. See +gtk_toolbar_set_tooltips(). +is now used instead. + + %TRUE if tooltips are enabled + + + + + Sets if the tooltips of a toolbar should be active or not. +is now used instead. + + + + + + set to %FALSE to disable the tooltips, or %TRUE to enable them. + + + + + + Inserts a new item into the toolbar. You must specify the position +in the toolbar where it will be inserted. +arguments. Use G_CALLBACK() to cast the function to #GCallback. + + the new toolbar item as a #GtkWidget. + + + + + give your toolbar button a label. + + + + a string that appears when the user holds the mouse over this item. + + + + use with #GtkTipsQuery. + + + + a #GtkWidget that should be used as the button's icon. + + + + the function to be executed when the button is pressed. + + + + a pointer to any data you wish to be passed to the callback. + + + + + + Adds a new button to the beginning (top or left edges) of the given toolbar. +arguments. Use G_CALLBACK() to cast the function to #GCallback. + + the new toolbar item as a #GtkWidget. + + + + + give your toolbar button a label. + + + + a string that appears when the user holds the mouse over this item. + + + + use with #GtkTipsQuery. + + + + a #GtkWidget that should be used as the button's icon. + + + + the function to be executed when the button is pressed. + + + + a pointer to any data you wish to be passed to the callback. + + + + + + Inserts a new item into the toolbar. You must specify the position in the +toolbar where it will be inserted. +arguments. Use G_CALLBACK() to cast the function to #GCallback. + + the new toolbar item as a #GtkWidget. + + + + + give your toolbar button a label. + + + + a string that appears when the user holds the mouse over this item. + + + + use with #GtkTipsQuery. + + + + a #GtkWidget that should be used as the button's icon. + + + + the function to be executed when the button is pressed. + + + + a pointer to any data you wish to be passed to the callback. + + + + the number of widgets to insert this item after. + + + + + + Inserts a stock item at the specified position of the toolbar. If +except that underscores used to mark mnemonics are removed. +arguments. Use G_CALLBACK() to cast the function to #GCallback. + + the inserted widget + + + + + The id of the stock item you want to insert + + + + The text in the tooltip of the toolbar button + + + + The private text of the tooltip + + + + The callback called when the toolbar button is clicked. + + + + user data passed to callback + + + + The position the button shall be inserted at. -1 means at the end. + + + + + + Adds a new space to the end of the toolbar. + + + + + + Adds a new space to the beginning of the toolbar. + + + + + + Inserts a new space in the toolbar at the specified position. + + + + + + the number of widgets after which a space should be inserted. + + + + + + Removes a space from the specified position. + + + + + + the index of the space to remove. + + + + + + Adds a new element to the end of a toolbar. +If @type == %GTK_TOOLBAR_CHILD_WIDGET, @widget is used as the new element. +If @type == %GTK_TOOLBAR_CHILD_RADIOBUTTON, @widget is used to determine +the radio group for the new element. In all other cases, @widget must +be %NULL. +arguments. Use G_CALLBACK() to cast the function to #GCallback. + + the new toolbar element as a #GtkWidget. + + + + + a value of type #GtkToolbarChildType that determines what @widget will be. + + + + a #GtkWidget, or %NULL. + + + + the element's label. + + + + the element's tooltip. + + + + used for context-sensitive help about this toolbar element. + + + + a #GtkWidget that provides pictorial representation of the element's function. + + + + the function to be executed when the button is pressed. + + + + any data you wish to pass to the callback. + + + + + + Adds a new element to the beginning of a toolbar. +If @type == %GTK_TOOLBAR_CHILD_WIDGET, @widget is used as the new element. +If @type == %GTK_TOOLBAR_CHILD_RADIOBUTTON, @widget is used to determine +the radio group for the new element. In all other cases, @widget must +be %NULL. +arguments. Use G_CALLBACK() to cast the function to #GCallback. + + the new toolbar element as a #GtkWidget. + + + + + a value of type #GtkToolbarChildType that determines what @widget will be. + + + + a #GtkWidget, or %NULL + + + + the element's label. + + + + the element's tooltip. + + + + used for context-sensitive help about this toolbar element. + + + + a #GtkWidget that provides pictorial representation of the element's function. + + + + the function to be executed when the button is pressed. + + + + any data you wish to pass to the callback. + + + + + + Inserts a new element in the toolbar at the given position. +If @type == %GTK_TOOLBAR_CHILD_WIDGET, @widget is used as the new element. +If @type == %GTK_TOOLBAR_CHILD_RADIOBUTTON, @widget is used to determine +the radio group for the new element. In all other cases, @widget must +be %NULL. +arguments. Use G_CALLBACK() to cast the function to #GCallback. + + the new toolbar element as a #GtkWidget. + + + + + a value of type #GtkToolbarChildType that determines what @widget will be. + + + + a #GtkWidget, or %NULL. + + + + the element's label. + + + + the element's tooltip. + + + + used for context-sensitive help about this toolbar element. + + + + a #GtkWidget that provides pictorial representation of the element's function. + + + + the function to be executed when the button is pressed. + + + + any data you wish to pass to the callback. + + + + the number of widgets to insert this element after. + + + + + + Adds a widget to the end of the given toolbar. + + + + + + a #GtkWidget to add to the toolbar. + + + + the element's tooltip. + + + + used for context-sensitive help about this toolbar element. + + + + + + Adds a widget to the beginning of the given toolbar. + + + + + + a #GtkWidget to add to the toolbar. + + + + the element's tooltip. + + + + used for context-sensitive help about this toolbar element. + + + + + + Inserts a widget in the toolbar at the given position. + + + + + + a #GtkWidget to add to the toolbar. + + + + the element's tooltip. + + + + used for context-sensitive help about this toolbar element. + + + + the number of widgets to insert this widget after. + + + + + + The size of the icons in a toolbar is normally determined by +the toolbar-icon-size setting. When this property is set, it +overrides the setting. +This should only be used for special-purpose toolbars, normal +application toolbars should respect the user preferences for the +size of icons. + + + + Is %TRUE if the icon-size property has been set. + + + + + + + + + + If the tooltips of the toolbar should be active or not. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A keybinding signal used internally by GTK+. This signal can't +be used in application code + + %TRUE if the signal was handled, %FALSE if not + + + + + %TRUE if the first item should be focused + + + + + + Emitted when the orientation of the toolbar changes. + + + + + + the new #GtkOrientation of the toolbar + + + + + + Emitted when the user right-clicks the toolbar or uses the +keybinding to display a popup menu. +Application developers should handle this signal if they want +to display a context menu on the toolbar. The context-menu should +appear at the coordinates given by @x and @y. The mouse button +number is given by the @button parameter. If the menu was popped +up using the keybaord, @button is -1. + + return %TRUE if the signal was handled, %FALSE if not + + + + + the x coordinate of the point where the menu should appear + + + + the y coordinate of the point where the menu should appear + + + + the mouse button the user pressed, or -1 + + + + + + Emitted when the style of the toolbar changes. + + + + + + the new #GtkToolbarStyle of the toolbar + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Triggers a new tooltip query on @display, in order to update the current +visible tooltip, or to show/hide the current tooltip. This function is +useful to call when, for example, the state of the widget changed by a +key press. + + + + + + a #GdkDisplay + + + + + + Sets the text of the tooltip to be @markup, which is marked up +with the <link +linkend="PangoMarkupFormat">Pango text markup language</link>. +If @markup is %NULL, the label will be hidden. + + + + + + a markup string (see <link linkend="PangoMarkupFormat">Pango markup format</link>) or %NULL + + + + + + Sets the text of the tooltip to be @text. If @text is %NULL, the label +will be hidden. See also gtk_tooltip_set_markup(). + + + + + + a text string or %NULL + + + + + + Sets the icon of the tooltip (which is in front of the text) to be + + + + + + a #GdkPixbuf, or %NULL + + + + + + Sets the icon of the tooltip (which is in front of the text) to be +the stock item indicated by @stock_id with the size indicated +by @size. If @stock_id is %NULL, the image will be hidden. + + + + + + a stock id, or %NULL + + + + a stock icon size + + + + + + Sets the icon of the tooltip (which is in front of the text) to be +the icon indicated by @icon_name with the size indicated +by @size. If @icon_name is %NULL, the image will be hidden. + + + + + + an icon name, or %NULL + + + + a stock icon size + + + + + + Sets the icon of the tooltip (which is in front of the text) +to be the icon indicated by @gicon with the size indicated +by @size. If @gicon is %NULL, the image will be hidden. + + + + + + a #GIcon representing the icon, or %NULL + + + + a stock icon size + + + + + + Replaces the widget packed into the tooltip with +away. +By default a box with a #GtkImage and #GtkLabel is embedded in +the tooltip, which can be configured using gtk_tooltip_set_markup() +and gtk_tooltip_set_icon(). + + + + + + a #GtkWidget, or %NULL to unset the old custom widget. + + + + + + Sets the area of the widget, where the contents of this tooltip apply, +to be @rect (in widget coordinates). This is especially useful for +properly setting tooltips on #GtkTreeView rows and cells, #GtkIconViews, +etc. +For setting tooltips on #GtkTreeView, please refer to the convenience +gtk_tree_view_set_tooltip_cell(). + + + + + + a #GdkRectangle + + + + + + + + + + + + + + + + + + + + + + + Determines the tooltips and the widget they belong to from the window in +which they are displayed. +This function is mostly intended for use by accessibility technologies; +applications should have little use for it. + + %TRUE if @tip_window is displaying tooltips, otherwise %FALSE. + + + + + a #GtkWindow + + + + the return location for the tooltips which are displayed in @tip_window, or %NULL + + + + the return location for the widget whose tooltips are displayed, or %NULL + + + + + + + + + + + + + + + + + + + + + + + + + + Adds a tooltip containing the message @tip_text to the specified #GtkWidget. + + + + + + the #GtkWidget you wish to associate the tip with. + + + + a string containing the tip itself. + + + + a string of any further information that may be useful if the user gets stuck. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Asks the #GtkTreeDragDest to insert a row before the path @dest, +deriving the contents of the row from @selection_data. If @dest is +outside the tree so that inserting before it is impossible, %FALSE +will be returned. Also, %FALSE may be returned if the new row is +not created for some model-specific reason. Should robustly handle +a @dest no longer found in the model! + + whether a new row was created before position @dest + + + + + row to drop in front of + + + + data to drop + + + + + + Determines whether a drop is possible before the given @dest_path, +at the same depth as @dest_path. i.e., can we drop the data in +exist; the return value will almost certainly be %FALSE if the +parent of @dest_path doesn't exist, though. + + %TRUE if a drop is possible before @dest_path + + + + + destination row + + + + the data being dragged + + + + + + Asks the #GtkTreeDragDest to insert a row before the path @dest, +deriving the contents of the row from @selection_data. If @dest is +outside the tree so that inserting before it is impossible, %FALSE +will be returned. Also, %FALSE may be returned if the new row is +not created for some model-specific reason. Should robustly handle +a @dest no longer found in the model! + + whether a new row was created before position @dest + + + + + row to drop in front of + + + + data to drop + + + + + + Determines whether a drop is possible before the given @dest_path, +at the same depth as @dest_path. i.e., can we drop the data in +exist; the return value will almost certainly be %FALSE if the +parent of @dest_path doesn't exist, though. + + %TRUE if a drop is possible before @dest_path + + + + + destination row + + + + the data being dragged + + + + + + + + + + + + + whether a new row was created before position @dest + + + + + + + + row to drop in front of + + + + data to drop + + + + + + + + + %TRUE if a drop is possible before @dest_path + + + + + + + + destination row + + + + the data being dragged + + + + + + + + + Asks the #GtkTreeDragSource whether a particular row can be used as +the source of a DND operation. If the source doesn't implement +this interface, the row is assumed draggable. + + %TRUE if the row can be dragged + + + + + row on which user is initiating a drag + + + + + + Asks the #GtkTreeDragSource to fill in @selection_data with a +representation of the row at @path. @selection_data->target gives +the required type of the data. Should robustly handle a @path no +longer found in the model! + + %TRUE if data of the required type was provided + + + + + row that was dragged + + + + a #GtkSelectionData to fill with data from the dragged row + + + + + + Asks the #GtkTreeDragSource to delete the row at @path, because +it was moved somewhere else via drag-and-drop. Returns %FALSE +if the deletion fails because @path no longer exists, or for +some model-specific reason. Should robustly handle a @path no +longer found in the model! + + %TRUE if the row was successfully deleted + + + + + row that was being dragged + + + + + + Asks the #GtkTreeDragSource whether a particular row can be used as +the source of a DND operation. If the source doesn't implement +this interface, the row is assumed draggable. + + %TRUE if the row can be dragged + + + + + row on which user is initiating a drag + + + + + + Asks the #GtkTreeDragSource to delete the row at @path, because +it was moved somewhere else via drag-and-drop. Returns %FALSE +if the deletion fails because @path no longer exists, or for +some model-specific reason. Should robustly handle a @path no +longer found in the model! + + %TRUE if the row was successfully deleted + + + + + row that was being dragged + + + + + + Asks the #GtkTreeDragSource to fill in @selection_data with a +representation of the row at @path. @selection_data->target gives +the required type of the data. Should robustly handle a @path no +longer found in the model! + + %TRUE if data of the required type was provided + + + + + row that was dragged + + + + a #GtkSelectionData to fill with data from the dragged row + + + + + + + + + + + + + %TRUE if the row can be dragged + + + + + + + + row on which user is initiating a drag + + + + + + + + + %TRUE if data of the required type was provided + + + + + + + + row that was dragged + + + + a #GtkSelectionData to fill with data from the dragged row + + + + + + + + + %TRUE if the row was successfully deleted + + + + + + + + row that was being dragged + + + + + + + + + + + + + + + + + + + + + Creates a dynamically allocated tree iterator as a copy of @iter. +This function is not intended for use in applications, because you +can just copy the structs by value +(<literal>GtkTreeIter new_iter = iter;</literal>). +You must free this iter with gtk_tree_iter_free(). + + a newly-allocated copy of @iter. + + + + + Frees an iterator that has been allocated by gtk_tree_iter_copy(). +This function is mainly used for language bindings. + + + + + + + + + + + + + + + + + + + + + + + + + + + Returns a set of flags supported by this interface. The flags are a bitwise +combination of #GtkTreeModelFlags. The flags supported should not change +during the lifecycle of the @tree_model. + + The flags supported by this interface. + + + + + Returns the number of columns supported by @tree_model. + + The number of columns. + + + + + Returns the type of the column. + + The type of the column. + + + + + The column index. + + + + + + Sets @iter to a valid iterator pointing to @path. + + %TRUE, if @iter was set. + + + + + The uninitialized #GtkTreeIter. + + + + The #GtkTreePath. + + + + + + Returns a newly-created #GtkTreePath referenced by @iter. This path should +be freed with gtk_tree_path_free(). + + a newly-created #GtkTreePath. + + + + + The #GtkTreeIter. + + + + + + Initializes and sets @value to that at @column. +When done with @value, g_value_unset() needs to be called +to free any allocated memory. + + + + + + The #GtkTreeIter. + + + + The column to lookup the value at. + + + + (inout) (transfer none) An empty #GValue to set. + + + + + + Sets @iter to point to the node following it at the current level. If there +is no next @iter, %FALSE is returned and @iter is set to be invalid. + + %TRUE if @iter has been changed to the next node. + + + + + The #GtkTreeIter. + + + + + + Sets @iter to point to the first child of @parent. If @parent has no +children, %FALSE is returned and @iter is set to be invalid. @parent +will remain a valid node after this function has been called. +If @parent is %NULL returns the first node, equivalent to +<literal>gtk_tree_model_get_iter_first (tree_model, iter);</literal> + + %TRUE, if @child has been set to the first child. + + + + + The new #GtkTreeIter to be set to the child. + + + + The #GtkTreeIter, or %NULL + + + + + + Returns %TRUE if @iter has children, %FALSE otherwise. + + %TRUE if @iter has children. + + + + + The #GtkTreeIter to test for children. + + + + + + Returns the number of children that @iter has. As a special case, if @iter +is %NULL, then the number of toplevel nodes is returned. + + The number of children of @iter. + + + + + The #GtkTreeIter, or %NULL. + + + + + + Sets @iter to be the child of @parent, using the given index. The first +index is 0. If @n is too big, or @parent has no children, @iter is set +to an invalid iterator and %FALSE is returned. @parent will remain a valid +node after this function has been called. As a special case, if @parent is +%NULL, then the @n<!-- -->th root node is set. + + %TRUE, if @parent has an @n<!-- -->th child. + + + + + The #GtkTreeIter to set to the nth child. + + + + The #GtkTreeIter to get the child from, or %NULL. + + + + Then index of the desired child. + + + + + + Sets @iter to be the parent of @child. If @child is at the toplevel, and +doesn't have a parent, then @iter is set to an invalid iterator and %FALSE +is returned. @child will remain a valid node after this function has been +called. + + %TRUE, if @iter is set to the parent of @child. + + + + + The new #GtkTreeIter to set to the parent. + + + + The #GtkTreeIter. + + + + + + Lets the tree ref the node. This is an optional method for models to +implement. To be more specific, models may ignore this call as it exists +primarily for performance reasons. +This function is primarily meant as a way for views to let caching model +know when nodes are being displayed (and hence, whether or not to cache that +node.) For example, a file-system based model would not want to keep the +entire file-hierarchy in memory, just the sections that are currently being +displayed by every current view. +A model should be expected to be able to get an iter independent of its +reffed state. + + + + + + The #GtkTreeIter. + + + + + + Lets the tree unref the node. This is an optional method for models to +implement. To be more specific, models may ignore this call as it exists +primarily for performance reasons. +For more information on what this means, see gtk_tree_model_ref_node(). +Please note that nodes that are deleted are not unreffed. + + + + + + The #GtkTreeIter. + + + + + + Returns a set of flags supported by this interface. The flags are a bitwise +combination of #GtkTreeModelFlags. The flags supported should not change +during the lifecycle of the @tree_model. + + The flags supported by this interface. + + + + + Returns the number of columns supported by @tree_model. + + The number of columns. + + + + + Returns the type of the column. + + The type of the column. + + + + + The column index. + + + + + + Sets @iter to a valid iterator pointing to @path. + + %TRUE, if @iter was set. + + + + + The uninitialized #GtkTreeIter. + + + + The #GtkTreePath. + + + + + + Sets @iter to a valid iterator pointing to @path_string, if it +exists. Otherwise, @iter is left invalid and %FALSE is returned. + + %TRUE, if @iter was set. + + + + + An uninitialized #GtkTreeIter. + + + + A string representation of a #GtkTreePath. + + + + + + Generates a string representation of the iter. This string is a ':' +separated list of numbers. For example, "4:10:0:3" would be an +acceptable return value for this string. + + A newly-allocated string. Must be freed with g_free(). + + + + + An #GtkTreeIter. + + + + + + Initializes @iter with the first iterator in the tree (the one at the path +"0") and returns %TRUE. Returns %FALSE if the tree is empty. + + %TRUE, if @iter was set. + + + + + The uninitialized #GtkTreeIter. + + + + + + Returns a newly-created #GtkTreePath referenced by @iter. This path should +be freed with gtk_tree_path_free(). + + a newly-created #GtkTreePath. + + + + + The #GtkTreeIter. + + + + + + Initializes and sets @value to that at @column. +When done with @value, g_value_unset() needs to be called +to free any allocated memory. + + + + + + The #GtkTreeIter. + + + + The column to lookup the value at. + + + + (inout) (transfer none) An empty #GValue to set. + + + + + + Sets @iter to point to the node following it at the current level. If there +is no next @iter, %FALSE is returned and @iter is set to be invalid. + + %TRUE if @iter has been changed to the next node. + + + + + The #GtkTreeIter. + + + + + + Sets @iter to point to the first child of @parent. If @parent has no +children, %FALSE is returned and @iter is set to be invalid. @parent +will remain a valid node after this function has been called. +If @parent is %NULL returns the first node, equivalent to +<literal>gtk_tree_model_get_iter_first (tree_model, iter);</literal> + + %TRUE, if @child has been set to the first child. + + + + + The new #GtkTreeIter to be set to the child. + + + + The #GtkTreeIter, or %NULL + + + + + + Returns %TRUE if @iter has children, %FALSE otherwise. + + %TRUE if @iter has children. + + + + + The #GtkTreeIter to test for children. + + + + + + Returns the number of children that @iter has. As a special case, if @iter +is %NULL, then the number of toplevel nodes is returned. + + The number of children of @iter. + + + + + The #GtkTreeIter, or %NULL. + + + + + + Sets @iter to be the child of @parent, using the given index. The first +index is 0. If @n is too big, or @parent has no children, @iter is set +to an invalid iterator and %FALSE is returned. @parent will remain a valid +node after this function has been called. As a special case, if @parent is +%NULL, then the @n<!-- -->th root node is set. + + %TRUE, if @parent has an @n<!-- -->th child. + + + + + The #GtkTreeIter to set to the nth child. + + + + The #GtkTreeIter to get the child from, or %NULL. + + + + Then index of the desired child. + + + + + + Sets @iter to be the parent of @child. If @child is at the toplevel, and +doesn't have a parent, then @iter is set to an invalid iterator and %FALSE +is returned. @child will remain a valid node after this function has been +called. + + %TRUE, if @iter is set to the parent of @child. + + + + + The new #GtkTreeIter to set to the parent. + + + + The #GtkTreeIter. + + + + + + Lets the tree ref the node. This is an optional method for models to +implement. To be more specific, models may ignore this call as it exists +primarily for performance reasons. +This function is primarily meant as a way for views to let caching model +know when nodes are being displayed (and hence, whether or not to cache that +node.) For example, a file-system based model would not want to keep the +entire file-hierarchy in memory, just the sections that are currently being +displayed by every current view. +A model should be expected to be able to get an iter independent of its +reffed state. + + + + + + The #GtkTreeIter. + + + + + + Lets the tree unref the node. This is an optional method for models to +implement. To be more specific, models may ignore this call as it exists +primarily for performance reasons. +For more information on what this means, see gtk_tree_model_ref_node(). +Please note that nodes that are deleted are not unreffed. + + + + + + The #GtkTreeIter. + + + + + + Gets the value of one or more cells in the row referenced by @iter. +The variable argument list should contain integer column numbers, +each column number followed by a place to store the value being +retrieved. The list is terminated by a -1. For example, to get a +value from column 0 with type %G_TYPE_STRING, you would +where <literal>place_string_here</literal> is a <type>gchar*</type> to be +filled with the string. +If appropriate, the returned values have to be freed or unreferenced. + + + + + + a row in @tree_model + + + + + + + + + + Calls func on each node in model in a depth-first fashion. +If @func returns %TRUE, then the tree ceases to be walked, and +gtk_tree_model_foreach() returns. + + + + + + A function to be called on each row + + + + User data to passed to func. + + + + + + Emits the "row-changed" signal on @tree_model. + + + + + + A #GtkTreePath pointing to the changed row + + + + A valid #GtkTreeIter pointing to the changed row + + + + + + Emits the "row-inserted" signal on @tree_model + + + + + + A #GtkTreePath pointing to the inserted row + + + + A valid #GtkTreeIter pointing to the inserted row + + + + + + Emits the "row-has-child-toggled" signal on @tree_model. This should be +called by models after the child state of a node changes. + + + + + + A #GtkTreePath pointing to the changed row + + + + A valid #GtkTreeIter pointing to the changed row + + + + + + Emits the "row-deleted" signal on @tree_model. This should be called by +models after a row has been removed. The location pointed to by @path +should be the location that the row previously was at. It may not be a +valid location anymore. + + + + + + A #GtkTreePath pointing to the previous location of the deleted row. + + + + + + Emits the "rows-reordered" signal on @tree_model. This should be called by +models when their rows have been reordered. + + + + + + A #GtkTreePath pointing to the tree node whose children have been reordered + + + + A valid #GtkTreeIter pointing to the node whose children have been reordered, or %NULL if the depth of @path is 0. + + + + an array of integers mapping the current position of each child to its old position before the re-ordering, i.e. @new_order<literal>[newpos] = oldpos</literal>. + + + + + + This signal is emitted when a row in the model has changed. + + + + + + a #GtkTreePath identifying the changed row + + + + a valid #GtkTreeIter pointing to the changed row + + + + + + This signal is emitted when a row has been deleted. +Note that no iterator is passed to the signal handler, +since the row is already deleted. +Implementations of GtkTreeModel must emit row-deleted +<emphasis>before</emphasis> removing the node from its +internal data structures. This is because models and +views which access and monitor this model might have +references on the node which need to be released in the +row-deleted handler. + + + + + + a #GtkTreePath identifying the row + + + + + + This signal is emitted when a row has gotten the first child row or lost +its last child row. + + + + + + a #GtkTreePath identifying the row + + + + a valid #GtkTreeIter pointing to the row + + + + + + This signal is emitted when a new row has been inserted in the model. +Note that the row may still be empty at this point, since +it is a common pattern to first insert an empty row, and +then fill it with the desired values. + + + + + + a #GtkTreePath identifying the new row + + + + a valid #GtkTreeIter pointing to the new row + + + + + + This signal is emitted when the children of a node in the #GtkTreeModel +have been reordered. +Note that this signal is <emphasis>not</emphasis> emitted +when rows are reordered by DND, since this is implemented +by removing and then reinserting the row. + + + + + + a #GtkTreePath identifying the tree node whose children have been reordered + + + + a valid #GtkTreeIter pointing to the node whose + + + + an array of integers mapping the current position of each child to its old position before the re-ordering, i.e. @new_order<literal>[newpos] = oldpos</literal>. + + + + + + + + + + Creates a new #GtkTreeModel, with @child_model as the child_model +and @root as the virtual root. + + A new #GtkTreeModel. + + + + + A #GtkTreeModel. + + + + A #GtkTreePath or %NULL. + + + + + + Sets the visible function used when filtering the @filter to be @func. The +function should return %TRUE if the given row should be visible and +%FALSE otherwise. +If the condition calculated by the function changes over time (e.g. because +it depends on some global parameters), you must call +gtk_tree_model_filter_refilter() to keep the visibility information of +the model uptodate. +Note that @func is called whenever a row is inserted, when it may still be +empty. The visible function should therefore take special care of empty +rows, like in the example below. +<informalexample><programlisting> +static gboolean +visible_func (GtkTreeModel *model, +GtkTreeIter *iter, +gpointer data) +{ +/&ast; Visible if row is non-empty and first column is "HI" &ast;/ +gchar *str; +gboolean visible = FALSE; +gtk_tree_model_get (model, iter, 0, &str, -1); +if (str && strcmp (str, "HI") == 0) +visible = TRUE; +g_free (str); +return visible; +} +</programlisting></informalexample> + + + + + + A #GtkTreeModelFilterVisibleFunc, the visible function. + + + + User data to pass to the visible function, or %NULL. + + + + Destroy notifier of @data, or %NULL. + + + + + + With the @n_columns and @types parameters, you give an array of column +types for this model (which will be exposed to the parent model/view). +The @func, @data and @destroy parameters are for specifying the modify +function. The modify function will get called for <emphasis>each</emphasis> +data access, the goal of the modify function is to return the data which +should be displayed at the location specified using the parameters of the +modify function. + + + + + + The number of columns in the filter model. + + + + The #GType<!-- -->s of the columns. + + + + A #GtkTreeModelFilterModifyFunc + + + + User data to pass to the modify function, or %NULL. + + + + Destroy notifier of @data, or %NULL. + + + + + + Sets @column of the child_model to be the column where @filter should +look for visibility information. @columns should be a column of type +%G_TYPE_BOOLEAN, where %TRUE means that a row is visible, and %FALSE +if not. + + + + + + A #gint which is the column containing the visible information. + + + + + + Returns a pointer to the child model of @filter. + + A pointer to a #GtkTreeModel. + + + + + Sets @filter_iter to point to the row in @filter that corresponds to the +row pointed at by @child_iter. If @filter_iter was not set, %FALSE is +returned. +valid iterator pointing to a visible row in child model. + + %TRUE, if @filter_iter was set, i.e. if @child_iter is a + + + + + An uninitialized #GtkTreeIter. + + + + A valid #GtkTreeIter pointing to a row on the child model. + + + + + + Sets @child_iter to point to the row pointed to by @filter_iter. + + + + + + An uninitialized #GtkTreeIter. + + + + A valid #GtkTreeIter pointing to a row on @filter. + + + + + + Converts @child_path to a path relative to @filter. That is, @child_path +points to a path in the child model. The rerturned path will point to the +same row in the filtered model. If @child_path isn't a valid path on the +child model or points to a row which is not visible in @filter, then %NULL +is returned. + + A newly allocated #GtkTreePath, or %NULL. + + + + + A #GtkTreePath to convert. + + + + + + Converts @filter_path to a path on the child model of @filter. That is, +point to the same location in the model not being filtered. If @filter_path +does not point to a location in the child model, %NULL is returned. + + A newly allocated #GtkTreePath, or %NULL. + + + + + A #GtkTreePath to convert. + + + + + + Emits ::row_changed for each row in the child model, which causes +the filter to re-evaluate whether a row is visible or not. + + + + + + This function should almost never be called. It clears the @filter +of any cached iterators that haven't been reffed with +gtk_tree_model_ref_node(). This might be useful if the child model +being filtered is static (and doesn't change often) and there has been +a lot of unreffed access to nodes. As a side effect of this function, +all unreffed iters will be invalid. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The flags supported by this interface. + + + + + + + + + + + + + The number of columns. + + + + + + + + + + + + + The type of the column. + + + + + + + + The column index. + + + + + + + + + %TRUE, if @iter was set. + + + + + + + + The uninitialized #GtkTreeIter. + + + + The #GtkTreePath. + + + + + + + + + a newly-created #GtkTreePath. + + + + + + + + The #GtkTreeIter. + + + + + + + + + + + + + + + + The #GtkTreeIter. + + + + The column to lookup the value at. + + + + (inout) (transfer none) An empty #GValue to set. + + + + + + + + + %TRUE if @iter has been changed to the next node. + + + + + + + + The #GtkTreeIter. + + + + + + + + + %TRUE, if @child has been set to the first child. + + + + + + + + The new #GtkTreeIter to be set to the child. + + + + The #GtkTreeIter, or %NULL + + + + + + + + + %TRUE if @iter has children. + + + + + + + + The #GtkTreeIter to test for children. + + + + + + + + + The number of children of @iter. + + + + + + + + The #GtkTreeIter, or %NULL. + + + + + + + + + %TRUE, if @parent has an @n<!-- -->th child. + + + + + + + + The #GtkTreeIter to set to the nth child. + + + + The #GtkTreeIter to get the child from, or %NULL. + + + + Then index of the desired child. + + + + + + + + + %TRUE, if @iter is set to the parent of @child. + + + + + + + + The new #GtkTreeIter to set to the parent. + + + + The #GtkTreeIter. + + + + + + + + + + + + + + + + The #GtkTreeIter. + + + + + + + + + + + + + + + + The #GtkTreeIter. + + + + + + + + + + + + Creates a new #GtkTreeModel, with @child_model as the child model. + + A new #GtkTreeModel. + + + + + A #GtkTreeModel + + + + + + Returns the model the #GtkTreeModelSort is sorting. + + the "child model" being sorted + + + + + Converts @child_path to a path relative to @tree_model_sort. That is, +point to the same row in the sorted model. If @child_path isn't a valid +path on the child model, then %NULL is returned. + + A newly allocated #GtkTreePath, or %NULL + + + + + A #GtkTreePath to convert + + + + + + Sets @sort_iter to point to the row in @tree_model_sort that corresponds to +the row pointed at by @child_iter. If @sort_iter was not set, %FALSE +valid iterator pointer to a visible row in the child model. + + %TRUE, if @sort_iter was set, i.e. if @sort_iter is a + + + + + An uninitialized #GtkTreeIter. + + + + A valid #GtkTreeIter pointing to a row on the child model + + + + + + Converts @sorted_path to a path on the child model of @tree_model_sort. +That is, @sorted_path points to a location in @tree_model_sort. The +returned path will point to the same location in the model not being +sorted. If @sorted_path does not point to a location in the child model, +%NULL is returned. + + A newly allocated #GtkTreePath, or %NULL + + + + + A #GtkTreePath to convert + + + + + + Sets @child_iter to point to the row pointed to by @sorted_iter. + + + + + + An uninitialized #GtkTreeIter + + + + A valid #GtkTreeIter pointing to a row on @tree_model_sort. + + + + + + This resets the default sort function to be in the 'unsorted' state. That +is, it is in the same order as the child model. It will re-sort the model +to be in the same order as the child model only if the #GtkTreeModelSort +is in 'unsorted' state. + + + + + + This function should almost never be called. It clears the @tree_model_sort +of any cached iterators that haven't been reffed with +gtk_tree_model_ref_node(). This might be useful if the child model being +sorted is static (and doesn't change often) and there has been a lot of +unreffed access to nodes. As a side effect of this function, all unreffed +iters will be invalid. + + + + + + <warning><para> +This function is slow. Only use it for debugging and/or testing purposes. +</para></warning> +Checks if the given iter is a valid iter for this #GtkTreeModelSort. + + %TRUE if the iter is valid, %FALSE if the iter is invalid. + + + + + A #GtkTreeIter. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Creates a new #GtkTreePath. This structure refers to a row. + + A newly created #GtkTreePath. + + + + + Creates a new #GtkTreePath initialized to @path. @path is expected to be a +colon separated list of numbers. For example, the string "10:4:0" would +create a path of depth 3 pointing to the 11th child of the root node, the 5th +child of that 11th child, and the 1st child of that 5th child. If an invalid +path string is passed in, %NULL is returned. + + A newly-created #GtkTreePath, or %NULL + + + + + The string representation of a path. + + + + + + Creates a new path with @first_index and @varargs as indices. + + A newly created #GtkTreePath. + + + + + first integer + + + + + + + + + + Creates a new #GtkTreePath. The string representation of this path is "0" + + A new #GtkTreePath. + + + + + Generates a string representation of the path. This string is a ':' +separated list of numbers. For example, "4:10:0:3" would be an acceptable return value for this string. + + A newly-allocated string. Must be freed with g_free(). + + + + + Appends a new index to a path. As a result, the depth of the path is +increased. + + + + + + The index. + + + + + + Prepends a new index to a path. As a result, the depth of the path is +increased. + + + + + + The index. + + + + + + Returns the current depth of @path. + + The depth of @path + + + + + Returns the current indices of @path. This is an array of integers, each +representing a node in a tree. This value should not be freed. + + The current indices, or %NULL. + + + + + Frees @path. + + + + + + Creates a new #GtkTreePath as a copy of @path. + + A new #GtkTreePath. + + + + + Compares two paths. If @a appears before @b in a tree, then -1 is returned. +If @b appears before @a, then 1 is returned. If the two nodes are equal, +then 0 is returned. + + The relative positions of @a and @b + + + + + A #GtkTreePath to compare with. + + + + + + Moves the @path to point to the next node at the current depth. + + + + + + Moves the @path to point to the previous node at the current depth, +if it exists. + + %TRUE if @path has a previous node, and the move was made. + + + + + Moves the @path to point to its parent node, if it has a parent. + + %TRUE if @path has a parent, and the move was made. + + + + + Moves @path to point to the first child of the current path. + + + + + + Returns %TRUE if @descendant is a descendant of @path. + + %TRUE if @descendant is contained inside @path + + + + + another #GtkTreePath + + + + + + Returns %TRUE if @path is a descendant of @ancestor. + + %TRUE if @ancestor contains @path somewhere below it + + + + + another #GtkTreePath + + + + + + + + Creates a row reference based on @path. This reference will keep pointing +to the node pointed to by @path, so long as it exists. It listens to all +signals emitted by @model, and updates its path appropriately. If @path +isn't a valid path in @model, then %NULL is returned. + + A newly allocated #GtkTreeRowReference, or %NULL + + + + + A #GtkTreeModel + + + + A valid #GtkTreePath to monitor + + + + + + You do not need to use this function. Creates a row reference based on +so long as it exists. If @path isn't a valid path in @model, then %NULL is +returned. However, unlike references created with +gtk_tree_row_reference_new(), it does not listen to the model for changes. +The creator of the row reference must do this explicitly using +gtk_tree_row_reference_inserted(), gtk_tree_row_reference_deleted(), +gtk_tree_row_reference_reordered(). +These functions must be called exactly once per proxy when the +corresponding signal on the model is emitted. This single call +updates all row references for that proxy. Since built-in GTK+ +objects like #GtkTreeView already use this mechanism internally, +using them as the proxy object will produce unpredictable results. +Further more, passing the same object as @model and @proxy +doesn't work for reasons of internal implementation. +This type of row reference is primarily meant by structures that need to +carefully monitor exactly when a row reference updates itself, and is not +generally needed by most applications. + + A newly allocated #GtkTreeRowReference, or %NULL + + + + + A proxy #GObject + + + + A #GtkTreeModel + + + + A valid #GtkTreePath to monitor + + + + + + Returns a path that the row reference currently points to, or %NULL if the +path pointed to is no longer valid. + + A current path, or %NULL. + + + + + Returns the model that the row reference is monitoring. + + the model + + + + + Returns %TRUE if the @reference is non-%NULL and refers to a current valid +path. + + %TRUE if @reference points to a valid path. + + + + + Copies a #GtkTreeRowReference. + + a copy of @reference. + + + + + Free's @reference. @reference may be %NULL. + + + + + + + + Sets the selection mode of the @selection. If the previous type was +#GTK_SELECTION_MULTIPLE, then the anchor is kept selected, if it was +previously selected. + + + + + + The selection mode + + + + + + Gets the selection mode for @selection. See +gtk_tree_selection_set_mode(). + + the current selection mode + + + + + Sets the selection function. If set, this function is called before any node +is selected or unselected, giving some control over which nodes are selected. +The select function should return %TRUE if the state of the node may be toggled, +and %FALSE if the state of the node should be left unchanged. + + + + + + The selection function. + + + + The selection function's data. + + + + The destroy function for user data. May be NULL. + + + + + + Returns the user data for the selection function. + + The user data. + + + + + Returns the tree view associated with @selection. + + A #GtkTreeView + + + + + Returns the current selection function. + + The function. + + + + + Sets @iter to the currently selected node if @selection is set to +#GTK_SELECTION_SINGLE or #GTK_SELECTION_BROWSE. @iter may be NULL if you +just want to test if @selection has any selected nodes. @model is filled +with the current model as a convenience. This function will not work if you +use @selection is #GTK_SELECTION_MULTIPLE. + + TRUE, if there is a selected node. + + + + + A pointer to set to the #GtkTreeModel, or NULL. + + + + The #GtkTreeIter, or NULL. + + + + + + Creates a list of path of all selected rows. Additionally, if you are +planning on modifying the model after calling this function, you may +want to convert the returned list into a list of #GtkTreeRowReference<!-- -->s. +To do this, you can use gtk_tree_row_reference_new(). +To free the return value, use: +|[ +g_list_foreach (list, (GFunc) gtk_tree_path_free, NULL); +g_list_free (list); +]| + + A #GList containing a #GtkTreePath for each selected row. + + + + + + + A pointer to set to the #GtkTreeModel, or NULL. + + + + + + Returns the number of rows that have been selected in @tree. + + The number of rows selected. + + + + + Calls a function for each selected node. Note that you cannot modify +the tree or selection from within this function. As a result, +gtk_tree_selection_get_selected_rows() might be more useful. + + + + + + The function to call for each selected node. + + + + user data to pass to the function. + + + + + + Select the row at @path. + + + + + + The #GtkTreePath to be selected. + + + + + + Unselects the row at @path. + + + + + + The #GtkTreePath to be unselected. + + + + + + Selects the specified iterator. + + + + + + The #GtkTreeIter to be selected. + + + + + + Unselects the specified iterator. + + + + + + The #GtkTreeIter to be unselected. + + + + + + Returns %TRUE if the row pointed to by @path is currently selected. If @path +does not point to a valid location, %FALSE is returned + + %TRUE if @path is selected. + + + + + A #GtkTreePath to check selection on. + + + + + + Returns %TRUE if the row at @iter is currently selected. + + %TRUE, if @iter is selected + + + + + A valid #GtkTreeIter + + + + + + Selects all the nodes. @selection must be set to #GTK_SELECTION_MULTIPLE +mode. + + + + + + Unselects all the nodes. + + + + + + Selects a range of nodes, determined by @start_path and @end_path inclusive. + + + + + + The initial node of the range. + + + + The final node of the range. + + + + + + Unselects a range of nodes, determined by @start_path and @end_path +inclusive. + + + + + + The initial node of the range. + + + + The initial node of the range. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Fills in @sort_column_id and @order with the current sort column and the +order. It returns %TRUE unless the @sort_column_id is +%GTK_TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID or +%GTK_TREE_SORTABLE_UNSORTED_SORT_COLUMN_ID. +column ids. + + %TRUE if the sort column is not one of the special sort + + + + + The sort column id to be filled in + + + + The #GtkSortType to be filled in + + + + + + Sets the current sort column to be @sort_column_id. The @sortable will +resort itself to reflect this change, after emitting a +#GtkTreeSortable::sort-column-changed signal. @sortable may either be +a regular column id, or one of the following special values: +<variablelist> +<varlistentry> +<term>%GTK_TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID</term> +<listitem>the default sort function will be used, if it is set</listitem> +</varlistentry> +<varlistentry> +<term>%GTK_TREE_SORTABLE_UNSORTED_SORT_COLUMN_ID</term> +<listitem>no sorting will occur</listitem> +</varlistentry> +</variablelist> + + + + + + the sort column id to set + + + + The sort order of the column + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Returns %TRUE if the model has a default sort function. This is used +primarily by GtkTreeViewColumns in order to determine if a model can +go back to the default state, or not. + + %TRUE, if the model has a default sort function + + + + + Emits a #GtkTreeSortable::sort-column-changed signal on @sortable. + + + + + + Fills in @sort_column_id and @order with the current sort column and the +order. It returns %TRUE unless the @sort_column_id is +%GTK_TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID or +%GTK_TREE_SORTABLE_UNSORTED_SORT_COLUMN_ID. +column ids. + + %TRUE if the sort column is not one of the special sort + + + + + The sort column id to be filled in + + + + The #GtkSortType to be filled in + + + + + + Sets the current sort column to be @sort_column_id. The @sortable will +resort itself to reflect this change, after emitting a +#GtkTreeSortable::sort-column-changed signal. @sortable may either be +a regular column id, or one of the following special values: +<variablelist> +<varlistentry> +<term>%GTK_TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID</term> +<listitem>the default sort function will be used, if it is set</listitem> +</varlistentry> +<varlistentry> +<term>%GTK_TREE_SORTABLE_UNSORTED_SORT_COLUMN_ID</term> +<listitem>no sorting will occur</listitem> +</varlistentry> +</variablelist> + + + + + + the sort column id to set + + + + The sort order of the column + + + + + + Sets the comparison function used when sorting to be @sort_func. If the +current sort column id of @sortable is the same as @sort_column_id, then +the model will sort using this function. + + + + + + the sort column id to set the function for + + + + The comparison function + + + + User data to pass to @sort_func, or %NULL + + + + Destroy notifier of @user_data, or %NULL + + + + + + Sets the default comparison function used when sorting to be @sort_func. +If the current sort column id of @sortable is +%GTK_TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID, then the model will sort using +this function. +If @sort_func is %NULL, then there will be no default comparison function. +This means that once the model has been sorted, it can't go back to the +default state. In this case, when the current sort column id of @sortable +is %GTK_TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID, the model will be unsorted. + + + + + + The comparison function + + + + User data to pass to @sort_func, or %NULL + + + + Destroy notifier of @user_data, or %NULL + + + + + + Returns %TRUE if the model has a default sort function. This is used +primarily by GtkTreeViewColumns in order to determine if a model can +go back to the default state, or not. + + %TRUE, if the model has a default sort function + + + + + The ::sort-column-changed signal is emitted when the sort column +or sort order of @sortable is changed. The signal is emitted before +the contents of @sortable are resorted. + + + + + + + + + + + + + + + + + + + + + + + + + %TRUE if the sort column is not one of the special sort + + + + + + + + The sort column id to be filled in + + + + The #GtkSortType to be filled in + + + + + + + + + + + + + + + + the sort column id to set + + + + The sort order of the column + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + %TRUE, if the model has a default sort function + + + + + + + + + + + + + + + + + + Creates a new tree store as with @n_columns columns each of the types passed +in. Note that only types derived from standard GObject fundamental types +are supported. +As an example, <literal>gtk_tree_store_new (3, G_TYPE_INT, G_TYPE_STRING, +GDK_TYPE_PIXBUF);</literal> will create a new #GtkTreeStore with three columns, of type +<type>int</type>, <type>string</type> and #GdkPixbuf respectively. + + a new #GtkTreeStore + + + + + number of columns in the tree store + + + + + + + + + + Non vararg creation function. Used primarily by language bindings. + + a new #GtkTreeStore + + + + + number of columns in the tree store + + + + an array of #GType types for the columns, from first to last + + + + + + + + This function is meant primarily for #GObjects that inherit from +#GtkTreeStore, and should only be used when constructing a new +#GtkTreeStore. It will not function after a row has been added, +or a method on the #GtkTreeModel interface is called. + + + + + + Number of columns for the tree store + + + + An array of #GType types, one for each column + + + + + + + + Sets the data in the cell specified by @iter and @column. +The type of @value must be convertible to the type of the +column. + + + + + + A valid #GtkTreeIter for the row being modified + + + + column number to modify + + + + new value for the cell + + + + + + Sets the value of one or more cells in the row referenced by @iter. +The variable argument list should contain integer column numbers, +each column number followed by the value to be set. +The list is terminated by a -1. For example, to set column 0 with type +%G_TYPE_STRING to "Foo", you would write +<literal>gtk_tree_store_set (store, iter, 0, "Foo", -1)</literal>. +The value will be copied or referenced by the store if appropriate. + + + + + + A valid #GtkTreeIter for the row being modified + + + + + + + + + + A variant of gtk_tree_store_set_valist() which takes +the columns and values as two arrays, instead of varargs. This +function is mainly intended for language bindings or in case +the number of columns to change is not known until run-time. + + + + + + A valid #GtkTreeIter for the row being modified + + + + an array of column numbers + + + + + + an array of GValues + + + + + + the length of the @columns and @values arrays + + + + + + Removes @iter from @tree_store. After being removed, @iter is set to the +next valid row at that level, or invalidated if it previously pointed to the +last one. + + %TRUE if @iter is still valid, %FALSE if not. + + + + + A valid #GtkTreeIter + + + + + + Creates a new row at @position. If parent is non-%NULL, then the row will be +made a child of @parent. Otherwise, the row will be created at the toplevel. +If @position is larger than the number of rows at that level, then the new +row will be inserted to the end of the list. @iter will be changed to point +to this new row. The row will be empty after this function is called. To +fill in values, you need to call gtk_tree_store_set() or +gtk_tree_store_set_value(). + + + + + + An unset #GtkTreeIter to set to the new row + + + + A valid #GtkTreeIter, or %NULL + + + + position to insert the new row + + + + + + Inserts a new row before @sibling. If @sibling is %NULL, then the row will +be appended to @parent 's children. If @parent and @sibling are %NULL, then +the row will be appended to the toplevel. If both @sibling and @parent are +set, then @parent must be the parent of @sibling. When @sibling is set, +this function is called. To fill in values, you need to call +gtk_tree_store_set() or gtk_tree_store_set_value(). + + + + + + An unset #GtkTreeIter to set to the new row + + + + A valid #GtkTreeIter, or %NULL + + + + A valid #GtkTreeIter, or %NULL + + + + + + Inserts a new row after @sibling. If @sibling is %NULL, then the row will be +prepended to @parent 's children. If @parent and @sibling are %NULL, then +the row will be prepended to the toplevel. If both @sibling and @parent are +set, then @parent must be the parent of @sibling. When @sibling is set, +this function is called. To fill in values, you need to call +gtk_tree_store_set() or gtk_tree_store_set_value(). + + + + + + An unset #GtkTreeIter to set to the new row + + + + A valid #GtkTreeIter, or %NULL + + + + A valid #GtkTreeIter, or %NULL + + + + + + Creates a new row at @position. @iter will be changed to point to this +new row. If @position is larger than the number of rows on the list, then +the new row will be appended to the list. The row will be filled with +the values given to this function. +Calling +<literal>gtk_tree_store_insert_with_values (tree_store, iter, position, ...)</literal> +has the same effect as calling +|[ +gtk_tree_store_insert (tree_store, iter, position); +gtk_tree_store_set (tree_store, iter, ...); +]| +with the different that the former will only emit a row_inserted signal, +while the latter will emit row_inserted, row_changed and if the tree store +is sorted, rows_reordered. Since emitting the rows_reordered signal +repeatedly can affect the performance of the program, +gtk_tree_store_insert_with_values() should generally be preferred when +inserting rows in a sorted tree store. + + + + + + An unset #GtkTreeIter to set the new row, or %NULL. + + + + A valid #GtkTreeIter, or %NULL + + + + position to insert the new row + + + + + + + + + + A variant of gtk_tree_store_insert_with_values() which takes +the columns and values as two arrays, instead of varargs. This +function is mainly intended for language bindings. + + + + + + An unset #GtkTreeIter to set the new row, or %NULL. + + + + A valid #GtkTreeIter, or %NULL + + + + position to insert the new row + + + + an array of column numbers + + + + an array of GValues + + + + the length of the @columns and @values arrays + + + + + + Prepends a new row to @tree_store. If @parent is non-%NULL, then it will prepend +the new row before the first child of @parent, otherwise it will prepend a row +to the top level. @iter will be changed to point to this new row. The row +will be empty after this function is called. To fill in values, you need to +call gtk_tree_store_set() or gtk_tree_store_set_value(). + + + + + + An unset #GtkTreeIter to set to the prepended row + + + + A valid #GtkTreeIter, or %NULL + + + + + + Appends a new row to @tree_store. If @parent is non-%NULL, then it will append the +new row after the last child of @parent, otherwise it will append a row to +the top level. @iter will be changed to point to this new row. The row will +be empty after this function is called. To fill in values, you need to call +gtk_tree_store_set() or gtk_tree_store_set_value(). + + + + + + An unset #GtkTreeIter to set to the appended row + + + + A valid #GtkTreeIter, or %NULL + + + + + + Returns %TRUE if @iter is an ancestor of @descendant. That is, @iter is the +parent (or grandparent or great-grandparent) of @descendant. + + %TRUE, if @iter is an ancestor of @descendant + + + + + A valid #GtkTreeIter + + + + A valid #GtkTreeIter + + + + + + Returns the depth of @iter. This will be 0 for anything on the root level, 1 +for anything down a level, etc. + + The depth of @iter + + + + + A valid #GtkTreeIter + + + + + + Removes all rows from @tree_store + + + + + + purposes. +Checks if the given iter is a valid iter for this #GtkTreeStore. + + %TRUE if the iter is valid, %FALSE if the iter is invalid. + + + + + A #GtkTreeIter. + + + + + + Reorders the children of @parent in @tree_store to follow the order +indicated by @new_order. Note that this function only works with +unsorted stores. + + + + + + A #GtkTreeIter. + + + + an array of integers mapping the new position of each child to its old position before the re-ordering, i.e. @new_order<literal>[newpos] = oldpos</literal>. + + + + + + Swaps @a and @b in the same level of @tree_store. Note that this function +only works with unsorted stores. + + + + + + A #GtkTreeIter. + + + + Another #GtkTreeIter. + + + + + + Moves @iter in @tree_store to the position before @position. @iter and +works with unsorted stores. If @position is %NULL, @iter will be +moved to the end of the level. + + + + + + A #GtkTreeIter. + + + + A #GtkTreeIter or %NULL. + + + + + + Moves @iter in @tree_store to the position after @position. @iter and +works with unsorted stores. If @position is %NULL, @iter will be moved +to the start of the level. + + + + + + A #GtkTreeIter. + + + + A #GtkTreeIter. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Creates a new #GtkTreeView widget. + + A newly created #GtkTreeView widget. + + + + + Creates a new #GtkTreeView widget with the model initialized to @model. + + A newly created #GtkTreeView widget. + + + + + the model. + + + + + + Returns the model the #GtkTreeView is based on. Returns %NULL if the +model is unset. + + A #GtkTreeModel, or %NULL if none is currently being used. + + + + + Sets the model for a #GtkTreeView. If the @tree_view already has a model +set, it will remove it before setting the new model. If @model is %NULL, +then it will unset the old model. + + + + + + The model. + + + + + + Gets the #GtkTreeSelection associated with @tree_view. + + A #GtkTreeSelection object. + + + + + Gets the #GtkAdjustment currently being used for the horizontal aspect. +used. + + A #GtkAdjustment object, or %NULL if none is currently being + + + + + Sets the #GtkAdjustment for the current horizontal aspect. + + + + + + The #GtkAdjustment to set, or %NULL + + + + + + Gets the #GtkAdjustment currently being used for the vertical aspect. +used. + + A #GtkAdjustment object, or %NULL if none is currently being + + + + + Sets the #GtkAdjustment for the current vertical aspect. + + + + + + The #GtkAdjustment to set, or %NULL + + + + + + Returns %TRUE if the headers on the @tree_view are visible. + + Whether the headers are visible or not. + + + + + Sets the visibility state of the headers. + + + + + + %TRUE if the headers are visible + + + + + + Resizes all columns to their optimal width. Only works after the +treeview has been realized. + + + + + + Returns whether all header columns are clickable. + + %TRUE if all header columns are clickable, otherwise %FALSE + + + + + Allow the column title buttons to be clicked. + + + + + + %TRUE if the columns are clickable. + + + + + + + + + + + + + + + + + + + + + Appends @column to the list of columns. If @tree_view has "fixed_height" +mode enabled, then @column must have its "sizing" property set to be +GTK_TREE_VIEW_COLUMN_FIXED. + + The number of columns in @tree_view after appending. + + + + + The #GtkTreeViewColumn to add. + + + + + + Removes @column from @tree_view. + + The number of columns in @tree_view after removing. + + + + + The #GtkTreeViewColumn to remove. + + + + + + This inserts the @column into the @tree_view at @position. If @position is +-1, then the column is inserted at the end. If @tree_view has +"fixed_height" mode enabled, then @column must have its "sizing" property +set to be GTK_TREE_VIEW_COLUMN_FIXED. + + The number of columns in @tree_view after insertion. + + + + + The #GtkTreeViewColumn to be inserted. + + + + The position to insert @column in. + + + + + + Creates a new #GtkTreeViewColumn and inserts it into the @tree_view at +the end. The column is initialized with the attributes given. If @tree_view +has "fixed_height" mode enabled, then the new column will have its sizing +property set to be GTK_TREE_VIEW_COLUMN_FIXED. + + The number of columns in @tree_view after insertion. + + + + + The position to insert the new column in. + + + + The title to set the header to. + + + + The #GtkCellRenderer. + + + + + + + + + + Convenience function that inserts a new column into the #GtkTreeView +with the given cell renderer and a #GtkCellDataFunc to set cell renderer +attributes (normally using data from the model). See also +gtk_tree_view_column_set_cell_data_func(), gtk_tree_view_column_pack_start(). +If @tree_view has "fixed_height" mode enabled, then the new column will have its +"sizing" property set to be GTK_TREE_VIEW_COLUMN_FIXED. + + number of columns in the tree view post-insert + + + + + Position to insert, -1 for append + + + + column title + + + + cell renderer for column + + + + function to set attributes of cell renderer + + + + data for @func + + + + destroy notifier for @data + + + + + + Gets the #GtkTreeViewColumn at the given position in the #tree_view. +range of columns. + + The #GtkTreeViewColumn, or %NULL if the position is outside the + + + + + The position of the column, counting from 0. + + + + + + Returns a #GList of all the #GtkTreeViewColumn s currently in @tree_view. +The returned list must be freed with g_list_free (). + + A list of #GtkTreeViewColumn s + + + + + + + Moves @column to be after to @base_column. If @base_column is %NULL, then + + + + + + The #GtkTreeViewColumn to be moved. + + + + The #GtkTreeViewColumn to be moved relative to, or %NULL. + + + + + + Sets the column to draw the expander arrow at. It must be in @tree_view. +If @column is %NULL, then the expander arrow is always at the first +visible column. +If you do not want expander arrow to appear in your tree, set the +expander column to a hidden column. + + + + + + %NULL, or the column to draw the expander arrow at. + + + + + + Returns the column that is the current expander column. This +column has the expander arrow drawn next to it. + + The expander column. + + + + + Sets a user function for determining where a column may be dropped when +dragged. This function is called on every column pair in turn at the +beginning of a column drag to determine where a drop can take place. The +dragged, the two #GtkTreeViewColumn s determining the drop spot, and +are %NULL, then they indicate an edge. If @func is set to be %NULL, then +dropped everywhere. + + + + + + A function to determine which columns are reorderable, or %NULL. + + + + User data to be passed to @func, or %NULL + + + + Destroy notifier for @user_data, or %NULL + + + + + + Scrolls the tree view such that the top-left corner of the visible +area is @tree_x, @tree_y, where @tree_x and @tree_y are specified +in tree coordinates. The @tree_view must be realized before +this function is called. If it isn't, you probably want to be +using gtk_tree_view_scroll_to_cell(). +If either @tree_x or @tree_y are -1, then that direction isn't scrolled. + + + + + + X coordinate of new top-left pixel of visible area, or -1 + + + + Y coordinate of new top-left pixel of visible area, or -1 + + + + + + Moves the alignments of @tree_view to the position specified by @column and +if @path is %NULL no vertical scrolling occurs. At a minimum, one of @column +or @path need to be non-%NULL. @row_align determines where the row is +placed, and @col_align determines where @column is placed. Both are expected +to be between 0.0 and 1.0. 0.0 means left/top alignment, 1.0 means +right/bottom alignment, 0.5 means center. +If @use_align is %FALSE, then the alignment arguments are ignored, and the +tree does the minimum amount of work to scroll the cell onto the screen. +This means that the cell will be scrolled to the edge closest to its current +position. If the cell is currently visible on the screen, nothing is done. +This function only works if the model is set, and @path is a valid row on the +model. If the model changes before the @tree_view is realized, the centered +path will be modified to reflect this change. + + + + + + The path of the row to move to, or %NULL. + + + + The #GtkTreeViewColumn to move horizontally to, or %NULL. + + + + whether to use alignment arguments, or %FALSE. + + + + The vertical alignment of the row specified by @path. + + + + The horizontal alignment of the column specified by @column. + + + + + + Activates the cell determined by @path and @column. + + + + + + The #GtkTreePath to be activated. + + + + The #GtkTreeViewColumn to be activated. + + + + + + Recursively expands all nodes in the @tree_view. + + + + + + Recursively collapses all visible, expanded nodes in @tree_view. + + + + + + Expands the row at @path. This will also expand all parent rows of + + + + + + path to a row. + + + + + + Opens the row so its children are visible. + + %TRUE if the row existed and had children + + + + + path to a row + + + + whether to recursively expand, or just expand immediate children + + + + + + Collapses a row (hides its child rows, if they exist). + + %TRUE if the row was collapsed. + + + + + path to a row in the @tree_view + + + + + + Calls @func on all expanded rows. + + + + + + A function to be called + + + + User data to be passed to the function. + + + + + + Returns %TRUE if the node pointed to by @path is expanded in @tree_view. + + %TRUE if #path is expanded. + + + + + A #GtkTreePath to test expansion state. + + + + + + This function is a convenience function to allow you to reorder +models that support the #GtkDragSourceIface and the +#GtkDragDestIface. Both #GtkTreeStore and #GtkListStore support +these. If @reorderable is %TRUE, then the user can reorder the +model by dragging and dropping rows. The developer can listen to +these changes by connecting to the model's row_inserted and +row_deleted signals. The reordering is implemented by setting up +the tree view as a drag source and destination. Therefore, drag and +drop can not be used in a reorderable view for any other purpose. +This function does not give you any degree of control over the order -- any +reordering is allowed. If more control is needed, you should probably +handle drag and drop manually. + + + + + + %TRUE, if the tree can be reordered. + + + + + + Retrieves whether the user can reorder the tree via drag-and-drop. See +gtk_tree_view_set_reorderable(). + + %TRUE if the tree can be reordered. + + + + + Sets the current keyboard focus to be at @path, and selects it. This is +useful when you want to focus the user's attention on a particular row. If +it. Additionally, if @focus_column is specified, and @start_editing is +%TRUE, then editing should be started in the specified cell. +This function is often followed by @gtk_widget_grab_focus (@tree_view) +in order to give keyboard focus to the widget. Please note that editing +can only happen when the widget is realized. +If @path is invalid for @model, the current cursor (if any) will be unset +and the function will return without failing. + + + + + + A #GtkTreePath + + + + A #GtkTreeViewColumn, or %NULL + + + + %TRUE if the specified cell should start being edited. + + + + + + Sets the current keyboard focus to be at @path, and selects it. This is +useful when you want to focus the user's attention on a particular row. If +it. If @focus_column and @focus_cell are not %NULL, and @focus_column +contains 2 or more editable or activatable cells, then focus is given to +the cell specified by @focus_cell. Additionally, if @focus_column is +specified, and @start_editing is %TRUE, then editing should be started in +the specified cell. This function is often followed by +widget. Please note that editing can only happen when the widget is +realized. +If @path is invalid for @model, the current cursor (if any) will be unset +and the function will return without failing. + + + + + + A #GtkTreePath + + + + A #GtkTreeViewColumn, or %NULL + + + + A #GtkCellRenderer, or %NULL + + + + %TRUE if the specified cell should start being edited. + + + + + + Fills in @path and @focus_column with the current path and focus column. If +the cursor isn't currently set, then *@path will be %NULL. If no column +currently has focus, then *@focus_column will be %NULL. +The returned #GtkTreePath must be freed with gtk_tree_path_free() when +you are done with it. + + + + + + A pointer to be filled with the current cursor path, or %NULL + + + + A pointer to be filled with the current focus column, or %NULL + + + + + + Returns the window that @tree_view renders to. This is used primarily to +compare to <literal>event->window</literal> to confirm that the event on + + A #GdkWindow, or %NULL when @tree_view hasn't been realized yet + + + + + Finds the path at the point (@x, @y), relative to bin_window coordinates +(please see gtk_tree_view_get_bin_window()). +That is, @x and @y are relative to an events coordinates. @x and @y must +come from an event on the @tree_view only where <literal>event->window == +gtk_tree_view_get_bin_window (<!-- -->)</literal>. It is primarily for +things like popup menus. If @path is non-%NULL, then it will be filled +with the #GtkTreePath at that point. This path should be freed with +gtk_tree_path_free(). If @column is non-%NULL, then it will be filled +with the column at that point. @cell_x and @cell_y return the coordinates +relative to the cell background (i.e. the @background_area passed to +gtk_cell_renderer_render()). This function is only meaningful if +if @tree_view is not realized or does not have a model. +For converting widget coordinates (eg. the ones you get from +GtkWidget::query-tooltip), please see +gtk_tree_view_convert_widget_to_bin_window_coords(). + + %TRUE if a row exists at that coordinate. + + + + + The x position to be identified (relative to bin_window). + + + + The y position to be identified (relative to bin_window). + + + + A pointer to a #GtkTreePath pointer to be filled in, or %NULL + + + + A pointer to a #GtkTreeViewColumn pointer to be filled in, or %NULL + + + + A pointer where the X coordinate relative to the cell can be placed, or %NULL + + + + A pointer where the Y coordinate relative to the cell can be placed, or %NULL + + + + + + Fills the bounding rectangle in bin_window coordinates for the cell at the +row specified by @path and the column specified by @column. If @path is +%NULL, or points to a path not currently displayed, the @y and @height fields +of the rectangle will be filled with 0. If @column is %NULL, the @x and @width +fields will be filled with 0. The sum of all cell rects does not cover the +entire tree; there are extra pixels in between rows, for example. The +returned rectangle is equivalent to the @cell_area passed to +gtk_cell_renderer_render(). This function is only valid if @tree_view is +realized. + + + + + + a #GtkTreePath for the row, or %NULL to get only horizontal coordinates + + + + a #GtkTreeViewColumn for the column, or %NULL to get only vertical coordinates + + + + rectangle to fill with cell rect + + + + + + Fills the bounding rectangle in bin_window coordinates for the cell at the +row specified by @path and the column specified by @column. If @path is +%NULL, or points to a node not found in the tree, the @y and @height fields of +the rectangle will be filled with 0. If @column is %NULL, the @x and @width +fields will be filled with 0. The returned rectangle is equivalent to the +areas tile to cover the entire bin window. Contrast with the @cell_area, +returned by gtk_tree_view_get_cell_area(), which returns only the cell +itself, excluding surrounding borders and the tree expander area. + + + + + + a #GtkTreePath for the row, or %NULL to get only horizontal coordinates + + + + a #GtkTreeViewColumn for the column, or %NULL to get only vertical coordiantes + + + + rectangle to fill with cell background rect + + + + + + Fills @visible_rect with the currently-visible region of the +buffer, in tree coordinates. Convert to bin_window coordinates with +gtk_tree_view_convert_tree_to_bin_window_coords(). +Tree coordinates start at 0,0 for row 0 of the tree, and cover the entire +scrollable area of the tree. + + + + + + rectangle to fill + + + + + + Converts bin_window coordinates to coordinates for the +tree (the full scrollable area of the tree). +incorrect. For converting coordinates relative to the widget to +bin_window coordinates, please see +gtk_tree_view_convert_widget_to_bin_window_coords(). + + + + + + X coordinate relative to bin_window + + + + Y coordinate relative to bin_window + + + + return location for tree X coordinate + + + + return location for tree Y coordinate + + + + + + Converts tree coordinates (coordinates in full scrollable area of the tree) +to bin_window coordinates. +incorrect. For converting bin_window coordinates to coordinates relative +to bin_window, please see +gtk_tree_view_convert_bin_window_to_widget_coords(). + + + + + + tree X coordinate + + + + tree Y coordinate + + + + return location for X coordinate relative to bin_window + + + + return location for Y coordinate relative to bin_window + + + + + + Sets @start_path and @end_path to be the first and last visible path. +Note that there may be invisible paths in between. +The paths should be freed with gtk_tree_path_free() after use. + + %TRUE, if valid paths were placed in @start_path and @end_path. + + + + + Return location for start of region, or %NULL. + + + + Return location for end of region, or %NULL. + + + + + + Turns @tree_view into a drag source for automatic DND. Calling this +method sets #GtkTreeView:reorderable to %FALSE. + + + + + + Mask of allowed buttons to start drag + + + + the table of targets that the drag will support + + + + the number of items in @targets + + + + the bitmask of possible actions for a drag from this widget + + + + + + Turns @tree_view into a drop destination for automatic DND. Calling +this method sets #GtkTreeView:reorderable to %FALSE. + + + + + + the table of targets that the drag will support + + + + the number of items in @targets + + + + the bitmask of possible actions for a drag from this widget + + + + + + Undoes the effect of +gtk_tree_view_enable_model_drag_source(). Calling this method sets +#GtkTreeView:reorderable to %FALSE. + + + + + + Undoes the effect of +gtk_tree_view_enable_model_drag_dest(). Calling this method sets +#GtkTreeView:reorderable to %FALSE. + + + + + + Sets the row that is highlighted for feedback. + + + + + + The path of the row to highlight, or %NULL. + + + + Specifies whether to drop before, after or into the row + + + + + + Gets information about the row that is highlighted for feedback. + + + + + + Return location for the path of the highlighted row, or %NULL. + + + + Return location for the drop position, or %NULL + + + + + + Determines the destination row for a given position. @drag_x and +meaningful if @tree_view is realized. Therefore this function will always +return %FALSE if @tree_view is not realized or does not have a model. +is indeed the case. + + whether there is a row at the given position, %TRUE if this + + + + + the position to determine the destination row for + + + + the position to determine the destination row for + + + + Return location for the path of the highlighted row, or %NULL. + + + + Return location for the drop position, or %NULL + + + + + + Creates a #GdkPixmap representation of the row at @path. +This image is used for a drag icon. + + a newly-allocated pixmap of the drag icon. + + + + + a #GtkTreePath in @tree_view + + + + + + If @enable_search is set, then the user can type in text to search through +the tree interactively (this is sometimes called "typeahead find"). +Note that even if this is %FALSE, the user can still initiate a search +using the "start-interactive-search" key binding. + + + + + + %TRUE, if the user can search interactively + + + + + + Returns whether or not the tree allows to start interactive searching +by typing in text. + + whether or not to let the user search interactively + + + + + Gets the column searched on by the interactive search code. + + the column the interactive search code searches in. + + + + + Sets @column as the column where the interactive search code should +search in for the current model. +If the search column is set, users can use the "start-interactive-search" +key binding to bring up search popup. The enable-search property controls +whether simply typing text will also start an interactive search. +Note that @column refers to a column of the current model. The search +column is reset to -1 when the model is changed. + + + + + + the column of the model to search in, or -1 to disable searching + + + + + + Returns the compare function currently in use. + + the currently used compare function for the search code. + + + + + Sets the compare function for the interactive search capabilities; note +that somewhat like strcmp() returning 0 for equality +#GtkTreeViewSearchEqualFunc returns %FALSE on matches. + + + + + + the compare function to use during the search + + + + user data to pass to @search_equal_func, or %NULL + + + + Destroy notifier for @search_user_data, or %NULL + + + + + + Returns the #GtkEntry which is currently in use as interactive search +entry for @tree_view. In case the built-in entry is being used, %NULL +will be returned. + + the entry currently in use as search entry. + + + + + Sets the entry which the interactive search code will use for this +in our interface at all time at a fixed position. Passing %NULL for +entry again. + + + + + + the entry the interactive search code of @tree_view should use or %NULL + + + + + + Returns the positioning function currently in use. + + the currently used function for positioning the search dialog. + + + + + Sets the function to use when positioning the search dialog. + + + + + + the function to use to position the search dialog, or %NULL to use the default search position function + + + + user data to pass to @func, or %NULL + + + + Destroy notifier for @data, or %NULL + + + + + + Converts widget coordinates to coordinates for the +tree (the full scrollable area of the tree). + + + + + + X coordinate relative to the widget + + + + Y coordinate relative to the widget + + + + return location for tree X coordinate + + + + return location for tree Y coordinate + + + + + + Converts tree coordinates (coordinates in full scrollable area of the tree) +to widget coordinates. + + + + + + X coordinate relative to the tree + + + + Y coordinate relative to the tree + + + + return location for widget X coordinate + + + + return location for widget Y coordinate + + + + + + Converts widget coordinates to coordinates for the bin_window +(see gtk_tree_view_get_bin_window()). + + + + + + X coordinate relative to the widget + + + + Y coordinate relative to the widget + + + + return location for bin_window X coordinate + + + + return location for bin_window Y coordinate + + + + + + Converts bin_window coordinates (see gtk_tree_view_get_bin_window()) +to widget relative coordinates. + + + + + + bin_window X coordinate + + + + bin_window Y coordinate + + + + return location for widget X coordinate + + + + return location for widget Y coordinate + + + + + + Converts tree coordinates (coordinates in full scrollable area of the tree) +to bin_window coordinates. + + + + + + tree X coordinate + + + + tree Y coordinate + + + + return location for X coordinate relative to bin_window + + + + return location for Y coordinate relative to bin_window + + + + + + Converts bin_window coordinates to coordinates for the +tree (the full scrollable area of the tree). + + + + + + X coordinate relative to bin_window + + + + Y coordinate relative to bin_window + + + + return location for tree X coordinate + + + + return location for tree Y coordinate + + + + + + This function should almost never be used. It is meant for private use by +ATK for determining the number of visible children that are removed when the +user collapses a row, or a row is deleted. + + + + + + Function to be called when a view row is destroyed, or %NULL + + + + User data to be passed to @func, or %NULL + + + + Destroy notifier for @data, or %NULL + + + + + + Enables or disables the fixed height mode of @tree_view. +Fixed height mode speeds up #GtkTreeView by assuming that all +rows have the same height. +Only enable this option if all rows are the same height and all +columns are of type %GTK_TREE_VIEW_COLUMN_FIXED. + + + + + + %TRUE to enable fixed height mode + + + + + + Returns whether fixed height mode is turned on for @tree_view. + + %TRUE if @tree_view is in fixed height mode + + + + + Enables of disables the hover selection mode of @tree_view. +Hover selection makes the selected row follow the pointer. +Currently, this works only for the selection modes +%GTK_SELECTION_SINGLE and %GTK_SELECTION_BROWSE. + + + + + + %TRUE to enable hover selection mode + + + + + + Returns whether hover selection mode is turned on for @tree_view. + + %TRUE if @tree_view is in hover selection mode + + + + + Enables of disables the hover expansion mode of @tree_view. +Hover expansion makes rows expand or collapse if the pointer +moves over them. + + + + + + %TRUE to enable hover selection mode + + + + + + Returns whether hover expansion mode is turned on for @tree_view. + + %TRUE if @tree_view is in hover expansion mode + + + + + Enables or disables rubber banding in @tree_view. If the selection mode +is #GTK_SELECTION_MULTIPLE, rubber banding will allow the user to select +multiple rows by dragging the mouse. + + + + + + %TRUE to enable rubber banding + + + + + + Returns whether rubber banding is turned on for @tree_view. If the +selection mode is #GTK_SELECTION_MULTIPLE, rubber banding will allow the +user to select multiple rows by dragging the mouse. + + %TRUE if rubber banding in @tree_view is enabled. + + + + + Returns whether a rubber banding operation is currently being done +in @tree_view. +done in @tree_view. + + %TRUE if a rubber banding operation is currently being + + + + + Returns the current row separator function. + + the current row separator function. + + + + + Sets the row separator function, which is used to determine +whether a row should be drawn as a separator. If the row separator +function is %NULL, no separators are drawn. This is the default value. + + + + + + a #GtkTreeViewRowSeparatorFunc + + + + user data to pass to @func, or %NULL + + + + destroy notifier for @data, or %NULL + + + + + + Returns which grid lines are enabled in @tree_view. +are enabled. + + a #GtkTreeViewGridLines value indicating which grid lines + + + + + Sets which grid lines to draw in @tree_view. + + + + + + a #GtkTreeViewGridLines value indicating which grid lines to enable. + + + + + + Returns whether or not tree lines are drawn in @tree_view. +otherwise. + + %TRUE if tree lines are drawn in @tree_view, %FALSE + + + + + Sets whether to draw lines interconnecting the expanders in @tree_view. +This does not have any visible effects for lists. + + + + + + %TRUE to enable tree line drawing, %FALSE otherwise. + + + + + + Sets whether to draw and enable expanders and indent child rows in +and there will be no way to expand and collapse rows by default. Also +note that hiding the expanders will disable the default indentation. You +can set a custom indentation in this case using +gtk_tree_view_set_level_indentation(). +This does not have any visible effects for lists. + + + + + + %TRUE to enable expander drawing, %FALSE otherwise. + + + + + + Returns whether or not expanders are drawn in @tree_view. +otherwise. + + %TRUE if expanders are drawn in @tree_view, %FALSE + + + + + Sets the amount of extra indentation for child levels to use in @tree_view +in addition to the default indentation. The value should be specified in +pixels, a value of 0 disables this feature and in this case only the default +indentation will be used. +This does not have any visible effects for lists. + + + + + + the amount, in pixels, of extra indentation in @tree_view. + + + + + + Returns the amount, in pixels, of extra indentation for child levels +in @tree_view. + + the amount of extra indentation for child levels in + + + + + Sets the tip area of @tooltip to be the area covered by the row at @path. +See also gtk_tree_view_set_tooltip_column() for a simpler alternative. +See also gtk_tooltip_set_tip_area(). + + + + + + a #GtkTooltip + + + + a #GtkTreePath + + + + + + Sets the tip area of @tooltip to the area @path, @column and @cell have +in common. For example if @path is %NULL and @column is set, the tip +area will be set to the full area covered by @column. See also +gtk_tooltip_set_tip_area(). +Note that if @path is not specified and @cell is set and part of a column +containing the expander, the tooltip might not show and hide at the correct +position. In such cases @path must be set to the current node under the +mouse cursor for this function to operate correctly. +See also gtk_tree_view_set_tooltip_column() for a simpler alternative. + + + + + + a #GtkTooltip + + + + a #GtkTreePath or %NULL + + + + a #GtkTreeViewColumn or %NULL + + + + a #GtkCellRenderer or %NULL + + + + + + This function is supposed to be used in a #GtkWidget::query-tooltip +signal handler for #GtkTreeView. The @x, @y and @keyboard_tip values +which are received in the signal handler, should be passed to this +function without modification. +The return value indicates whether there is a tree view row at the given +coordinates (%TRUE) or not (%FALSE) for mouse tooltips. For keyboard +tooltips the row returned will be the cursor row. When %TRUE, then any of +that row and the corresponding model. @x and @y will always be converted +to be relative to @tree_view's bin_window if @keyboard_tooltip is %FALSE. + + whether or not the given tooltip context points to a row. + + + + + the x coordinate (relative to widget coordinates) + + + + the y coordinate (relative to widget coordinates) + + + + whether this is a keyboard tooltip or not + + + + a pointer to receive a #GtkTreeModel or %NULL + + + + a pointer to receive a #GtkTreePath or %NULL + + + + a pointer to receive a #GtkTreeIter or %NULL + + + + + + If you only plan to have simple (text-only) tooltips on full rows, you +can use this function to have #GtkTreeView handle these automatically +for you. @column should be set to the column in @tree_view's model +containing the tooltip texts, or -1 to disable this feature. +When enabled, #GtkWidget::has-tooltip will be set to %TRUE and +Note that the signal handler sets the text with gtk_tooltip_set_markup(), +so &amp;, &lt;, etc have to be escaped in the text. + + + + + + an integer, which is a valid column number for @tree_view's model + + + + + + Returns the column of @tree_view's model which is being used for +displaying tooltips on @tree_view's rows. +used, or -1 if this is disabled. + + the index of the tooltip column that is currently being + + + + + + + + + + + + + + + + + Setting the ::fixed-height-mode property to %TRUE speeds up +#GtkTreeView by assuming that all rows have the same height. +Only enable this option if all rows are the same height. +Please see gtk_tree_view_set_fixed_height_mode() for more +information on this option. + + + + + + + + + + + + + Enables of disables the hover expansion mode of @tree_view. +Hover expansion makes rows expand or collapse if the pointer moves +over them. +This mode is primarily intended for treeviews in popups, e.g. +in #GtkComboBox or #GtkEntryCompletion. + + + + Enables of disables the hover selection mode of @tree_view. +Hover selection makes the selected row follow the pointer. +Currently, this works only for the selection modes +%GTK_SELECTION_SINGLE and %GTK_SELECTION_BROWSE. +This mode is primarily intended for treeviews in popups, e.g. +in #GtkComboBox or #GtkEntryCompletion. + + + + Extra indentation for each level. + + + + + + + + + + + + + + + + + + + %TRUE if the view has expanders. + + + + + + + + + + + + + + + + The number of columns of the treeview has changed. + + + + + + The position of the cursor (focused cell) has changed. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The "row-activated" signal is emitted when the method +gtk_tree_view_row_activated() is called or the user double clicks +a treeview row. It is also emitted when a non-editable row is +Enter is pressed. +For selection handling refer to the <link linkend="TreeWidget">tree +widget conceptual overview</link> as well as #GtkTreeSelection. + + + + + + the #GtkTreePath for the activated row + + + + the #GtkTreeViewColumn in which the activation occurred + + + + + + The given row has been collapsed (child nodes are hidden). + + + + + + the tree iter of the collapsed row + + + + a tree path that points to the row + + + + + + The given row has been expanded (child nodes are shown). + + + + + + the tree iter of the expanded row + + + + a tree path that points to the row + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The given row is about to be collapsed (hide its children nodes). Use this +signal if you need to control the collapsibility of individual rows. + + %FALSE to allow collapsing, %TRUE to reject + + + + + the tree iter of the row to collapse + + + + a tree path that points to the row + + + + + + The given row is about to be expanded (show its children nodes). Use this +signal if you need to control the expandability of individual rows. + + %FALSE to allow expansion, %TRUE to reject + + + + + the tree iter of the row to expand + + + + a tree path that points to the row + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Creates a new #GtkTreeViewColumn. + + A newly created #GtkTreeViewColumn. + + + + + Creates a new #GtkTreeViewColumn with a number of default values. This is +equivalent to calling gtk_tree_view_column_set_title(), +gtk_tree_view_column_pack_start(), and +gtk_tree_view_column_set_attributes() on the newly created #GtkTreeViewColumn. +Here's a simple example: +|[ +enum { TEXT_COLUMN, COLOR_COLUMN, N_COLUMNS }; +... +{ +GtkTreeViewColumn *column; +GtkCellRenderer *renderer = gtk_cell_renderer_text_new (); +column = gtk_tree_view_column_new_with_attributes ("Title", +renderer, +"text", TEXT_COLUMN, +"foreground", COLOR_COLUMN, +NULL); +} +]| + + A newly created #GtkTreeViewColumn. + + + + + The title to set the header to. + + + + The #GtkCellRenderer. + + + + + + + + + + Packs the @cell into the beginning of the column. If @expand is %FALSE, then +the @cell is allocated no more space than it needs. Any unused space is divided +evenly between cells for which @expand is %TRUE. + + + + + + The #GtkCellRenderer. + + + + %TRUE if @cell is to be given extra space allocated to @tree_column. + + + + + + Adds the @cell to end of the column. If @expand is %FALSE, then the @cell +is allocated no more space than it needs. Any unused space is divided +evenly between cells for which @expand is %TRUE. + + + + + + The #GtkCellRenderer. + + + + %TRUE if @cell is to be given extra space allocated to @tree_column. + + + + + + Unsets all the mappings on all renderers on the @tree_column. + + + + + + Returns a newly-allocated #GList of all the cell renderers in the column, +in no particular order. The list must be freed with g_list_free(). + + A list of #GtkCellRenderers + + + + + + + Adds an attribute mapping to the list in @tree_column. The @column is the +column of the model to get a value from, and the @attribute is the +parameter on @cell_renderer to be set from the value. So for example +if column 2 of the model contains strings, you could have the +"text" attribute of a #GtkCellRendererText get its values from +column 2. + + + + + + the #GtkCellRenderer to set attributes on + + + + An attribute on the renderer + + + + The column position on the model to get the attribute from. + + + + + + Sets the attributes in the list as the attributes of @tree_column. +The attributes should be in attribute/column order, as in +gtk_tree_view_column_add_attribute(). All existing attributes +are removed, and replaced with the new attributes. + + + + + + the #GtkCellRenderer we're setting the attributes of + + + + + + + + + + Sets the #GtkTreeViewColumnFunc to use for the column. This +function is used instead of the standard attributes mapping for +setting the column value, and should set the value of @tree_column's +cell renderer as appropriate. @func may be %NULL to remove an +older one. + + + + + + A #GtkCellRenderer + + + + The #GtkTreeViewColumnFunc to use. + + + + The user data for @func. + + + + The destroy notification for @func_data + + + + + + Clears all existing attributes previously set with +gtk_tree_view_column_set_attributes(). + + + + + + a #GtkCellRenderer to clear the attribute mapping on. + + + + + + Sets the spacing field of @tree_column, which is the number of pixels to +place between cell renderers packed into it. + + + + + + distance between cell renderers in pixels. + + + + + + Returns the spacing of @tree_column. + + the spacing of @tree_column. + + + + + Sets the visibility of @tree_column. + + + + + + %TRUE if the @tree_column is visible. + + + + + + Returns %TRUE if @tree_column is visible. +the tree will show the column. + + whether the column is visible or not. If it is visible, then + + + + + If @resizable is %TRUE, then the user can explicitly resize the column by +grabbing the outer edge of the column button. If resizable is %TRUE and +sizing mode of the column is #GTK_TREE_VIEW_COLUMN_AUTOSIZE, then the sizing +mode is changed to #GTK_TREE_VIEW_COLUMN_GROW_ONLY. + + + + + + %TRUE, if the column can be resized + + + + + + Returns %TRUE if the @tree_column can be resized by the end user. + + %TRUE, if the @tree_column can be resized. + + + + + Sets the growth behavior of @tree_column to @type. + + + + + + The #GtkTreeViewColumnSizing. + + + + + + Returns the current type of @tree_column. + + The type of @tree_column. + + + + + Returns the current size of @tree_column in pixels. + + The current width of @tree_column. + + + + + Gets the fixed width of the column. This value is only meaning may not be +the actual width of the column on the screen, just what is requested. + + the fixed width of the column + + + + + Sets the size of the column in pixels. This is meaningful only if the sizing +type is #GTK_TREE_VIEW_COLUMN_FIXED. The size of the column is clamped to +the min/max width for the column. Please note that the min/max width of the +column doesn't actually affect the "fixed_width" property of the widget, just +the actual size when displayed. + + + + + + The size to set @tree_column to. Must be greater than 0. + + + + + + Sets the minimum width of the @tree_column. If @min_width is -1, then the +minimum width is unset. + + + + + + The minimum width of the column in pixels, or -1. + + + + + + Returns the minimum width in pixels of the @tree_column, or -1 if no minimum +width is set. + + The minimum width of the @tree_column. + + + + + Sets the maximum width of the @tree_column. If @max_width is -1, then the +maximum width is unset. Note, the column can actually be wider than max +width if it's the last column in a view. In this case, the column expands to +fill any extra space. + + + + + + The maximum width of the column in pixels, or -1. + + + + + + Returns the maximum width in pixels of the @tree_column, or -1 if no maximum +width is set. + + The maximum width of the @tree_column. + + + + + Emits the "clicked" signal on the column. This function will only work if + + + + + + Sets the title of the @tree_column. If a custom widget has been set, then +this value is ignored. + + + + + + The title of the @tree_column. + + + + + + Returns the title of the widget. +modified or freed. + + the title of the column. This string should not be + + + + + Sets the column to take available extra space. This space is shared equally +amongst all columns that have the expand set to %TRUE. If no column has this +option set, then the last column gets all extra space. By default, every +column is created with this %FALSE. + + + + + + %TRUE if the column should take available extra space, %FALSE if not + + + + + + Return %TRUE if the column expands to take any available space. + + %TRUE, if the column expands + + + + + Sets the header to be active if @active is %TRUE. When the header is active, +then it can take keyboard focus, and can be clicked. + + + + + + %TRUE if the header is active. + + + + + + Returns %TRUE if the user can click on the header for the column. + + %TRUE if user can click the column header. + + + + + Sets the widget in the header to be @widget. If widget is %NULL, then the +header button is set with a #GtkLabel set to the title of @tree_column. + + + + + + A child #GtkWidget, or %NULL. + + + + + + Returns the #GtkWidget in the button on the column header. If a custom +widget has not been set then %NULL is returned. + + The #GtkWidget in the column header, or %NULL + + + + + Sets the alignment of the title or custom widget inside the column header. +The alignment determines its location inside the button -- 0.0 for left, 0.5 +for center, 1.0 for right. + + + + + + The alignment, which is between [0.0 and 1.0] inclusive. + + + + + + Returns the current x alignment of @tree_column. This value can range +between 0.0 and 1.0. + + The current alignent of @tree_column. + + + + + If @reorderable is %TRUE, then the column can be reordered by the end user +dragging the header. + + + + + + %TRUE, if the column can be reordered. + + + + + + Returns %TRUE if the @tree_column can be reordered by the user. + + %TRUE if the @tree_column can be reordered by the user. + + + + + Sets the logical @sort_column_id that this column sorts on when this column +is selected for sorting. Doing so makes the column header clickable. + + + + + + The @sort_column_id of the model to sort on. + + + + + + Gets the logical @sort_column_id that the model sorts on when this +column is selected for sorting. +See gtk_tree_view_column_set_sort_column_id(). +this column can't be used for sorting. + + the current @sort_column_id for this column, or -1 if + + + + + Call this function with a @setting of %TRUE to display an arrow in +the header button indicating the column is sorted. Call +gtk_tree_view_column_set_sort_order() to change the direction of +the arrow. + + + + + + %TRUE to display an indicator that the column is sorted + + + + + + Gets the value set by gtk_tree_view_column_set_sort_indicator(). + + whether the sort indicator arrow is displayed + + + + + Changes the appearance of the sort indicator. +This <emphasis>does not</emphasis> actually sort the model. Use +gtk_tree_view_column_set_sort_column_id() if you want automatic sorting +support. This function is primarily for custom sorting behavior, and should +be used in conjunction with gtk_tree_sortable_set_sort_column() to do +that. For custom models, the mechanism will vary. +The sort indicator changes direction to indicate normal sort or reverse sort. +Note that you must have the sort indicator enabled to see anything when +calling this function; see gtk_tree_view_column_set_sort_indicator(). + + + + + + sort order that the sort indicator should indicate + + + + + + Gets the value set by gtk_tree_view_column_set_sort_order(). + + the sort order the sort indicator is indicating + + + + + Sets the cell renderer based on the @tree_model and @iter. That is, for +every attribute mapping in @tree_column, it will get a value from the set +column on the @iter, and use that value to set the attribute on the cell +renderer. This is used primarily by the #GtkTreeView. + + + + + + The #GtkTreeModel to to get the cell renderers attributes from. + + + + The #GtkTreeIter to to get the cell renderer's attributes from. + + + + %TRUE, if the row has children + + + + %TRUE, if the row has visible children + + + + + + Obtains the width and height needed to render the column. This is used +primarily by the #GtkTreeView. + + + + + + The area a cell in the column will be allocated, or %NULL + + + + location to return x offset of a cell relative to @cell_area, or %NULL + + + + location to return y offset of a cell relative to @cell_area, or %NULL + + + + location to return width needed to render a cell, or %NULL + + + + location to return height needed to render a cell, or %NULL + + + + + + Returns %TRUE if any of the cells packed into the @tree_column are visible. +For this to be meaningful, you must first initialize the cells with +gtk_tree_view_column_cell_set_cell_data() + + %TRUE, if any of the cells packed into the @tree_column are currently visible + + + + + Sets the current keyboard focus to be at @cell, if the column contains +2 or more editable and activatable cells. + + + + + + A #GtkCellRenderer + + + + + + Obtains the horizontal position and size of a cell in a column. If the +cell is not found in the column, @start_pos and @width are not changed and +%FALSE is returned. + + %TRUE if @cell belongs to @tree_column. + + + + + a #GtkCellRenderer + + + + return location for the horizontal position of @cell within + + + + return location for the width of @cell, may be %NULL + + + + + + Flags the column, and the cell renderers added to this column, to have +their sizes renegotiated. + + + + + + Returns the #GtkTreeView wherein @tree_column has been inserted. If +returned. +%NULL otherwise. + + The tree view wherein @column has been inserted if any, + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Logical sort column ID this column sorts on when selected for sorting. Setting the sort column ID makes the column header +clickable. Set to %-1 to make the column unsortable. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Creates a new ui manager object. + + a new ui manager object. + + + + + Looks up a widget by following a path. +The path consists of the names specified in the XML description of the UI. +separated by '/'. Elements which don't have a name or action attribute in +the XML (e.g. &lt;popup&gt;) can be addressed by their XML element name +(e.g. "popup"). The root element ("/ui") can be omitted in the path. +Note that the widget found by following a path that ends in a &lt;menu&gt; +element is the menuitem to which the menu is attached, not the menu itself. +Also note that the widgets constructed by a ui manager are not tied to +the lifecycle of the ui manager. If you add the widgets returned by this +function to some container or explicitly ref them, they will survive the +destruction of the ui manager. +was found. + + the widget found by following the path, or %NULL if no widget + + + + + a path + + + + + + Looks up an action by following a path. See gtk_ui_manager_get_widget() +for more information about paths. +or %NULL if no widget was found. + + the action whose proxy widget is found by following the path, + + + + + a path + + + + + + Sets the "add_tearoffs" property, which controls whether menus +generated by this #GtkUIManager will have tearoff menu items. +Note that this only affects regular menus. Generated popup +menus never have tearoff menu items. + + + + + + whether tearoff menu items are added + + + + + + Returns whether menus generated by this #GtkUIManager +will have tearoff menu items. + + whether tearoff menu items are added + + + + + Inserts an action group into the list of action groups associated +with @self. Actions in earlier groups hide actions with the same +name in later groups. + + + + + + the action group to be inserted + + + + the position at which the group will be inserted. + + + + + + Removes an action group from the list of action groups associated +with @self. + + + + + + the action group to be removed + + + + + + Returns the list of action groups associated with @self. +action groups. The list is owned by GTK+ +and should not be modified. + + a #GList of + + + + + + + Returns the #GtkAccelGroup associated with @self. + + the #GtkAccelGroup. + + + + + Looks up a widget by following a path. +The path consists of the names specified in the XML description of the UI. +separated by '/'. Elements which don't have a name or action attribute in +the XML (e.g. &lt;popup&gt;) can be addressed by their XML element name +(e.g. "popup"). The root element ("/ui") can be omitted in the path. +Note that the widget found by following a path that ends in a &lt;menu&gt; +element is the menuitem to which the menu is attached, not the menu itself. +Also note that the widgets constructed by a ui manager are not tied to +the lifecycle of the ui manager. If you add the widgets returned by this +function to some container or explicitly ref them, they will survive the +destruction of the ui manager. +was found. + + the widget found by following the path, or %NULL if no widget + + + + + a path + + + + + + Obtains a list of all toplevel widgets of the requested types. +all toplevel widgets of the requested types. Free the returned list with g_slist_free(). + + a newly-allocated #GSList of + + + + + + + specifies the types of toplevel widgets to include. Allowed types are #GTK_UI_MANAGER_MENUBAR, #GTK_UI_MANAGER_TOOLBAR and #GTK_UI_MANAGER_POPUP. + + + + + + Looks up an action by following a path. See gtk_ui_manager_get_widget() +for more information about paths. +or %NULL if no widget was found. + + the action whose proxy widget is found by following the path, + + + + + a path + + + + + + Parses a string containing a <link linkend="XML-UI">UI definition</link> and +merges it with the current contents of @self. An enclosing &lt;ui&gt; +element is added if it is missing. +to unmerge the UI with gtk_ui_manager_remove_ui(). If an error occurred, +the return value is 0. + + The merge id for the merged UI. The merge id can be used + + + + + the string to parse + + + + the length of @buffer (may be -1 if @buffer is nul-terminated) + + + + + + Parses a file containing a <link linkend="XML-UI">UI definition</link> and +merges it with the current contents of @self. +to unmerge the UI with gtk_ui_manager_remove_ui(). If an error occurred, +the return value is 0. + + The merge id for the merged UI. The merge id can be used + + + + + the name of the file to parse + + + + + + Adds a UI element to the current contents of @self. +If @type is %GTK_UI_MANAGER_AUTO, GTK+ inserts a menuitem, toolitem or +separator if such an element can be inserted at the place determined by +the place determined by @path. +If @path points to a menuitem or toolitem, the new element will be inserted +before or after this item, depending on @top. + + + + + + the merge id for the merged UI, see gtk_ui_manager_new_merge_id() + + + + a path + + + + the name for the added UI element + + + + the name of the action to be proxied, or %NULL to add a separator + + + + the type of UI element to add. + + + + if %TRUE, the UI element is added before its siblings, otherwise it is added after its siblings. + + + + + + Unmerges the part of @self<!-- -->s content identified by @merge_id. + + + + + + a merge id as returned by gtk_ui_manager_add_ui_from_string() + + + + + + Creates a <link linkend="XML-UI">UI definition</link> of the merged UI. +the merged UI. + + A newly allocated string containing an XML representation of + + + + + Makes sure that all pending updates to the UI have been completed. +This may occasionally be necessary, since #GtkUIManager updates the +UI in an idle function. A typical example where this function is +useful is to enforce that the menubar and toolbar have been added to +the main window before showing it: +|[ +gtk_container_add (GTK_CONTAINER (window), vbox); +g_signal_connect (merge, "add-widget", +G_CALLBACK (add_widget), vbox); +gtk_ui_manager_add_ui_from_file (merge, "my-menus"); +gtk_ui_manager_add_ui_from_file (merge, "my-toolbars"); +gtk_ui_manager_ensure_update (merge); +gtk_widget_show (window); +]| + + + + + + Returns an unused merge id, suitable for use with +gtk_ui_manager_add_ui(). + + an unused merge id. + + + + + The "add-tearoffs" property controls whether generated menus +have tearoff menu items. +Note that this only affects regular menus. Generated popup +menus never have tearoff menu items. + + + + + + + + + + + + + The "actions-changed" signal is emitted whenever the set of actions +changes. + + + + + + The add_widget signal is emitted for each generated menubar and toolbar. +It is not emitted for generated popup menus, which can be obtained by +gtk_ui_manager_get_widget(). + + + + + + the added widget + + + + + + The connect_proxy signal is emitted after connecting a proxy to +an action in the group. +This is intended for simple customizations for which a custom action +class would be too clumsy, e.g. showing tooltips for menuitems in the +statusbar. + + + + + + the action + + + + the proxy + + + + + + The disconnect_proxy signal is emitted after disconnecting a proxy +from an action in the group. + + + + + + the action + + + + the proxy + + + + + + The post_activate signal is emitted just after the @action +is activated. +This is intended for applications to get notification +just after any action is activated. + + + + + + the action + + + + + + The pre_activate signal is emitted just before the @action +is activated. +This is intended for applications to get notification +just before any action is activated. + + + + + + the action + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + the widget found by following the path, or %NULL if no widget + + + + + + + + a path + + + + + + + + + the action whose proxy widget is found by following the path, + + + + + + + + a path + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Creates a new #GtkVBox. + + a new #GtkVBox. + + + + + %TRUE if all children are to be given equal space allotments. + + + + the number of pixels to place by default between children. + + + + + + + + + + + + + + + + + + + Creates a new vertical button box. + + a new button box #GtkWidget. + + + + + Retrieves the current default spacing for vertical button boxes. This is the number of pixels +to be placed between the buttons when they are arranged. + + the default number of pixels between buttons. + + + + + Changes the default spacing that is placed between widgets in an +vertical button box. + + + + + + an integer value. + + + + + + Retrieves the current layout used to arrange buttons in button box widgets. + + the current #GtkButtonBoxStyle. + + + + + Sets a new layout mode that will be used by all button boxes. + + + + + + a new #GtkButtonBoxStyle. + + + + + + + + + + + + + + + + + + + Create a new #GtkVPaned + + the new #GtkVPaned + + + + + + + + + + + + + + + + + + Creates a new vertical ruler + + a new #GtkVRuler. + + + + + + + + + + + + + + The #GtkVScale struct contains private data only, and +should be accessed using the functions below. + + + + + Creates a new #GtkVScale. + + a new #GtkVScale. + + + + + the #GtkAdjustment which sets the range of the scale. + + + + + + Creates a new vertical scale widget that lets the user input a +number between @min and @max (including @min and @max) with the +increment @step. @step must be nonzero; it's the distance the +slider moves when using the arrow keys to adjust the scale value. +Note that the way in which the precision is derived works best if @step +is a power of ten. If the resulting precision is not suitable for your +needs, use gtk_scale_set_digits() to correct it. + + a new #GtkVScale + + + + + minimum value + + + + maximum value + + + + step increment (tick size) used with keyboard shortcuts + + + + + + + + + + + + + + + The #GtkVScrollbar struct contains private data and should be accessed +using the functions below. + + + + + Creates a new vertical scrollbar. + + the new #GtkVScrollbar + + + + + the #GtkAdjustment to use, or %NULL to create a new adjustment + + + + + + + + + + + + + + + The #GtkVSeparator struct contains private data only, and +should be accessed using the functions below. + + + + + Creates a new #GtkVSeparator. + + a new #GtkVSeparator. + + + + + + + + + + + + + + + + + Creates a new #GtkViewport with the given adjustments. + + a new #GtkViewport. + + + + + horizontal adjustment. + + + + vertical adjustment. + + + + + + Returns the horizontal adjustment of the viewport. + + the horizontal adjustment of @viewport. + + + + + Returns the vertical adjustment of the viewport. + + the vertical adjustment of @viewport. + + + + + Sets the horizontal adjustment of the viewport. + + + + + + a #GtkAdjustment. + + + + + + Sets the vertical adjustment of the viewport. + + + + + + a #GtkAdjustment. + + + + + + + + + + + + + + + + Gets the shadow type of the #GtkViewport. See +gtk_viewport_set_shadow_type(). + + the shadow type + + + + + Gets the bin window of the #GtkViewport. + + a #GdkWindow + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + This is a convenience function for creating a widget and setting +its properties in one go. For example you might write: +<literal>gtk_widget_new (GTK_TYPE_LABEL, "label", "Hello World", "xalign", +0.0, NULL)</literal> to create a left-aligned label. Equivalent to +g_object_new(), but returns a widget so you don't have to +cast the object yourself. + + a new #GtkWidget of type @widget_type + + + + + type ID of the widget to create + + + + name of first property to set + + + + + + + + + + Pushes @cmap onto a global stack of colormaps; the topmost +colormap on the stack will be used to create all widgets. +Remove @cmap with gtk_widget_pop_colormap(). There's little +reason to use this function. + + + + + + a #GdkColormap + + + + + + Makes all newly-created widgets as composite children until +the corresponding gtk_widget_pop_composite_child() call. +A composite child is a child that's an implementation detail of the +container it's inside and should not be visible to people using the +container. Composite children aren't treated differently by GTK (but +see gtk_container_foreach() vs. gtk_container_forall()), but e.g. GUI +builders might want to treat them in a different way. +Here is a simple example: +|[ +gtk_widget_push_composite_child (); +scrolled_window->hscrollbar = gtk_hscrollbar_new (hadjustment); +gtk_widget_set_composite_name (scrolled_window->hscrollbar, "hscrollbar"); +gtk_widget_pop_composite_child (); +gtk_widget_set_parent (scrolled_window->hscrollbar, +GTK_WIDGET (scrolled_window)); +g_object_ref (scrolled_window->hscrollbar); +]| + + + + + + Cancels the effect of a previous call to gtk_widget_push_composite_child(). + + + + + + Removes a colormap pushed with gtk_widget_push_colormap(). + + + + + + Sets the default colormap to use when creating widgets. +gtk_widget_push_colormap() is a better function to use if +you only want to affect a few widgets, rather than all widgets. + + + + + + a #GdkColormap + + + + + + Returns the default style used by all widgets initially. +by GTK+ and should not be modified or freed. + + the default style. This #GtkStyle object is owned + + + + + Obtains the default colormap used to create widgets. + + default widget colormap + + + + + Obtains the visual of the default colormap. Not really useful; +used to be useful before gdk_colormap_get_visual() existed. + + visual of the default colormap + + + + + Sets the default reading direction for widgets where the +direction has not been explicitly set by gtk_widget_set_direction(). + + + + + + the new default direction. This cannot be %GTK_TEXT_DIR_NONE. + + + + + + Obtains the current default reading direction. See +gtk_widget_set_default_direction(). + + the current default direction. + + + + + + + + + + + + + + + + + + Recursively shows a widget, and any child widgets (if the widget is +a container). + + + + + + Recursively hides a widget and any child widgets. + + + + + + Returns the accessible object that describes the widget to an +assistive technology. +If no accessibility library is loaded (i.e. no ATK implementation library is +loaded via <envar>GTK_MODULES</envar> or via another application library, +such as libgnome), then this #AtkObject instance may be a no-op. Likewise, +if no class-specific #AtkObject implementation is available for the widget +instance in question, it will inherit an #AtkObject implementation from the +first ancestor class for which such an implementation is defined. +The documentation of the <ulink url="http://developer.gnome.org/doc/API/2.0/atk/index.html">ATK</ulink> +library contains more information about accessible objects and their uses. + + the #AtkObject associated with @widget + + + + + Destroys a widget. Equivalent to gtk_object_destroy(), except that +you don't have to cast the widget to #GtkObject. When a widget is +destroyed, it will break any references it holds to other objects. +If the widget is inside a container, the widget will be removed +from the container. If the widget is a toplevel (derived from +#GtkWindow), it will be removed from the list of toplevels, and the +reference GTK+ holds to it will be removed. Removing a +widget from its container or the list of toplevels results in the +widget being finalized, unless you've added additional references +to the widget with g_object_ref(). +In most cases, only toplevel widgets (windows) require explicit +destruction, because when you destroy a toplevel its children will +be destroyed as well. + + + + + + This function sets *@widget_pointer to %NULL if @widget_pointer != +%NULL. It's intended to be used as a callback connected to the +"destroy" signal of a widget. You connect gtk_widget_destroyed() +as a signal handler, and pass the address of your widget variable +as user data. Then when the widget is destroyed, the variable will +be set to %NULL. Useful for example to avoid multiple copies +of the same dialog. + + + + + + address of a variable that contains @widget + + + + + + Adds a reference to a widget. This function is exactly the same +as calling g_object_ref(), and exists mostly for historical +reasons. It can still be convenient to avoid casting a widget +to a #GObject, it saves a small amount of typing. + + the widget that was referenced + + + + + Inverse of gtk_widget_ref(). Equivalent to g_object_unref(). + + + + + + Precursor of g_object_set(). + + + + + + name of first property to set + + + + + + + + + + This function is only for use in widget implementations. +Should be called by implementations of the remove method +on #GtkContainer, to dissociate a child from the container. + + + + + + Flags a widget to be displayed. Any widget that isn't shown will +not appear on the screen. If you want to show all the widgets in a +container, it's easier to call gtk_widget_show_all() on the +container, instead of individually showing the widgets. +Remember that you have to show the containers containing a widget, +in addition to the widget itself, before it will appear onscreen. +When a toplevel container is shown, it is immediately realized and +mapped; other shown widgets are realized and mapped when their +toplevel container is realized and mapped. + + + + + + Shows a widget. If the widget is an unmapped toplevel widget +(i.e. a #GtkWindow that has not yet been shown), enter the main +loop and wait for the window to actually be mapped. Be careful; +because the main loop is running, anything can happen during +this function. + + + + + + Reverses the effects of gtk_widget_show(), causing the widget to be +hidden (invisible to the user). + + + + + + Recursively shows a widget, and any child widgets (if the widget is +a container). + + + + + + Recursively hides a widget and any child widgets. + + + + + + Sets the #GtkWidget:no-show-all property, which determines whether +calls to gtk_widget_show_all() and gtk_widget_hide_all() will affect +this widget. +This is mostly for use in constructing widget hierarchies with externally +controlled visibility, see #GtkUIManager. + + + + + + the new value for the "no-show-all" property + + + + + + Returns the current value of the GtkWidget:no-show-all property, +which determines whether calls to gtk_widget_show_all() and +gtk_widget_hide_all() will affect this widget. + + the current value of the "no-show-all" property. + + + + + This function is only for use in widget implementations. Causes +a widget to be mapped if it isn't already. + + + + + + This function is only for use in widget implementations. Causes +a widget to be unmapped if it's currently mapped. + + + + + + Creates the GDK (windowing system) resources associated with a +widget. For example, @widget->window will be created when a widget +is realized. Normally realization happens implicitly; if you show +a widget and all its parent containers, then the widget will be +realized and mapped automatically. +Realizing a widget requires all +the widget's parent widgets to be realized; calling +gtk_widget_realize() realizes the widget's parents in addition to +when you realize it, bad things will happen. +This function is primarily used in widget implementations, and +isn't very useful otherwise. Many times when you think you might +need it, a better approach is to connect to a signal that will be +called after the widget is realized automatically, such as +GtkWidget::expose-event. Or simply g_signal_connect () to the +GtkWidget::realize signal. + + + + + + This function is only useful in widget implementations. +Causes a widget to be unrealized (frees all GDK resources +associated with the widget, such as @widget->window). + + + + + + Equivalent to calling gtk_widget_queue_draw_area() for the +entire area of a widget. + + + + + + Invalidates the rectangular area of @widget defined by @x, @y, +widget's window and all its child windows. Once the main loop +becomes idle (after the current batch of events has been processed, +roughly), the window will receive expose events for the union of +all regions that have been invalidated. +Normally you would only use this function in widget +implementations. You might also use it, or +gdk_window_invalidate_rect() directly, to schedule a redraw of a +#GtkDrawingArea or some portion thereof. +Frequently you can just call gdk_window_invalidate_rect() or +gdk_window_invalidate_region() instead of this function. Those +functions will invalidate only a single window, instead of the +widget and all its children. +The advantage of adding to the invalidated region compared to +simply drawing immediately is efficiency; using an invalid region +ensures that you only have to redraw one time. + + + + + + x coordinate of upper-left corner of rectangle to redraw + + + + y coordinate of upper-left corner of rectangle to redraw + + + + width of region to draw + + + + height of region to draw + + + + + + This function does the same as gtk_widget_queue_draw(). + + + + + + This function is no longer different from +gtk_widget_queue_draw_area(), though it once was. Now it just calls +gtk_widget_queue_draw_area(). Originally +gtk_widget_queue_clear_area() would force a redraw of the +background for %GTK_NO_WINDOW widgets, and +gtk_widget_queue_draw_area() would not. Now both functions ensure +the background will be redrawn. + + + + + + x coordinate of upper-left corner of rectangle to redraw + + + + y coordinate of upper-left corner of rectangle to redraw + + + + width of region to draw + + + + height of region to draw + + + + + + This function is only for use in widget implementations. +Flags a widget to have its size renegotiated; should +be called when a widget for some reason has a new size request. +For example, when you change the text in a #GtkLabel, #GtkLabel +queues a resize to ensure there's enough space for the new text. + + + + + + This function works like gtk_widget_queue_resize(), +except that the widget is not invalidated. + + + + + + In GTK+ 1.2, this function would immediately render the +region @area of a widget, by invoking the virtual draw method of a +widget. In GTK+ 2.0, the draw method is gone, and instead +gtk_widget_draw() simply invalidates the specified region of the +widget, then updates the invalid region of the widget immediately. +Usually you don't want to update the region immediately for +performance reasons, so in general gtk_widget_queue_draw_area() is +a better choice if you want to draw a region of a widget. + + + + + + area to draw + + + + + + This function is typically used when implementing a #GtkContainer +subclass. Obtains the preferred size of a widget. The container +uses this information to arrange its child widgets and decide what +size allocations to give them with gtk_widget_size_allocate(). +You can also call this function from an application, with some +caveats. Most notably, getting a size request requires the widget +to be associated with a screen, because font information may be +needed. Multihead-aware applications should keep this in mind. +Also remember that the size request is not necessarily the size +a widget will actually be allocated. +See also gtk_widget_get_child_requisition(). + + + + + + a #GtkRequisition to be filled in + + + + + + This function is only used by #GtkContainer subclasses, to assign a size +and position to their child widgets. + + + + + + position and size to be allocated to @widget + + + + + + This function is only for use in widget implementations. Obtains +geometry on the widget (e.g. with gtk_widget_set_size_request()), +in which case it returns that geometry instead of the widget's +requisition. +This function differs from gtk_widget_size_request() in that +it retrieves the last size request value from @widget->requisition, +while gtk_widget_size_request() actually calls the "size_request" method +on @widget to compute the size request and fill in @widget->requisition, +and only then returns @widget->requisition. +Because this function does not call the "size_request" method, it +can only be used when you know that @widget->requisition is +up-to-date, that is, gtk_widget_size_request() has been called +since the last time a resize was queued. In general, only container +implementations have this information; applications should use +gtk_widget_size_request(). + + + + + + a #GtkRequisition to be filled in + + + + + + + + + + + + + + + + + + + + + + + + + + + + Removes an accelerator from @widget, previously installed with +gtk_widget_add_accelerator(). + + whether an accelerator was installed and could be removed + + + + + accel group for this widget + + + + GDK keyval of the accelerator + + + + modifier key combination of the accelerator + + + + + + Given an accelerator group, @accel_group, and an accelerator path, +key binding that is defined for @accel_path is pressed, @widget +will be activated. This removes any accelerators (for any +accelerator group) installed by previous calls to +gtk_widget_set_accel_path(). Associating accelerators with +paths allows them to be modified by the user and the modifications +to be saved for future use. (See gtk_accel_map_save().) +This function is a low level function that would most likely +be used by a menu creation system like #GtkUIManager. If you +use #GtkUIManager, setting up accelerator paths will be done +automatically. +Even when you you aren't using #GtkUIManager, if you only want to +set up accelerators on menu items gtk_menu_item_set_accel_path() +provides a somewhat more convenient interface. +Note that @accel_path string will be stored in a #GQuark. Therefore, if you +pass a static string, you can save some memory by interning it first with +g_intern_static_string(). + + + + + + path used to look up the accelerator + + + + a #GtkAccelGroup. + + + + + + + + + + + + + Determines whether an accelerator that activates the signal +identified by @signal_id can currently be activated. +This is done by emitting the #GtkWidget::can-activate-accel +signal on @widget; if the signal isn't overridden by a +handler or in a derived widget, then the default check is +that the widget must be sensitive, and the widget and all +its ancestors mapped. + + %TRUE if the accelerator can be activated. + + + + + the ID of a signal installed on @widget + + + + + + Emits the #GtkWidget::mnemonic-activate signal. +The default handler for this signal activates the @widget if +is %TRUE. + + %TRUE if the signal has been handled + + + + + %TRUE if there are other widgets with the same mnemonic + + + + + + Rarely-used function. This function is used to emit +the event signals on a widget (those signals should never +be emitted without using this function to do so). +If you want to synthesize an event though, don't use this function; +instead, use gtk_main_do_event() so the event will behave as if +it were in the event queue. Don't synthesize expose events; instead, +use gdk_window_invalidate_rect() to invalidate a region of the +window. +the event was handled) + + return from the event signal emission (%TRUE if + + + + + a #GdkEvent + + + + + + Very rarely-used function. This function is used to emit +an expose event signals on a widget. This function is not +normally used directly. The only time it is used is when +propagating an expose event to a child %NO_WINDOW widget, and +that is normally done using gtk_container_propagate_expose(). +If you want to force an area of a window to be redrawn, +use gdk_window_invalidate_rect() or gdk_window_invalidate_region(). +To cause the redraw to be done immediately, follow that call +with a call to gdk_window_process_updates(). +the event was handled) + + return from the event signal emission (%TRUE if + + + + + a expose #GdkEvent + + + + + + Sends the focus change @event to @widget +This function is not meant to be used by applications. The only time it +should be used is when it is necessary for a #GtkWidget to assign focus +to a widget that is semantically owned by the first widget even though +it's not a direct child - for instance, a search entry in a floating +window similar to the quick search in #GtkTreeView. +An example of its usage is: +|[ +GdkEvent *fevent = gdk_event_new (GDK_FOCUS_CHANGE); +fevent->focus_change.type = GDK_FOCUS_CHANGE; +fevent->focus_change.in = TRUE; +fevent->focus_change.window = gtk_widget_get_window (widget); +if (fevent->focus_change.window != NULL) +g_object_ref (fevent->focus_change.window); +gtk_widget_send_focus_change (widget, fevent); +gdk_event_free (event); +]| +if the event was handled, and %FALSE otherwise + + the return value from the event signal emission: %TRUE + + + + + a #GdkEvent of type GDK_FOCUS_CHANGE + + + + + + For widgets that can be "activated" (buttons, menu items, etc.) +this function activates them. Activation is what happens when you +press Enter on a widget during key navigation. If @widget isn't +activatable, the function returns %FALSE. + + %TRUE if the widget was activatable + + + + + For widgets that support scrolling, sets the scroll adjustments and +returns %TRUE. For widgets that don't support scrolling, does +nothing and returns %FALSE. Widgets that don't support scrolling +can be scrolled by placing them in a #GtkViewport, which does +support scrolling. + + %TRUE if the widget supports scrolling + + + + + an adjustment for horizontal scrolling, or %NULL + + + + an adjustment for vertical scrolling, or %NULL + + + + + + Moves a widget from one #GtkContainer to another, handling reference +count issues to avoid destroying the widget. + + + + + + a #GtkContainer to move the widget into + + + + + + Computes the intersection of a @widget's area and @area, storing +the intersection in @intersection, and returns %TRUE if there was +an intersection. @intersection may be %NULL if you're only +interested in whether there was an intersection. + + %TRUE if there was an intersection + + + + + a rectangle + + + + rectangle to store intersection of @widget and @area + + + + + + Computes the intersection of a @widget's area and @region, returning +the intersection. The result may be empty, use gdk_region_empty() to +check. + + A newly allocated region holding the intersection of @widget and @region. The coordinates of the return value are relative to @widget->window for %NO_WINDOW widgets, and relative to the parent window of @widget->window for widgets with their own window. + + + + + a #GdkRegion, in the same coordinate system as for %NO_WINDOW widgets; relative to the parent window of @widget->window for widgets with their own window. + + + + + + Stops emission of #GtkWidget::child-notify signals on @widget. The +signals are queued until gtk_widget_thaw_child_notify() is called +on @widget. +This is the analogue of g_object_freeze_notify() for child properties. + + + + + + Emits a #GtkWidget::child-notify signal for the +<link linkend="child-properties">child property</link> @child_property +on @widget. +This is the analogue of g_object_notify() for child properties. + + + + + + the name of a child property installed on the class of @widget<!-- -->'s parent + + + + + + Reverts the effect of a previous call to gtk_widget_freeze_child_notify(). +This causes all queued #GtkWidget::child-notify signals on @widget to be +emitted. + + + + + + Specifies whether @widget can own the input focus. See +gtk_widget_grab_focus() for actually setting the input focus on a +widget. + + + + + + whether or not @widget can own the input focus. + + + + + + Determines whether @widget can own the input focus. See +gtk_widget_set_can_focus(). + + %TRUE if @widget can own the input focus, %FALSE otherwise + + + + + Determines if the widget has the global input focus. See +gtk_widget_is_focus() for the difference between having the global +input focus, and only having the focus within a toplevel. + + %TRUE if the widget has the global input focus. + + + + + Determines if the widget is the focus widget within its +toplevel. (This does not mean that the %HAS_FOCUS flag is +necessarily set; %HAS_FOCUS will only be set if the +toplevel widget additionally has the global input focus.) + + %TRUE if the widget is the focus widget. + + + + + Causes @widget to have the keyboard focus for the #GtkWindow it's +inside. @widget must be a focusable widget, such as a #GtkEntry; +something like #GtkFrame won't work. +More precisely, it must have the %GTK_CAN_FOCUS flag set. Use +gtk_widget_set_can_focus() to modify that flag. + + + + + + Specifies whether @widget can be a default widget. See +gtk_widget_grab_default() for details about the meaning of +"default". + + + + + + whether or not @widget can be a default widget. + + + + + + Determines whether @widget can be a default widget. See +gtk_widget_set_can_default(). + + %TRUE if @widget can be a default widget, %FALSE otherwise + + + + + Determines whether @widget is the current default widget within its +toplevel. See gtk_widget_set_can_default(). +its toplevel, %FALSE otherwise + + %TRUE if @widget is the current default widget within + + + + + Causes @widget to become the default widget. @widget must have the +%GTK_CAN_DEFAULT flag set; typically you have to set this flag +yourself by calling <literal>gtk_widget_set_can_default (@widget, +%TRUE)</literal>. The default widget is activated when +the user presses Enter in a window. Default widgets must be +activatable, that is, gtk_widget_activate() should affect them. + + + + + + Specifies whether @widget will be treated as the default widget +within its toplevel when it has the focus, even if another widget +is the default. +See gtk_widget_grab_default() for details about the meaning of +"default". + + + + + + whether or not @widget can be a default widget. + + + + + + Determines whether @widget is alyways treated as default widget +withing its toplevel when it has the focus, even if another widget +is the default. +See gtk_widget_set_receives_default(). +%FALSE otherwise + + %TRUE if @widget acts as default widget when focussed, + + + + + Determines whether the widget is currently grabbing events, so it +is the only widget receiving input events (keyboard and mouse). +See also gtk_grab_add(). + + %TRUE if the widget is in the grab_widgets stack + + + + + Widgets can be named, which allows you to refer to them from a +gtkrc file. You can apply a style to widgets with a particular name +in the gtkrc file. See the documentation for gtkrc files (on the +same page as the docs for #GtkRcStyle). +Note that widget names are separated by periods in paths (see +gtk_widget_path()), so names with embedded periods may cause confusion. + + + + + + name for the widget + + + + + + Retrieves the name of a widget. See gtk_widget_set_name() for the +significance of widget names. +should not be modified or freed + + name of the widget. This string is owned by GTK+ and + + + + + This function is for use in widget implementations. Sets the state +of a widget (insensitive, prelighted, etc.) Usually you should set +the state using wrapper functions such as gtk_widget_set_sensitive(). + + + + + + new state for @widget + + + + + + Returns the widget's state. See gtk_widget_set_state(). + + the state of @widget. + + + + + Sets the sensitivity of a widget. A widget is sensitive if the user +can interact with it. Insensitive widgets are "grayed out" and the +user can't interact with them. Insensitive widgets are known as +"inactive", "disabled", or "ghosted" in some other toolkits. + + + + + + %TRUE to make the widget sensitive + + + + + + Returns the widget's sensitivity (in the sense of returning +the value that has been set using gtk_widget_set_sensitive()). +The effective sensitivity of a widget is however determined by both its +own and its parent widget's sensitivity. See gtk_widget_is_sensitive(). + + %TRUE if the widget is sensitive + + + + + Returns the widget's effective sensitivity, which means +it is sensitive itself and also its parent widget is sensntive + + %TRUE if the widget is effectively sensitive + + + + + Sets the visibility state of @widget. Note that setting this to +%TRUE doesn't mean the widget is actually viewable, see +gtk_widget_get_visible(). +This function simply calls gtk_widget_show() or gtk_widget_hide() +but is nicer to use when the visibility of the widget depends on +some condition. + + + + + + whether the widget should be shown or not + + + + + + Determines whether the widget is visible. Note that this doesn't +take into account whether the widget's parent is also visible +or the widget is obscured in any way. +See gtk_widget_set_visible(). + + %TRUE if the widget is visible + + + + + Specifies whether @widget has a #GdkWindow of its own. Note that +all realized widgets have a non-%NULL "window" pointer +(gtk_widget_get_window() never returns a %NULL window when a widget +is realized), but for many of them it's actually the #GdkWindow of +one of its parent widgets. Widgets that create a %window for +themselves in GtkWidget::realize() however must announce this by +calling this function with @has_window = %TRUE. +This function should only be called by widget implementations, +and they should call it in their init() function. + + + + + + whether or not @widget has a window. + + + + + + Determines whether @widget has a #GdkWindow of its own. See +gtk_widget_set_has_window(). + + %TRUE if @widget has a window, %FALSE otherwise + + + + + Determines whether @widget is a toplevel widget. Currently only +#GtkWindow and #GtkInvisible are toplevel widgets. Toplevel +widgets have no parent widget. + + %TRUE if @widget is a toplevel, %FALSE otherwise + + + + + Determines whether @widget can be drawn to. A widget can be drawn +to if it is mapped and visible. + + %TRUE if @widget is drawable, %FALSE otherwise + + + + + Marks the widget as being realized. +This function should only ever be called in a derived widget's +"realize" or "unrealize" implementation. + + + + + + %TRUE to mark the widget as realized + + + + + + Determines whether @widget is realized. + + %TRUE if @widget is realized, %FALSE otherwise + + + + + Marks the widget as being realized. +This function should only ever be called in a derived widget's +"map" or "unmap" implementation. + + + + + + %TRUE to mark the widget as mapped + + + + + + Whether the widget is mapped. + + %TRUE if the widget is mapped, %FALSE otherwise. + + + + + Sets whether the application intends to draw on the widget in +an #GtkWidget::expose-event handler. +This is a hint to the widget and does not affect the behavior of +the GTK+ core; many widgets ignore this flag entirely. For widgets +that do pay attention to the flag, such as #GtkEventBox and #GtkWindow, +the effect is to suppress default themed drawing of the widget's +background. (Children of the widget will still be drawn.) The application +is then entirely responsible for drawing the widget background. +Note that the background is still drawn when the widget is mapped. +If this is not suitable (e.g. because you want to make a transparent +window using an RGBA visual), you can work around this by doing: +|[ +gtk_widget_realize (window); +gdk_window_set_back_pixmap (window->window, NULL, FALSE); +gtk_widget_show (window); +]| + + + + + + %TRUE if the application will paint on the widget + + + + + + Determines whether the application intends to draw on the widget in +an #GtkWidget::expose-event handler. +See gtk_widget_set_app_paintable() + + %TRUE if the widget is app paintable + + + + + Widgets are double buffered by default; you can use this function +to turn off the buffering. "Double buffered" simply means that +gdk_window_begin_paint_region() and gdk_window_end_paint() are called +automatically around expose events sent to the +widget. gdk_window_begin_paint() diverts all drawing to a widget's +window to an offscreen buffer, and gdk_window_end_paint() draws the +buffer to the screen. The result is that users see the window +update in one smooth step, and don't see individual graphics +primitives being rendered. +In very simple terms, double buffered widgets don't flicker, +so you would only use this function to turn off double buffering +if you had special needs and really knew what you were doing. +expose events, since even the clearing to the background color or +pixmap will not happen automatically (as it is done in +gdk_window_begin_paint()). + + + + + + %TRUE to double-buffer a widget + + + + + + Determines whether the widget is double buffered. +See gtk_widget_set_double_buffered() + + %TRUE if the widget is double buffered + + + + + Sets whether the entire widget is queued for drawing when its size +allocation changes. By default, this setting is %TRUE and +the entire widget is redrawn on every size change. If your widget +leaves the upper left unchanged when made bigger, turning this +setting off will improve performance. +Note that for %NO_WINDOW widgets setting this flag to %FALSE turns +its position changes; this is to allow containers that don't draw +anything to avoid excess invalidations. If you set this flag on a +%NO_WINDOW widget that <emphasis>does</emphasis> draw on @widget->window, +you are responsible for invalidating both the old and new allocation +of the widget when the widget is moved and responsible for invalidating +regions newly when the widget increases size. + + + + + + if %TRUE, the entire widget will be redrawn when it is allocated to a new size. Otherwise, only the new portion of the widget will be redrawn. + + + + + + This function is useful only when implementing subclasses of +#GtkContainer. +Sets the container as the parent of @widget, and takes care of +some details such as updating the state and style of the child +to reflect its new location. The opposite function is +gtk_widget_unparent(). + + + + + + parent container + + + + + + Returns the parent container of @widget. + + the parent container of @widget, or %NULL + + + + + Sets a non default parent window for @widget. + + + + + + the new parent window. + + + + + + Gets @widget's parent window. + + the parent window of @widget. + + + + + Sets whether @widget should be mapped along with its when its parent +is mapped and @widget has been shown with gtk_widget_show(). +The child visibility can be set for widget before it is added to +a container with gtk_widget_set_parent(), to avoid mapping +children unnecessary before immediately unmapping them. However +it will be reset to its default state of %TRUE when the widget +is removed from a container. +Note that changing the child visibility of a widget does not +queue a resize on the widget. Most of the time, the size of +a widget is computed from all visible children, whether or +not they are mapped. If this is not the case, the container +can queue a resize itself. +This function is only useful for container implementations and +never should be called by an application. + + + + + + if %TRUE, @widget should be mapped along with its parent. + + + + + + Gets the value set with gtk_widget_set_child_visible(). +If you feel a need to use this function, your code probably +needs reorganization. +This function is only useful for container implementations and +never should be called by an application. + + %TRUE if the widget is mapped with the parent. + + + + + Sets a widget's window. This function should only be used in a +widget's GtkWidget::realize() implementation. The %window passed is +usually either new window created with gdk_window_new(), or the +window of its parent widget as returned by +gtk_widget_get_parent_window(). +Widgets must indicate whether they will create their own #GdkWindow +by calling gtk_widget_set_has_window(). This is usually done in the +widget's init() function. + + + + + + a #GdkWindow + + + + + + Returns the widget's window if it is realized, %NULL otherwise + + @widget's window. + + + + + Retrieves the widget's allocation. + + + + + + a pointer to a #GtkAllocation to copy to + + + + + + Sets the widget's allocation. This should not be used +directly, but from within a widget's size_allocate method. + + + + + + a pointer to a #GtkAllocation to copy from + + + + + + Retrieves the widget's requisition. +This function should only be used by widget implementations in +order to figure whether the widget's requisition has actually +changed after some internal state change (so that they can call +gtk_widget_queue_resize() instead of gtk_widget_queue_draw()). +Normally, gtk_widget_size_request() should be used. + + + + + + a pointer to a #GtkRequisition to copy to + + + + + + This function is used by custom widget implementations; if you're +writing an app, you'd use gtk_widget_grab_focus() to move the focus +to a particular widget, and gtk_container_set_focus_chain() to +change the focus tab order. So you may want to investigate those +functions instead. +gtk_widget_child_focus() is called by containers as the user moves +around the window using keyboard shortcuts. @direction indicates +what kind of motion is taking place (up, down, left, right, tab +forward, tab backward). gtk_widget_child_focus() emits the +#GtkWidget::focus signal; widgets override the default handler +for this signal in order to implement appropriate focus behavior. +The default ::focus handler for a widget should return %TRUE if +moving in @direction left the focus on a focusable location inside +that widget, and %FALSE if moving in @direction moved the focus +outside the widget. If returning %TRUE, widgets normally +call gtk_widget_grab_focus() to place the focus accordingly; +if returning %FALSE, they don't modify the current focus location. +This function replaces gtk_container_focus() from GTK+ 1.2. +It was necessary to check that the child was visible, sensitive, +and focusable before calling gtk_container_focus(). +gtk_widget_child_focus() returns %FALSE if the widget is not +currently in a focusable state, so there's no need for those checks. + + %TRUE if focus ended up inside @widget + + + + + direction of focus movement + + + + + + This function should be called whenever keyboard navigation within +a single widget hits a boundary. The function emits the +#GtkWidget::keynav-failed signal on the widget and its return +value should be interpreted in a way similar to the return value of +gtk_widget_child_focus(): +When %TRUE is returned, stay in the widget, the failed keyboard +navigation is Ok and/or there is nowhere we can/should move the +focus to. +When %FALSE is returned, the caller should continue with keyboard +navigation outside the widget, e.g. by calling +gtk_widget_child_focus() on the widget's toplevel. +The default ::keynav-failed handler returns %TRUE for +%GTK_DIR_TAB_FORWARD and %GTK_DIR_TAB_BACKWARD. For the other +values of #GtkDirectionType, it looks at the +#GtkSettings:gtk-keynav-cursor-only setting and returns %FALSE +if the setting is %TRUE. This way the entire user interface +becomes cursor-navigatable on input devices such as mobile phones +which only have cursor keys but no tab key. +Whenever the default handler returns %TRUE, it also calls +gtk_widget_error_bell() to notify the user of the failed keyboard +navigation. +A use case for providing an own implementation of ::keynav-failed +(either by connecting to it or by overriding it) would be a row of +#GtkEntry widgets where the user should be able to navigate the +entire row with the cursor keys, as e.g. known from user interfaces +that require entering license keys. +if the emitting widget should try to handle the keyboard +navigation attempt in its parent container(s). + + %TRUE if stopping keyboard navigation is fine, %FALSE + + + + + direction of focus movement + + + + + + Notifies the user about an input-related error on this widget. +If the #GtkSettings:gtk-error-bell setting is %TRUE, it calls +gdk_window_beep(), otherwise it does nothing. +Note that the effect of gdk_window_beep() can be configured in many +ways, depending on the windowing backend and the desktop environment +or window manager that is used. + + + + + + Sets the minimum size of a widget; that is, the widget's size +request will be @width by @height. You can use this function to +force a widget to be either larger or smaller than it normally +would be. +In most cases, gtk_window_set_default_size() is a better choice for +toplevel windows than this function; setting the default size will +still allow users to shrink the window. Setting the size request +will force them to leave the window at least as large as the size +request. When dealing with window sizes, +gtk_window_set_geometry_hints() can be a useful function as well. +Note the inherent danger of setting any fixed size - themes, +translations into other languages, different fonts, and user action +can all change the appropriate size for a given widget. So, it's +basically impossible to hardcode a size that will always be +correct. +The size request of a widget is the smallest size a widget can +accept while still functioning well and drawing itself correctly. +However in some strange cases a widget may be allocated less than +its requested size, and in many cases a widget may be allocated more +space than it requested. +If the size request in a given direction is -1 (unset), then +the "natural" size request of the widget will be used instead. +Widgets can't actually be allocated a size less than 1 by 1, but +you can pass 0,0 to this function to mean "as small as possible." + + + + + + width @widget should request, or -1 to unset + + + + height @widget should request, or -1 to unset + + + + + + Gets the size request that was explicitly set for the widget using +gtk_widget_set_size_request(). A value of -1 stored in @width or +and the natural requisition of the widget will be used intead. See +gtk_widget_set_size_request(). To get the size a widget will +actually use, call gtk_widget_size_request() instead of +this function. + + + + + + return location for width, or %NULL + + + + return location for height, or %NULL + + + + + + Sets the position of a widget. The funny "u" in the name comes from +the "user position" hint specified by the X Window System, and +exists for legacy reasons. This function doesn't work if a widget +is inside a container; it's only really useful on #GtkWindow. +Don't use this function to center dialogs over the main application +window; most window managers will do the centering on your behalf +if you call gtk_window_set_transient_for(), and it's really not +possible to get the centering to work correctly in all cases from +application code. But if you insist, use gtk_window_set_position() +to set #GTK_WIN_POS_CENTER_ON_PARENT, don't do the centering +manually. +Note that although @x and @y can be individually unset, the position +is not honoured unless both @x and @y are set. + + + + + + x position; -1 to unset x; -2 to leave x unchanged + + + + y position; -1 to unset y; -2 to leave y unchanged + + + + + + Sets the minimum size of a widget; that is, the widget's size +request will be @width by @height. You can use this function to +force a widget to be either larger or smaller than it is. The +strange "usize" name dates from the early days of GTK+, and derives +from X Window System terminology. In many cases, +gtk_window_set_default_size() is a better choice for toplevel +windows than this function; setting the default size will still +allow users to shrink the window. Setting the usize will force them +to leave the window at least as large as the usize. When dealing +with window sizes, gtk_window_set_geometry_hints() can be a useful +function as well. +Note the inherent danger of setting any fixed size - themes, +translations into other languages, different fonts, and user action +can all change the appropriate size for a given widget. So, it's +basically impossible to hardcode a size that will always be +correct. + + + + + + minimum width, or -1 to unset + + + + minimum height, or -1 to unset + + + + + + Sets the event mask (see #GdkEventMask) for a widget. The event +mask determines which events a widget will receive. Keep in mind +that different widgets have different default event masks, and by +changing the event mask you may disrupt a widget's functionality, +so be careful. This function must be called while a widget is +unrealized. Consider gtk_widget_add_events() for widgets that are +already realized, or if you want to preserve the existing event +mask. This function can't be used with #GTK_NO_WINDOW widgets; +to get events on those widgets, place them inside a #GtkEventBox +and receive events on the event box. + + + + + + event mask + + + + + + Adds the events in the bitfield @events to the event mask for + + + + + + an event mask, see #GdkEventMask + + + + + + Sets the extension events mask to @mode. See #GdkExtensionMode +and gdk_input_set_extension_events(). + + + + + + bitfield of extension events to receive + + + + + + Retrieves the extension events the widget will receive; see +gdk_input_set_extension_events(). + + extension events for @widget + + + + + This function returns the topmost widget in the container hierarchy +returned as the topmost widget. No reference will be added to the +returned widget; it should not be unreferenced. +Note the difference in behavior vs. gtk_widget_get_ancestor(); +<literal>gtk_widget_get_ancestor (widget, GTK_TYPE_WINDOW)</literal> +would return +%NULL if @widget wasn't inside a toplevel window, and if the +window was inside a #GtkWindow-derived widget which was in turn +inside the toplevel #GtkWindow. While the second case may +seem unlikely, it actually happens when a #GtkPlug is embedded +inside a #GtkSocket within the same application. +To reliably find the toplevel #GtkWindow, use +gtk_widget_get_toplevel() and check if the %TOPLEVEL flags +is set on the result. +|[ +GtkWidget *toplevel = gtk_widget_get_toplevel (widget); +if (gtk_widget_is_toplevel (toplevel)) +{ +/&ast; Perform action on toplevel. &ast;/ +} +]| +if there's no ancestor. + + the topmost ancestor of @widget, or @widget itself + + + + + Gets the first ancestor of @widget with type @widget_type. For example, +<literal>gtk_widget_get_ancestor (widget, GTK_TYPE_BOX)</literal> gets +the first #GtkBox that's an ancestor of @widget. No reference will be +added to the returned widget; it should not be unreferenced. See note +about checking for a toplevel #GtkWindow in the docs for +gtk_widget_get_toplevel(). +Note that unlike gtk_widget_is_ancestor(), gtk_widget_get_ancestor() +considers @widget to be an ancestor of itself. + + the ancestor widget, or %NULL if not found + + + + + ancestor type + + + + + + Gets the colormap that will be used to render @widget. No reference will +be added to the returned colormap; it should not be unreferenced. + + the colormap used by @widget + + + + + Gets the visual that will be used to render @widget. + + the visual for @widget + + + + + Get the #GdkScreen from the toplevel window associated with +this widget. This function can only be called after the widget +has been added to a widget hierarchy with a #GtkWindow +at the top. +In general, you should only create screen specific +resources when a widget has been realized, and you should +free those resources when the widget is unrealized. + + the #GdkScreen for the toplevel for this widget. + + + + + Checks whether there is a #GdkScreen is associated with +this widget. All toplevel widgets have an associated +screen, and all widgets added into a hierarchy with a toplevel +window at the top. +with the widget. + + %TRUE if there is a #GdkScreen associcated + + + + + Get the #GdkDisplay for the toplevel window associated with +this widget. This function can only be called after the widget +has been added to a widget hierarchy with a #GtkWindow at the top. +In general, you should only create display specific +resources when a widget has been realized, and you should +free those resources when the widget is unrealized. + + the #GdkDisplay for the toplevel for this widget. + + + + + Get the root window where this widget is located. This function can +only be called after the widget has been added to a widget +hierarchy with #GtkWindow at the top. +The root window is useful for such purposes as creating a popup +#GdkWindow associated with the window. In general, you should only +create display specific resources when a widget has been realized, +and you should free those resources when the widget is unrealized. + + the #GdkWindow root window for the toplevel for this widget. + + + + + Gets the settings object holding the settings (global property +settings, RC file information, etc) used for this widget. +Note that this function can only be called when the #GtkWidget +is attached to a toplevel, since the settings object is specific +to a particular #GdkScreen. + + the relevant #GtkSettings object + + + + + Returns the clipboard object for the given selection to +be used with @widget. @widget must have a #GdkDisplay +associated with it, so must be attached to a toplevel +window. +clipboard already exists, a new one will +be created. Once a clipboard object has +been created, it is persistent for all time. + + the appropriate clipboard object. If no + + + + + a #GdkAtom which identifies the clipboard to use. %GDK_SELECTION_CLIPBOARD gives the default clipboard. Another common value is %GDK_SELECTION_PRIMARY, which gives the primary X selection. + + + + + + Create a #GdkPixmap of the contents of the widget and its children. +Works even if the widget is obscured. The depth and visual of the +resulting pixmap is dependent on the widget being snapshot and likely +differs from those of a target widget displaying the pixmap. +The function gdk_pixbuf_get_from_drawable() can be used to convert +the pixmap to a visual independant representation. +The snapshot area used by this function is the @widget's allocation plus +any extra space occupied by additional windows belonging to this widget +(such as the arrows of a spin button). +Thus, the resulting snapshot pixmap is possibly larger than the allocation. +If @clip_rect is non-%NULL, the resulting pixmap is shrunken to +match the specified clip_rect. The (x,y) coordinates of @clip_rect are +interpreted widget relative. If width or height of @clip_rect are 0 or +negative, the width or height of the resulting pixmap will be shrunken +by the respective amount. +For instance a @clip_rect <literal>{ +5, +5, -10, -10 }</literal> will +chop off 5 pixels at each side of the snapshot pixmap. +If non-%NULL, @clip_rect will contain the exact widget-relative snapshot +coordinates upon return. A @clip_rect of <literal>{ -1, -1, 0, 0 }</literal> +can be used to preserve the auto-grown snapshot area and use @clip_rect +as a pure output parameter. +The returned pixmap can be %NULL, if the resulting @clip_area was empty. + + #GdkPixmap snapshot of the widget + + + + + a #GdkRectangle or %NULL + + + + + + Returns the accessible object that describes the widget to an +assistive technology. +If no accessibility library is loaded (i.e. no ATK implementation library is +loaded via <envar>GTK_MODULES</envar> or via another application library, +such as libgnome), then this #AtkObject instance may be a no-op. Likewise, +if no class-specific #AtkObject implementation is available for the widget +instance in question, it will inherit an #AtkObject implementation from the +first ancestor class for which such an implementation is defined. +The documentation of the <ulink url="http://developer.gnome.org/doc/API/2.0/atk/index.html">ATK</ulink> +library contains more information about accessible objects and their uses. + + the #AtkObject associated with @widget + + + + + Sets the colormap for the widget to the given value. Widget must not +have been previously realized. This probably should only be used +from an <function>init()</function> function (i.e. from the constructor +for the widget). + + + + + + a colormap + + + + + + Returns the event mask for the widget (a bitfield containing flags +from the #GdkEventMask enumeration). These are the events that the widget +will receive. + + event mask for @widget + + + + + Obtains the location of the mouse pointer in widget coordinates. +Widget coordinates are a bit odd; for historical reasons, they are +defined as @widget->window coordinates for widgets that are not +#GTK_NO_WINDOW widgets, and are relative to @widget->allocation.x, + + + + + + return location for the X coordinate, or %NULL + + + + return location for the Y coordinate, or %NULL + + + + + + Determines whether @widget is somewhere inside @ancestor, possibly with +intermediate containers. +grandchild, great grandchild, etc. + + %TRUE if @ancestor contains @widget as a child, + + + + + another #GtkWidget + + + + + + Translate coordinates relative to @src_widget's allocation to coordinates +relative to @dest_widget's allocations. In order to perform this +operation, both widgets must be realized, and must share a common +toplevel. +was no common ancestor. In this case, nothing is stored in +*@dest_x and *@dest_y. Otherwise %TRUE. + + %FALSE if either widget was not realized, or there + + + + + a #GtkWidget + + + + X position relative to @src_widget + + + + Y position relative to @src_widget + + + + location to store X position relative to @dest_widget + + + + location to store Y position relative to @dest_widget + + + + + + Utility function; intended to be connected to the #GtkWidget::delete-event +signal on a #GtkWindow. The function calls gtk_widget_hide() on its +argument, then returns %TRUE. If connected to ::delete-event, the +result is that clicking the close button for a window (on the +window frame, top right corner usually) will hide but not destroy +the window. By default, GTK+ destroys windows when ::delete-event +is received. + + %TRUE + + + + + This function attaches the widget's #GtkStyle to the widget's +#GdkWindow. It is a replacement for +<programlisting> +widget->style = gtk_style_attach (widget->style, widget->window); +</programlisting> +and should only ever be called in a derived widget's "realize" +implementation which does not chain up to its parent class' +"realize" implementation, because one of the parent classes +(finally #GtkWidget) would attach the style itself. + + + + + + Determines if the widget style has been looked up through the rc mechanism. +mechanism, %FALSE otherwise. + + %TRUE if the widget has been looked up through the rc + + + + + Sets the #GtkStyle for a widget (@widget->style). You probably don't +want to use this function; it interacts badly with themes, because +themes work by replacing the #GtkStyle. Instead, use +gtk_widget_modify_style(). + + + + + + a #GtkStyle, or %NULL to remove the effect of a previous gtk_widget_set_style() and go back to the default style + + + + + + Ensures that @widget has a style (@widget->style). Not a very useful +function; most of the time, if you want the style, the widget is +realized, and realized widgets are guaranteed to have a style +already. + + + + + + Simply an accessor function that returns @widget->style. + + the widget's #GtkStyle + + + + + Modifies style values on the widget. Modifications made using this +technique take precedence over style values set via an RC file, +however, they will be overriden if a style is explicitely set on +the widget using gtk_widget_set_style(). The #GtkRcStyle structure +is designed so each field can either be set or unset, so it is +possible, using this function, to modify some style values and +leave the others unchanged. +Note that modifications made with this function are not cumulative +with previous calls to gtk_widget_modify_style() or with such +functions as gtk_widget_modify_fg(). If you wish to retain +previous values, you must first call gtk_widget_get_modifier_style(), +make your modifications to the returned style, then call +gtk_widget_modify_style() with that style. On the other hand, +if you first call gtk_widget_modify_style(), subsequent calls +to such functions gtk_widget_modify_fg() will have a cumulative +effect with the initial modifications. + + + + + + the #GtkRcStyle holding the style modifications + + + + + + Returns the current modifier style for the widget. (As set by +gtk_widget_modify_style().) If no style has previously set, a new +#GtkRcStyle will be created with all values unset, and set as the +modifier style for the widget. If you make changes to this rc +style, you must call gtk_widget_modify_style(), passing in the +returned rc style, to make sure that your changes take effect. +normally end up destroying it, because gtk_widget_modify_style() copies +the passed-in style and sets the copy as the new modifier style, +thus dropping any reference to the old modifier style. Add a reference +to the modifier style if you want to keep it alive. +owned by the widget. If you want to keep a pointer to value this +around, you must add a refcount using g_object_ref(). + + the modifier style for the widget. This rc style is + + + + + Sets the foreground color for a widget in a particular state. +All other style values are left untouched. See also +gtk_widget_modify_style(). + + + + + + the state for which to set the foreground color + + + + the color to assign (does not need to be allocated), or %NULL to undo the effect of previous calls to of gtk_widget_modify_fg(). + + + + + + Sets the background color for a widget in a particular state. +All other style values are left untouched. See also +gtk_widget_modify_style(). +Note that "no window" widgets (which have the %GTK_NO_WINDOW flag set) +draw on their parent container's window and thus may not draw any +background themselves. This is the case for e.g. #GtkLabel. To modify +the background of such widgets, you have to set the background color +on their parent; if you want to set the background of a rectangular +area around a label, try placing the label in a #GtkEventBox widget +and setting the background color on that. + + + + + + the state for which to set the background color + + + + the color to assign (does not need to be allocated), or %NULL to undo the effect of previous calls to of gtk_widget_modify_bg(). + + + + + + Sets the text color for a widget in a particular state. All other +style values are left untouched. The text color is the foreground +color used along with the base color (see gtk_widget_modify_base()) +for widgets such as #GtkEntry and #GtkTextView. See also +gtk_widget_modify_style(). + + + + + + the state for which to set the text color + + + + the color to assign (does not need to be allocated), or %NULL to undo the effect of previous calls to of gtk_widget_modify_text(). + + + + + + Sets the base color for a widget in a particular state. +All other style values are left untouched. The base color +is the background color used along with the text color +(see gtk_widget_modify_text()) for widgets such as #GtkEntry +and #GtkTextView. See also gtk_widget_modify_style(). +Note that "no window" widgets (which have the %GTK_NO_WINDOW flag set) +draw on their parent container's window and thus may not draw any +background themselves. This is the case for e.g. #GtkLabel. To modify +the background of such widgets, you have to set the base color on their +parent; if you want to set the background of a rectangular area around +a label, try placing the label in a #GtkEventBox widget and setting +the base color on that. + + + + + + the state for which to set the base color + + + + the color to assign (does not need to be allocated), or %NULL to undo the effect of previous calls to of gtk_widget_modify_base(). + + + + + + Sets the cursor color to use in a widget, overriding the +#GtkWidget:cursor-color and #GtkWidget:secondary-cursor-color +style properties. All other style values are left untouched. +See also gtk_widget_modify_style(). + + + + + + the color to use for primary cursor (does not need to be allocated), or %NULL to undo the effect of previous calls to of gtk_widget_modify_cursor(). + + + + the color to use for secondary cursor (does not need to be allocated), or %NULL to undo the effect of previous calls to of gtk_widget_modify_cursor(). + + + + + + Sets the font to use for a widget. All other style values are left +untouched. See also gtk_widget_modify_style(). + + + + + + the font description to use, or %NULL to undo the effect of previous calls to gtk_widget_modify_font(). + + + + + + Creates a new #PangoContext with the appropriate font map, +font description, and base direction for drawing text for +this widget. See also gtk_widget_get_pango_context(). + + the new #PangoContext + + + + + Gets a #PangoContext with the appropriate font map, font description, +and base direction for this widget. Unlike the context returned +by gtk_widget_create_pango_context(), this context is owned by +the widget (it can be used until the screen for the widget changes +or the widget is removed from its toplevel), and will be updated to +match any changes to the widget's attributes. +If you create and keep a #PangoLayout using this context, you must +deal with changes to the context by calling pango_layout_context_changed() +on the layout in response to the #GtkWidget::style-set and +#GtkWidget::direction-changed signals for the widget. + + the #PangoContext for the widget. + + + + + Creates a new #PangoLayout with the appropriate font map, +font description, and base direction for drawing text for +this widget. +If you keep a #PangoLayout created in this way around, in order to +notify the layout of changes to the base direction or font of this +widget, you must call pango_layout_context_changed() in response to +the #GtkWidget::style-set and #GtkWidget::direction-changed signals +for the widget. + + the new #PangoLayout + + + + + text to set on the layout (can be %NULL) + + + + + + A convenience function that uses the theme engine and RC file +settings for @widget to look up @stock_id and render it to +a pixbuf. @stock_id should be a stock icon ID such as +#GTK_STOCK_OPEN or #GTK_STOCK_OK. @size should be a size +such as #GTK_ICON_SIZE_MENU. @detail should be a string that +identifies the widget or code doing the rendering, so that +theme engines can special-case rendering for that widget or code. +The pixels in the returned #GdkPixbuf are shared with the rest of +the application and should not be modified. The pixbuf should be freed +after use with g_object_unref(). + + a new pixbuf, or %NULL if the stock ID wasn't known + + + + + a stock ID + + + + (type int) a stock size. A size of (GtkIconSize)-1 means render at the size of the source and don't scale (if there are multiple source sizes, GTK+ picks one of the available sizes). + + + + render detail to pass to theme engine + + + + + + Sets a widgets composite name. The widget must be +a composite child of its parent; see gtk_widget_push_composite_child(). + + + + + + the name to set + + + + + + Obtains the composite name of a widget. +a composite child. The string should be freed when it is no +longer needed. + + the composite name of @widget, or %NULL if @widget is not + + + + + Reset the styles of @widget and all descendents, so when +they are looked up again, they get the correct values +for the currently loaded RC file settings. +This function is not useful for applications. + + + + + + Gets the value of a style property of @widget. + + + + + + the name of a style property + + + + location to return the property value + + + + + + Gets the values of a multiple style properties of @widget. + + + + + + the name of the first property to get + + + + + + + + + + Sets the reading direction on a particular widget. This direction +controls the primary direction for widgets containing text, +and also the direction in which the children of a container are +packed. The ability to set the direction is present in order +so that correct localization into languages with right-to-left +reading directions can be done. Generally, applications will +let the default reading direction present, except for containers +where the containers are arranged in an order that is explicitely +visual rather than logical (such as buttons for text justification). +If the direction is set to %GTK_TEXT_DIR_NONE, then the value +set by gtk_widget_set_default_direction() will be used. + + + + + + the new direction + + + + + + Gets the reading direction for a particular widget. See +gtk_widget_set_direction(). + + the reading direction for the widget. + + + + + Whether @widget can rely on having its alpha channel +drawn correctly. On X11 this function returns whether a +compositing manager is running for @widget's screen. +Please note that the semantics of this call will change +in the future if used on a widget that has a composited +window in its hierarchy (as set by gdk_window_set_composited()). +channel being drawn correctly. + + %TRUE if the widget can rely on its alpha + + + + + Sets a shape for this widget's GDK window. This allows for +transparent windows etc., see gdk_window_shape_combine_mask() +for more information. + + + + + + shape to be added, or %NULL to remove an existing shape + + + + X position of shape mask with respect to @window + + + + Y position of shape mask with respect to @window + + + + + + Sets an input shape for this widget's GDK window. This allows for +windows which react to mouse click in a nonrectangular region, see +gdk_window_input_shape_combine_mask() for more information. + + + + + + shape to be added, or %NULL to remove an existing shape + + + + X position of shape mask with respect to @window + + + + Y position of shape mask with respect to @window + + + + + + Recursively resets the shape on this widget and its descendants. + + + + + + Obtains the full path to @widget. The path is simply the name of a +widget and all its parents in the container hierarchy, separated by +periods. The name of a widget comes from +gtk_widget_get_name(). Paths are used to apply styles to a widget +in gtkrc configuration files. Widget names are the type of the +widget by default (e.g. "GtkButton") or can be set to an +application-specific value with gtk_widget_set_name(). By setting +the name of a widget, you allow users or theme authors to apply +styles to that specific widget in their gtkrc +file. @path_reversed_p fills in the path in reverse order, +i.e. starting with @widget's name instead of starting with the name +of @widget's outermost ancestor. + + + + + + location to store length of the path, or %NULL + + + + location to store allocated path string, or %NULL + + + + location to store allocated reverse path string, or %NULL + + + + + + Same as gtk_widget_path(), but always uses the name of a widget's type, +never uses a custom name set with gtk_widget_set_name(). + + + + + + location to store the length of the class path, or %NULL + + + + (out) (allow-none) location to store the class path as an allocated string, or %NULL + + + + + + (out) (allow-none) location to store the reverse class path as an allocated string, or %NULL + + + + + + + + Returns a newly allocated list of the widgets, normally labels, for +which this widget is a the target of a mnemonic (see for example, +gtk_label_set_mnemonic_widget()). +The widgets in the list are not individually referenced. If you +want to iterate through the list and perform actions involving +callbacks that might destroy the widgets, you +<emphasis>must</emphasis> call <literal>g_list_foreach (result, +(GFunc)g_object_ref, NULL)</literal> first, and then unref all the +widgets afterwards. +mnemonic labels; free this list +with g_list_free() when you are done with it. + + the list of + + + + + + + Adds a widget to the list of mnemonic labels for +this widget. (See gtk_widget_list_mnemonic_labels()). Note the +list of mnemonic labels for the widget is cleared when the +widget is destroyed, so the caller must make sure to update +its internal state at this point as well, by using a connection +to the #GtkWidget::destroy signal or a weak notifier. + + + + + + a #GtkWidget that acts as a mnemonic label for @widget + + + + + + Removes a widget from the list of mnemonic labels for +this widget. (See gtk_widget_list_mnemonic_labels()). The widget +must have previously been added to the list with +gtk_widget_add_mnemonic_label(). + + + + + + a #GtkWidget that was previously set as a mnemnic label for + + + + + + Replaces the default, usually yellow, window used for displaying +tooltips with @custom_window. GTK+ will take care of showing and +hiding @custom_window at the right moment, to behave likewise as +the default tooltip window. If @custom_window is %NULL, the default +tooltip window will be used. +If the custom window should have the default theming it needs to +have the name "gtk-tooltip", see gtk_widget_set_name(). + + + + + + a #GtkWindow, or %NULL + + + + + + Returns the #GtkWindow of the current tooltip. This can be the +GtkWindow created by default, or the custom tooltip window set +using gtk_widget_set_tooltip_window(). + + The #GtkWindow of the current tooltip. + + + + + Triggers a tooltip query on the display where the toplevel of @widget +is located. See gtk_tooltip_trigger_tooltip_query() for more +information. + + + + + + Sets @text as the contents of the tooltip. This function will take +care of setting GtkWidget:has-tooltip to %TRUE and of the default +handler for the GtkWidget::query-tooltip signal. +See also the GtkWidget:tooltip-text property and gtk_tooltip_set_text(). + + + + + + the contents of the tooltip for @widget + + + + + + Gets the contents of the tooltip for @widget. +returned string with g_free() when done. + + the tooltip text, or %NULL. You should free the + + + + + Sets @markup as the contents of the tooltip, which is marked up with +the <link linkend="PangoMarkupFormat">Pango text markup language</link>. +This function will take care of setting GtkWidget:has-tooltip to %TRUE +and of the default handler for the GtkWidget::query-tooltip signal. +See also the GtkWidget:tooltip-markup property and +gtk_tooltip_set_markup(). + + + + + + the contents of the tooltip for @widget, or %NULL + + + + + + Gets the contents of the tooltip for @widget. +returned string with g_free() when done. + + the tooltip text, or %NULL. You should free the + + + + + Sets the has-tooltip property on @widget to @has_tooltip. See +GtkWidget:has-tooltip for more information. + + + + + + whether or not @widget has a tooltip. + + + + + + Returns the current value of the has-tooltip property. See +GtkWidget:has-tooltip for more information. + + current value of has-tooltip on @widget. + + + + + Returns the #GtkAction that @widget is a proxy for. +See also gtk_action_get_proxies(). +%NULL, if it is not attached to an action. + + the action that a widget is a proxy for, or + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Enables or disables the emission of #GtkWidget::query-tooltip on @widget. +A value of %TRUE indicates that @widget can have a tooltip, in this case +the widget will be queried using #GtkWidget::query-tooltip to determine +whether it will provide a tooltip or not. +Note that setting this property to %TRUE for the first time will change +the event masks of the GdkWindows of this widget to include leave-notify +and motion-notify events. This cannot and will not be undone when the +property is set to %FALSE again. + + + + + + + + + + + + + + + + + + + + + + + + + + + + Sets the text of tooltip to be the given string, which is marked up +with the <link linkend="PangoMarkupFormat">Pango text markup language</link>. +Also see gtk_tooltip_set_markup(). +This is a convenience property which will take care of getting the +will automatically be set to %TRUE and there will be taken care of +#GtkWidget::query-tooltip in the default signal handler. + + + + Sets the text of tooltip to be the given string. +Also see gtk_tooltip_set_text(). +This is a convenience property which will take care of getting the +will automatically be set to %TRUE and there will be taken care of +#GtkWidget::query-tooltip in the default signal handler. + + + + + + + + + + The widget's window if it is realized, %NULL otherwise. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The ::button-press-event signal will be emitted when a button +(typically from a mouse) is pressed. +To receive this signal, the #GdkWindow associated to the +widget needs to enable the #GDK_BUTTON_PRESS_MASK mask. +This signal will be sent to the grab widget if there is one. +%FALSE to propagate the event further. + + %TRUE to stop other handlers from being invoked for the event. + + + + + the #GdkEventButton which triggered this signal + + + + + + The ::button-release-event signal will be emitted when a button +(typically from a mouse) is released. +To receive this signal, the #GdkWindow associated to the +widget needs to enable the #GDK_BUTTON_RELEASE_MASK mask. +This signal will be sent to the grab widget if there is one. +%FALSE to propagate the event further. + + %TRUE to stop other handlers from being invoked for the event. + + + + + the #GdkEventButton which triggered this signal + + + + + + Determines whether an accelerator that activates the signal +identified by @signal_id can currently be activated. +This signal is present to allow applications and derived +widgets to override the default #GtkWidget handling +for determining whether an accelerator can be activated. + + %TRUE if the signal can be activated. + + + + + the ID of a signal installed on @widget + + + + + + The ::child-notify signal is emitted for each +<link linkend="child-properties">child property</link> that has +changed on an object. The signal's detail holds the property name. + + + + + + the #GParamSpec of the changed child property + + + + + + The ::client-event will be emitted when the @widget's window +receives a message (via a ClientMessage event) from another +application. +the event. %FALSE to propagate the event further. + + %TRUE to stop other handlers from being invoked for + + + + + the #GdkEventClient which triggered this signal + + + + + + The ::composited-changed signal is emitted when the composited +status of @widget<!-- -->s screen changes. +See gdk_screen_is_composited(). + + + + + + + + + + + + + + + + Emitted when a redirected window belonging to @widget gets drawn into. +The region/area members of the event shows what area of the redirected +drawable was drawn into. +%FALSE to propagate the event further. + + %TRUE to stop other handlers from being invoked for the event. + + + + + the #GdkEventExpose event + + + + + + The ::delete-event signal is emitted if a user requests that +a toplevel window is closed. The default handler for this signal +destroys the window. Connecting gtk_widget_hide_on_delete() to +this signal will cause the window to be hidden instead, so that +it can later be shown again without reconstructing it. +%FALSE to propagate the event further. + + %TRUE to stop other handlers from being invoked for the event. + + + + + the event which triggered this signal + + + + + + The ::destroy-event signal is emitted when a #GdkWindow is destroyed. +You rarely get this signal, because most widgets disconnect themselves +from their window before they destroy it, so no widget owns the +window at destroy time. +To receive this signal, the #GdkWindow associated to the widget needs +to enable the #GDK_STRUCTURE_MASK mask. GDK will enable this mask +automatically for all new windows. +%FALSE to propagate the event further. + + %TRUE to stop other handlers from being invoked for the event. + + + + + the event which triggered this signal + + + + + + The ::direction-changed signal is emitted when the text direction +of a widget changes. + + + + + + the previous text direction of @widget + + + + + + The ::drag-begin signal is emitted on the drag source when a drag is +started. A typical reason to connect to this signal is to set up a +custom drag icon with gtk_drag_source_set_icon(). +Note that some widgets set up a drag icon in the default handler of +this signal, so you may have to use g_signal_connect_after() to +override what the default handler did. + + + + + + the drag context + + + + + + The ::drag-data-delete signal is emitted on the drag source when a drag +with the action %GDK_ACTION_MOVE is successfully completed. The signal +handler is responsible for deleting the data that has been dropped. What +"delete" means depends on the context of the drag operation. + + + + + + the drag context + + + + + + The ::drag-data-get signal is emitted on the drag source when the drop +site requests the data which is dragged. It is the responsibility of +the signal handler to fill @data with the data in the format which +is indicated by @info. See gtk_selection_data_set() and +gtk_selection_data_set_text(). + + + + + + the drag context + + + + the #GtkSelectionData to be filled with the dragged data + + + + the info that has been registered with the target in the #GtkTargetList + + + + the timestamp at which the data was requested + + + + + + The ::drag-data-received signal is emitted on the drop site when the +dragged data has been received. If the data was received in order to +determine whether the drop will be accepted, the handler is expected +to call gdk_drag_status() and <emphasis>not</emphasis> finish the drag. +If the data was received in response to a #GtkWidget::drag-drop signal +(and this is the last target to be received), the handler for this +signal is expected to process the received data and then call +gtk_drag_finish(), setting the @success parameter depending on whether +the data was processed successfully. +The handler may inspect and modify @drag_context->action before calling +gtk_drag_finish(), e.g. to implement %GDK_ACTION_ASK as shown in the +following example: +|[ +void +drag_data_received (GtkWidget *widget, +GdkDragContext *drag_context, +gint x, +gint y, +GtkSelectionData *data, +guint info, +guint time) +{ +if ((data->length >= 0) && (data->format == 8)) +{ +if (drag_context->action == GDK_ACTION_ASK) +{ +GtkWidget *dialog; +gint response; +dialog = gtk_message_dialog_new (NULL, +GTK_DIALOG_MODAL | +GTK_DIALOG_DESTROY_WITH_PARENT, +GTK_MESSAGE_INFO, +GTK_BUTTONS_YES_NO, +"Move the data ?\n"); +response = gtk_dialog_run (GTK_DIALOG (dialog)); +gtk_widget_destroy (dialog); +if (response == GTK_RESPONSE_YES) +drag_context->action = GDK_ACTION_MOVE; +else +drag_context->action = GDK_ACTION_COPY; +} +gtk_drag_finish (drag_context, TRUE, FALSE, time); +return; +} +gtk_drag_finish (drag_context, FALSE, FALSE, time); +} +]| + + + + + + the drag context + + + + where the drop happened + + + + where the drop happened + + + + the received data + + + + the info that has been registered with the target in the #GtkTargetList + + + + the timestamp at which the data was received + + + + + + The ::drag-drop signal is emitted on the drop site when the user drops +the data onto the widget. The signal handler must determine whether +the cursor position is in a drop zone or not. If it is not in a drop +zone, it returns %FALSE and no further processing is necessary. +Otherwise, the handler returns %TRUE. In this case, the handler must +ensure that gtk_drag_finish() is called to let the source know that +the drop is done. The call to gtk_drag_finish() can be done either +directly or in a #GtkWidget::drag-data-received handler which gets +triggered by calling gtk_drag_get_data() to receive the data for one +or more of the supported targets. + + whether the cursor position is in a drop zone + + + + + the drag context + + + + the x coordinate of the current cursor position + + + + the y coordinate of the current cursor position + + + + the timestamp of the motion event + + + + + + The ::drag-end signal is emitted on the drag source when a drag is +finished. A typical reason to connect to this signal is to undo +things done in #GtkWidget::drag-begin. + + + + + + the drag context + + + + + + The ::drag-failed signal is emitted on the drag source when a drag has +failed. The signal handler may hook custom code to handle a failed DND +operation based on the type of error, it returns %TRUE is the failure has +been already handled (not showing the default "drag operation failed" +animation), otherwise it returns %FALSE. + + %TRUE if the failed drag operation has been already handled. + + + + + the drag context + + + + the result of the drag operation + + + + + + The ::drag-leave signal is emitted on the drop site when the cursor +leaves the widget. A typical reason to connect to this signal is to +undo things done in #GtkWidget::drag-motion, e.g. undo highlighting +with gtk_drag_unhighlight() + + + + + + the drag context + + + + the timestamp of the motion event + + + + + + The drag-motion signal is emitted on the drop site when the user +moves the cursor over the widget during a drag. The signal handler +must determine whether the cursor position is in a drop zone or not. +If it is not in a drop zone, it returns %FALSE and no further processing +is necessary. Otherwise, the handler returns %TRUE. In this case, the +handler is responsible for providing the necessary information for +displaying feedback to the user, by calling gdk_drag_status(). +If the decision whether the drop will be accepted or rejected can't be +made based solely on the cursor position and the type of the data, the +handler may inspect the dragged data by calling gtk_drag_get_data() and +defer the gdk_drag_status() call to the #GtkWidget::drag-data-received +handler. Note that you cannot not pass #GTK_DEST_DEFAULT_DROP, +#GTK_DEST_DEFAULT_MOTION or #GTK_DEST_DEFAULT_ALL to gtk_drag_dest_set() +when using the drag-motion signal that way. +Also note that there is no drag-enter signal. The drag receiver has to +keep track of whether he has received any drag-motion signals since the +last #GtkWidget::drag-leave and if not, treat the drag-motion signal as +an "enter" signal. Upon an "enter", the handler will typically highlight +the drop site with gtk_drag_highlight(). +|[ +static void +drag_motion (GtkWidget *widget, +GdkDragContext *context, +gint x, +gint y, +guint time) +{ +GdkAtom target; +PrivateData *private_data = GET_PRIVATE_DATA (widget); +if (!private_data->drag_highlight) +{ +private_data->drag_highlight = 1; +gtk_drag_highlight (widget); +} +target = gtk_drag_dest_find_target (widget, context, NULL); +if (target == GDK_NONE) +gdk_drag_status (context, 0, time); +else +{ +private_data->pending_status = context->suggested_action; +gtk_drag_get_data (widget, context, target, time); +} +return TRUE; +} +static void +drag_data_received (GtkWidget *widget, +GdkDragContext *context, +gint x, +gint y, +GtkSelectionData *selection_data, +guint info, +guint time) +{ +PrivateData *private_data = GET_PRIVATE_DATA (widget); +if (private_data->suggested_action) +{ +private_data->suggested_action = 0; +/&ast; We are getting this data due to a request in drag_motion, +* rather than due to a request in drag_drop, so we are just +* supposed to call gdk_drag_status (), not actually paste in +* the data. +&ast;/ +str = gtk_selection_data_get_text (selection_data); +if (!data_is_acceptable (str)) +gdk_drag_status (context, 0, time); +else +gdk_drag_status (context, private_data->suggested_action, time); +} +else +{ +/&ast; accept the drop &ast;/ +} +} +]| + + whether the cursor position is in a drop zone + + + + + the drag context + + + + the x coordinate of the current cursor position + + + + the y coordinate of the current cursor position + + + + the timestamp of the motion event + + + + + + The ::enter-notify-event will be emitted when the pointer enters +the @widget's window. +To receive this signal, the #GdkWindow associated to the widget needs +to enable the #GDK_ENTER_NOTIFY_MASK mask. +This signal will be sent to the grab widget if there is one. +%FALSE to propagate the event further. + + %TRUE to stop other handlers from being invoked for the event. + + + + + the #GdkEventCrossing which triggered this signal + + + + + + The GTK+ main loop will emit three signals for each GDK event delivered +signal that matches the type of event delivered (e.g. +#GtkWidget::key-press-event) and finally a generic +#GtkWidget::event-after signal. +and to cancel the emission of the second specific ::event signal. +%FALSE to propagate the event further and to allow the emission of +the second signal. The ::event-after signal is emitted regardless of +the return value. + + %TRUE to stop other handlers from being invoked for the event + + + + + the #GdkEvent which triggered this signal + + + + + + After the emission of the #GtkWidget::event signal and (optionally) +the second more specific signal, ::event-after will be emitted +regardless of the previous two signals handlers return values. + + + + + + the #GdkEvent which triggered this signal + + + + + + The ::expose-event signal is emitted when an area of a previously +obscured #GdkWindow is made visible and needs to be redrawn. +#GTK_NO_WINDOW widgets will get a synthesized event from their parent +widget. +To receive this signal, the #GdkWindow associated to the widget needs +to enable the #GDK_EXPOSURE_MASK mask. +%FALSE to propagate the event further. + + %TRUE to stop other handlers from being invoked for the event. + + + + + the #GdkEventExpose which triggered this signal + + + + + + + %TRUE to stop other handlers from being invoked for the event. %FALSE to propagate the event further. + + + + + %TRUE to stop other handlers from being invoked for the event. %FALSE to propagate the event further. + + + + + + + + + + + + + + + + + + + + + + + + + + Emitted when a pointer or keyboard grab on a window belonging +to @widget gets broken. +On X11, this happens when the grab window becomes unviewable +(i.e. it or one of its ancestors is unmapped), or if the same +application grabs the pointer or keyboard again. +the event. %FALSE to propagate the event further. + + %TRUE to stop other handlers from being invoked for + + + + + the #GdkEventGrabBroken event + + + + + + + + + + + The ::grab-notify signal is emitted when a widget becomes +shadowed by a GTK+ grab (not a pointer or keyboard grab) on +another widget, or when it becomes unshadowed due to a grab +being removed. +A widget is shadowed by a gtk_grab_add() when the topmost +grab widget in the grab stack of its window group is not +its ancestor. + + + + + + %FALSE if the widget becomes shadowed, %TRUE if it becomes unshadowed + + + + + + + + + + + The ::hierarchy-changed signal is emitted when the +anchored state of a widget changes. A widget is +<firstterm>anchored</firstterm> when its toplevel +ancestor is a #GtkWindow. This signal is emitted when +a widget changes from un-anchored to anchored or vice-versa. + + + + + + the previous toplevel ancestor, or %NULL if the widget was previously unanchored + + + + + + The ::key-press-event signal is emitted when a key is pressed. +To receive this signal, the #GdkWindow associated to the widget needs +to enable the #GDK_KEY_PRESS_MASK mask. +This signal will be sent to the grab widget if there is one. +%FALSE to propagate the event further. + + %TRUE to stop other handlers from being invoked for the event. + + + + + the #GdkEventKey which triggered this signal + + + + + + The ::key-release-event signal is emitted when a key is pressed. +To receive this signal, the #GdkWindow associated to the widget needs +to enable the #GDK_KEY_RELEASE_MASK mask. +This signal will be sent to the grab widget if there is one. +%FALSE to propagate the event further. + + %TRUE to stop other handlers from being invoked for the event. + + + + + the #GdkEventKey which triggered this signal + + + + + + Gets emitted if keyboard navigation fails. +See gtk_widget_keynav_failed() for details. +if the emitting widget should try to handle the keyboard +navigation attempt in its parent container(s). + + %TRUE if stopping keyboard navigation is fine, %FALSE + + + + + the direction of movement + + + + + + The ::leave-notify-event will be emitted when the pointer leaves +the @widget's window. +To receive this signal, the #GdkWindow associated to the widget needs +to enable the #GDK_LEAVE_NOTIFY_MASK mask. +This signal will be sent to the grab widget if there is one. +%FALSE to propagate the event further. + + %TRUE to stop other handlers from being invoked for the event. + + + + + the #GdkEventCrossing which triggered this signal + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The ::motion-notify-event signal is emitted when the pointer moves +over the widget's #GdkWindow. +To receive this signal, the #GdkWindow associated to the widget +needs to enable the #GDK_POINTER_MOTION_MASK mask. +This signal will be sent to the grab widget if there is one. +%FALSE to propagate the event further. + + %TRUE to stop other handlers from being invoked for the event. + + + + + the #GdkEventMotion which triggered this signal + + + + + + + + + + + + + + + + The ::no-expose-event will be emitted when the @widget's window is +drawn as a copy of another #GdkDrawable (with gdk_draw_drawable() or +gdk_window_copy_area()) which was completely unobscured. If the source +window was partially obscured #GdkEventExpose events will be generated +for those areas. +%FALSE to propagate the event further. + + %TRUE to stop other handlers from being invoked for the event. + + + + + the #GdkEventNoExpose which triggered this signal + + + + + + The ::parent-set signal is emitted when a new parent +has been set on a widget. + + + + + + the previous parent, or %NULL if the widget just got its initial parent. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Emitted when #GtkWidget:has-tooltip is %TRUE and the #GtkSettings:gtk-tooltip-timeout +has expired with the cursor hovering "above" @widget; or emitted when @widget got +focus in keyboard mode. +Using the given coordinates, the signal handler should determine +whether a tooltip should be shown for @widget. If this is the case +%TRUE should be returned, %FALSE otherwise. Note that if +should not be used. +The signal handler is free to manipulate @tooltip with the therefore +destined function calls. + + %TRUE if @tooltip should be shown right now, %FALSE otherwise. + + + + + the x coordinate of the cursor position where the request has been emitted, relative to @widget->window + + + + the y coordinate of the cursor position where the request has been emitted, relative to @widget->window + + + + %TRUE if the tooltip was trigged using the keyboard + + + + a #GtkTooltip + + + + + + + + + + + The ::screen-changed signal gets emitted when the +screen of a widget has changed. + + + + + + the previous screen, or %NULL if the widget was not associated with a screen before + + + + + + The ::scroll-event signal is emitted when a button in the 4 to 7 +range is pressed. Wheel mice are usually configured to generate +button press events for buttons 4 and 5 when the wheel is turned. +To receive this signal, the #GdkWindow associated to the widget needs +to enable the #GDK_BUTTON_PRESS_MASK mask. +This signal will be sent to the grab widget if there is one. +%FALSE to propagate the event further. + + %TRUE to stop other handlers from being invoked for the event. + + + + + the #GdkEventScroll which triggered this signal + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + %TRUE to stop other handlers from being invoked for the event. %FALSE to propagate the event further. + + + + + %TRUE to stop other handlers from being invoked for the event. %FALSE to propagate the event further. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The ::state-changed signal is emitted when the widget state changes. +See gtk_widget_get_state(). + + + + + + the previous state + + + + + + The ::style-set signal is emitted when a new style has been set +on a widget. Note that style-modifying functions like +gtk_widget_modify_base() also cause this signal to be emitted. + + + + + + the previous style, or %NULL if the widget just got its initial style + + + + + + + + + + + + + + + + + + + + + + + + + + The ::visibility-notify-event will be emitted when the @widget's window +is obscured or unobscured. +To receive this signal the #GdkWindow associated to the widget needs +to enable the #GDK_VISIBILITY_NOTIFY_MASK mask. +%FALSE to propagate the event further. + + %TRUE to stop other handlers from being invoked for the event. + + + + + the #GdkEventVisibility which triggered this signal + + + + + + The ::window-state-event will be emitted when the state of the +toplevel window associated to the @widget changes. +To receive this signal the #GdkWindow associated to the widget +needs to enable the #GDK_STRUCTURE_MASK mask. GDK will enable +this mask automatically for all new windows. +event. %FALSE to propagate the event further. + + %TRUE to stop other handlers from being invoked for the + + + + + the #GdkEventWindowState which triggered this signal + + + + + + + + + + + + + + + + + + + + + + + + + + + <structfield>activate_signal</structfield> +The signal to emit when a widget of this class is activated, +gtk_widget_activate() handles the emission. Implementation of this +signal is optional. +<structfield>set_scroll_adjustment_signal</structfield> +This signal is emitted when a widget of this class is added +to a scrolling aware parent, gtk_widget_set_scroll_adjustments() +handles the emission. +Implementation of this signal is optional. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + the #AtkObject associated with @widget + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Installs a style property on a widget class. The parser for the +style property is determined by the value type of @pspec. + + + + + + the #GParamSpec for the property + + + + + + Installs a style property on a widget class. + + + + + + the #GParamSpec for the style property + + + + the parser for the style property + + + + + + Finds a style property of a widget class by name. + + the #GParamSpec of the style property or %NULL if @class has no style property with that name. + + + + + the name of the style property to find + + + + + + Returns all style properties of a widget class. + + an newly allocated array of #GParamSpec*. The array must be freed with g_free(). + + + + + location to return the number of style properties found + + + + + + + Tells about certain properties of the widget. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Creates a new #GtkWindow, which is a toplevel window that can +contain other widgets. Nearly always, the type of the window should +be #GTK_WINDOW_TOPLEVEL. If you're implementing something like a +popup menu from scratch (which is a bad idea, just use #GtkMenu), +you might use #GTK_WINDOW_POPUP. #GTK_WINDOW_POPUP is not for +dialogs, though in some other toolkits dialogs are called "popups". +In GTK+, #GTK_WINDOW_POPUP means a pop-up menu or pop-up tooltip. +On X11, popup windows are not controlled by the <link +linkend="gtk-X11-arch">window manager</link>. +If you simply want an undecorated window (no window borders), use +gtk_window_set_decorated(), don't use #GTK_WINDOW_POPUP. + + a new #GtkWindow. + + + + + type of window + + + + + + Sets an icon list to be used as fallback for windows that haven't +had gtk_window_set_icon_list() called on them to set up a +window-specific icon list. This function allows you to set up the +icon for all windows in your app at once. +See gtk_window_set_icon_list() for more details. + + + + + + a list of #GdkPixbuf + + + + + + + + Gets the value set by gtk_window_set_default_icon_list(). +The list is a copy and should be freed with g_list_free(), +but the pixbufs in the list have not had their reference count +incremented. + + copy of default icon list + + + + + + + Sets an icon to be used as fallback for windows that haven't +had gtk_window_set_icon() called on them from a pixbuf. + + + + + + the icon + + + + + + Sets an icon to be used as fallback for windows that haven't +had gtk_window_set_icon_list() called on them from a named +themed icon, see gtk_window_set_icon_name(). + + + + + + the name of the themed icon + + + + + + Returns the fallback icon name for windows that has been set +with gtk_window_set_default_icon_name(). The returned +string is owned by GTK+ and should not be modified. It +is only valid until the next call to +gtk_window_set_default_icon_name(). + + the fallback icon name for windows + + + + + Sets an icon to be used as fallback for windows that haven't +had gtk_window_set_icon_list() called on them from a file +on disk. Warns on failure if @err is %NULL. + + %TRUE if setting the icon succeeded. + + + + + location of icon file + + + + + + By default, after showing the first #GtkWindow, GTK+ calls +gdk_notify_startup_complete(). Call this function to disable +the automatic startup notification. You might do this if your +first window is a splash screen, and you want to delay notification +until after your real main window has been shown, for example. +In that example, you would disable startup notification +temporarily, show your splash screen, then re-enable it so that +showing the main window would automatically result in notification. + + + + + + %TRUE to automatically do startup notification + + + + + + Returns a list of all existing toplevel windows. The widgets +in the list are not individually referenced. If you want +to iterate through the list and perform actions involving +callbacks that might destroy the widgets, you <emphasis>must</emphasis> call +<literal>g_list_foreach (result, (GFunc)g_object_ref, NULL)</literal> first, and +then unref all the widgets afterwards. + + list of toplevel widgets + + + + + + + + + + + + + + + + + Sets the title of the #GtkWindow. The title of a window will be +displayed in its title bar; on the X Window System, the title bar +is rendered by the <link linkend="gtk-X11-arch">window +manager</link>, so exactly how the title appears to users may vary +according to a user's exact configuration. The title should help a +user distinguish this window from other windows they may have +open. A good title might include the application name and current +document filename, for example. + + + + + + title of the window + + + + + + Retrieves the title of the window. See gtk_window_set_title(). +been set explicitely. The returned string is owned by the widget +and must not be modified or freed. + + the title of the window, or %NULL if none has + + + + + Don't use this function. It sets the X Window System "class" and +"name" hints for a window. According to the ICCCM, you should +always set these to the same value for all windows in an +application, and GTK+ sets them to that value by default, so calling +this function is sort of pointless. However, you may want to call +gtk_window_set_role() on each window in your application, for the +benefit of the session manager. Setting the role allows the window +manager to restore window positions when loading a saved session. + + + + + + window name hint + + + + window class hint + + + + + + This function is only useful on X11, not with other GTK+ targets. +In combination with the window title, the window role allows a +<link linkend="gtk-X11-arch">window manager</link> to identify "the +same" window when an application is restarted. So for example you +might set the "toolbox" role on your app's toolbox window, so that +when the user restarts their session, the window manager can put +the toolbox back in the same place. +If a window already has a unique title, you don't need to set the +role, since the WM can use the title to identify the window when +restoring the session. + + + + + + unique identifier for the window to be used when restoring a session + + + + + + Startup notification identifiers are used by desktop environment to +track application startup, to provide user feedback and other +features. This function changes the corresponding property on the +underlying GdkWindow. Normally, startup identifier is managed +automatically and you should only use this function in special cases +like transferring focus from other processes. You should use this +function before calling gtk_window_present() or any equivalent +function generating a window map event. +This function is only useful on X11, not with other GTK+ targets. + + + + + + a string with startup-notification identifier + + + + + + Returns the role of the window. See gtk_window_set_role() for +further explanation. +returned is owned by the widget and must not be modified +or freed. + + the role of the window if set, or %NULL. The + + + + + Associate @accel_group with @window, such that calling +gtk_accel_groups_activate() on @window will activate accelerators +in @accel_group. + + + + + + a #GtkAccelGroup + + + + + + Reverses the effects of gtk_window_add_accel_group(). + + + + + + a #GtkAccelGroup + + + + + + Sets a position constraint for this window. If the old or new +constraint is %GTK_WIN_POS_CENTER_ALWAYS, this will also cause +the window to be repositioned to satisfy the new constraint. + + + + + + a position constraint. + + + + + + Activates the current focused widget within the window. + + %TRUE if a widget got activated. + + + + + If @focus is not the current focus widget, and is focusable, sets +it as the focus widget for the window. If @focus is %NULL, unsets +the focus widget for this window. To set the focus to a particular +widget in the toplevel, it is usually more convenient to use +gtk_widget_grab_focus() instead of this function. + + + + + + widget to be the new focus widget, or %NULL to unset any focus widget for the toplevel window. + + + + + + Retrieves the current focused widget within the window. +Note that this is the widget that would have the focus +if the toplevel window focused; if the toplevel window +is not focused then <literal>gtk_widget_has_focus (widget)</literal> will +not be %TRUE for the widget. + + the currently focused widget, or %NULL if there is none. + + + + + The default widget is the widget that's activated when the user +presses Enter in a dialog (for example). This function sets or +unsets the default widget for a #GtkWindow about. When setting +(rather than unsetting) the default widget it's generally easier to +call gtk_widget_grab_focus() on the widget. Before making a widget +the default widget, you must set the #GTK_CAN_DEFAULT flag on the +widget you'd like to make the default using GTK_WIDGET_SET_FLAGS(). + + + + + + widget to be the default, or %NULL to unset the default widget for the toplevel. + + + + + + Returns the default widget for @window. See gtk_window_set_default() +for more details. + + the default widget, or %NULL if there is none. + + + + + Activates the default widget for the window, unless the current +focused widget has been configured to receive the default action +(see gtk_widget_set_receives_default()), in which case the +focused widget is activated. + + %TRUE if a widget got activated. + + + + + Dialog windows should be set transient for the main application +window they were spawned from. This allows <link +linkend="gtk-X11-arch">window managers</link> to e.g. keep the +dialog on top of the main window, or center the dialog over the +main window. gtk_dialog_new_with_buttons() and other convenience +functions in GTK+ will sometimes call +gtk_window_set_transient_for() on your behalf. +Passing %NULL for @parent unsets the current transient window. +On Windows, this function puts the child window on top of the parent, +much as the window manager would have done on X. + + + + + + parent window, or %NULL + + + + + + Fetches the transient parent for this window. See +gtk_window_set_transient_for(). +if no transient parent has been set. + + the transient parent for this window, or %NULL + + + + + Request the windowing system to make @window partially transparent, +with opacity 0 being fully transparent and 1 fully opaque. (Values +of the opacity parameter are clamped to the [0,1] range.) On X11 +this has any effect only on X screens with a compositing manager +running. See gtk_widget_is_composited(). On Windows it should work +always. +Note that setting a window's opacity after the window has been +shown causes it to flicker once on Windows. + + + + + + desired opacity, between 0 and 1 + + + + + + Fetches the requested opacity for this window. See +gtk_window_set_opacity(). + + the requested opacity for this window. + + + + + By setting the type hint for the window, you allow the window +manager to decorate and handle the window in a way which is +suitable to the function of the window in your application. +This function should be called before the window becomes visible. +gtk_dialog_new_with_buttons() and other convenience functions in GTK+ +will sometimes call gtk_window_set_type_hint() on your behalf. + + + + + + the window type + + + + + + Gets the type hint for this window. See gtk_window_set_type_hint(). + + the type hint for @window. + + + + + Windows may set a hint asking the desktop environment not to display +the window in the task bar. This function sets this hint. + + + + + + %TRUE to keep this window from appearing in the task bar + + + + + + Gets the value set by gtk_window_set_skip_taskbar_hint() + + %TRUE if window shouldn't be in taskbar + + + + + Windows may set a hint asking the desktop environment not to display +the window in the pager. This function sets this hint. +(A "pager" is any desktop navigation tool such as a workspace +switcher that displays a thumbnail representation of the windows +on the screen.) + + + + + + %TRUE to keep this window from appearing in the pager + + + + + + Gets the value set by gtk_window_set_skip_pager_hint(). + + %TRUE if window shouldn't be in pager + + + + + Windows may set a hint asking the desktop environment to draw +the users attention to the window. This function sets this hint. + + + + + + %TRUE to mark this window as urgent + + + + + + Gets the value set by gtk_window_set_urgency_hint() + + %TRUE if window is urgent + + + + + Windows may set a hint asking the desktop environment not to receive +the input focus. This function sets this hint. + + + + + + %TRUE to let this window receive input focus + + + + + + Gets the value set by gtk_window_set_accept_focus(). + + %TRUE if window should receive the input focus + + + + + Windows may set a hint asking the desktop environment not to receive +the input focus when the window is mapped. This function sets this +hint. + + + + + + %TRUE to let this window receive input focus on map + + + + + + Gets the value set by gtk_window_set_focus_on_map(). +mapped. + + %TRUE if window should receive the input focus when + + + + + If @setting is %TRUE, then destroying the transient parent of @window +will also destroy @window itself. This is useful for dialogs that +shouldn't persist beyond the lifetime of the main window they're +associated with, for example. + + + + + + whether to destroy @window with its transient parent + + + + + + Returns whether the window will be destroyed with its transient parent. See +gtk_window_set_destroy_with_parent (). + + %TRUE if the window will be destroyed with its transient parent. + + + + + Sets the #GtkWindow:mnemonics-visible property. + + + + + + the new value + + + + + + + + + + + Sets whether the user can resize a window. Windows are user resizable +by default. + + + + + + %TRUE if the user can resize this window + + + + + + Gets the value set by gtk_window_set_resizable(). + + %TRUE if the user can resize the window + + + + + Window gravity defines the meaning of coordinates passed to +gtk_window_move(). See gtk_window_move() and #GdkGravity for +more details. +The default window gravity is #GDK_GRAVITY_NORTH_WEST which will +typically "do what you mean." + + + + + + window gravity + + + + + + Gets the value set by gtk_window_set_gravity(). + + window gravity + + + + + This function sets up hints about how a window can be resized by +the user. You can set a minimum and maximum size; allowed resize +increments (e.g. for xterm, you can only resize by the size of a +character); aspect ratios; and more. See the #GdkGeometry struct. + + + + + + widget the geometry hints will be applied to + + + + struct containing geometry information + + + + mask indicating which struct fields should be paid attention to + + + + + + + + + + + + + + + + + + + + + Returns whether the window is part of the current active toplevel. +(That is, the toplevel window receiving keystrokes.) +The return value is %TRUE if the window is active toplevel +itself, but also if it is, say, a #GtkPlug embedded in the active toplevel. +You might use this function if you wanted to draw a widget +differently in an active window from a widget in an inactive window. +See gtk_window_has_toplevel_focus() + + %TRUE if the window part of the current active window. + + + + + Returns whether the input focus is within this GtkWindow. +For real toplevel windows, this is identical to gtk_window_is_active(), +but for embedded windows, like #GtkPlug, the results will differ. + + %TRUE if the input focus is within this GtkWindow + + + + + (Note: this is a special-purpose function for the framebuffer port, +that causes GTK+ to draw its own window border. For most applications, +you want gtk_window_set_decorated() instead, which tells the window +manager whether to draw the window border.) +If this function is called on a window with setting of %TRUE, before +it is realized or showed, it will have a "frame" window around +frame_event you can receive all events targeted at the frame. +This function is used by the linux-fb port to implement managed +windows, but it could conceivably be used by X-programs that +want to do their own window decorations. + + + + + + a boolean + + + + + + Accessor for whether the window has a frame window exterior to +via gtk_window_set_has_frame(). + + %TRUE if a frame has been added to the window + + + + + (Note: this is a special-purpose function intended for the framebuffer +port; see gtk_window_set_has_frame(). It will have no effect on the +window border drawn by the window manager, which is the normal +case when using the X Window system.) +For windows with frames (see gtk_window_set_has_frame()) this function +can be used to change the size of the frame border. + + + + + + The width of the left border + + + + The height of the top border + + + + The width of the right border + + + + The height of the bottom border + + + + + + (Note: this is a special-purpose function intended for the +framebuffer port; see gtk_window_set_has_frame(). It will not +return the size of the window border drawn by the <link +linkend="gtk-X11-arch">window manager</link>, which is the normal +case when using a windowing system. See +gdk_window_get_frame_extents() to get the standard window border +extents.) +Retrieves the dimensions of the frame window for this toplevel. +See gtk_window_set_has_frame(), gtk_window_set_frame_dimensions(). + + + + + + location to store the width of the frame at the left, or %NULL + + + + location to store the height of the frame at the top, or %NULL + + + + location to store the width of the frame at the returns, or %NULL + + + + location to store the height of the frame at the bottom, or %NULL + + + + + + By default, windows are decorated with a title bar, resize +controls, etc. Some <link linkend="gtk-X11-arch">window +managers</link> allow GTK+ to disable these decorations, creating a +borderless window. If you set the decorated property to %FALSE +using this function, GTK+ will do its best to convince the window +manager not to decorate the window. Depending on the system, this +function may not have any effect when called on a window that is +already visible, so you should call it before calling gtk_window_show(). +On Windows, this function always works, since there's no window manager +policy involved. + + + + + + %TRUE to decorate the window + + + + + + Returns whether the window has been set to have decorations +such as a title bar via gtk_window_set_decorated(). + + %TRUE if the window has been set to have decorations + + + + + By default, windows have a close button in the window frame. Some +<link linkend="gtk-X11-arch">window managers</link> allow GTK+ to +disable this button. If you set the deletable property to %FALSE +using this function, GTK+ will do its best to convince the window +manager not to show a close button. Depending on the system, this +function may not have any effect when called on a window that is +already visible, so you should call it before calling gtk_window_show(). +On Windows, this function always works, since there's no window manager +policy involved. + + + + + + %TRUE to decorate the window as deletable + + + + + + Returns whether the window has been set to have a close button +via gtk_window_set_deletable(). + + %TRUE if the window has been set to have a close button + + + + + Sets up the icon representing a #GtkWindow. The icon is used when +the window is minimized (also known as iconified). Some window +managers or desktop environments may also place it in the window +frame, or display it in other contexts. +gtk_window_set_icon_list() allows you to pass in the same icon in +several hand-drawn sizes. The list should contain the natural sizes +your icon is available in; that is, don't scale the image before +passing it to GTK+. Scaling is postponed until the last minute, +when the desired final size is known, to allow best quality. +By passing several sizes, you may improve the final image quality +of the icon, by reducing or eliminating automatic image scaling. +larger images (64x64, 128x128) if you have them. +See also gtk_window_set_default_icon_list() to set the icon +for all windows in your application in one go. +Note that transient windows (those who have been set transient for another +window using gtk_window_set_transient_for()) will inherit their +icon from their transient parent. So there's no need to explicitly +set the icon on transient windows. + + + + + + list of #GdkPixbuf + + + + + + + + Retrieves the list of icons set by gtk_window_set_icon_list(). +The list is copied, but the reference count on each +member won't be incremented. + + copy of window's icon list + + + + + + + Sets up the icon representing a #GtkWindow. This icon is used when +the window is minimized (also known as iconified). Some window +managers or desktop environments may also place it in the window +frame, or display it in other contexts. +The icon should be provided in whatever size it was naturally +drawn; that is, don't scale the image before passing it to +GTK+. Scaling is postponed until the last minute, when the desired +final size is known, to allow best quality. +If you have your icon hand-drawn in multiple sizes, use +gtk_window_set_icon_list(). Then the best size will be used. +This function is equivalent to calling gtk_window_set_icon_list() +with a 1-element list. +See also gtk_window_set_default_icon_list() to set the icon +for all windows in your application in one go. + + + + + + icon image, or %NULL + + + + + + Sets the icon for the window from a named themed icon. See +the docs for #GtkIconTheme for more details. +Note that this has nothing to do with the WM_ICON_NAME +property which is mentioned in the ICCCM. + + + + + + the name of the themed icon + + + + + + Sets the icon for @window. +Warns on failure if @err is %NULL. +This function is equivalent to calling gtk_window_set_icon() +with a pixbuf created by loading the image from @filename. + + %TRUE if setting the icon succeeded. + + + + + location of icon file + + + + + + Gets the value set by gtk_window_set_icon() (or if you've +called gtk_window_set_icon_list(), gets the first icon in +the icon list). + + icon for window + + + + + Returns the name of the themed icon for the window, +see gtk_window_set_icon_name(). +no themed icon + + the icon name or %NULL if the window has + + + + + Sets a window modal or non-modal. Modal windows prevent interaction +with other windows in the same application. To keep modal dialogs +on top of main application windows, use +gtk_window_set_transient_for() to make the dialog transient for the +parent; most <link linkend="gtk-X11-arch">window managers</link> +will then disallow lowering the dialog below the parent. + + + + + + whether the window is modal + + + + + + Returns whether the window is modal. See gtk_window_set_modal(). +establishes a grab when shown + + %TRUE if the window is set to be modal and + + + + + Adds a mnemonic to this window. + + + + + + the mnemonic + + + + the widget that gets activated by the mnemonic + + + + + + Removes a mnemonic from this window. + + + + + + the mnemonic + + + + the widget that gets activated by the mnemonic + + + + + + Activates the targets associated with the mnemonic. + + %TRUE if the activation is done. + + + + + the mnemonic + + + + the modifiers + + + + + + Sets the mnemonic modifier for this window. + + + + + + the modifier mask used to activate mnemonics on this window. + + + + + + Returns the mnemonic modifier for this window. See +gtk_window_set_mnemonic_modifier(). +mnemonics on this window. + + the modifier mask used to activate + + + + + Activates mnemonics and accelerators for this #GtkWindow. This is normally +called by the default ::key_press_event handler for toplevel windows, +however in some cases it may be useful to call this directly when +overriding the standard key handling for a toplevel window. + + %TRUE if a mnemonic or accelerator was found and activated. + + + + + a #GdkEventKey + + + + + + Propagate a key press or release event to the focus widget and +up the focus container chain until a widget handles @event. +This is normally called by the default ::key_press_event and +::key_release_event handlers for toplevel windows, +however in some cases it may be useful to call this directly when +overriding the standard key handling for a toplevel window. + + %TRUE if a widget in the focus chain handled the event. + + + + + a #GdkEventKey + + + + + + Presents a window to the user. This may mean raising the window +in the stacking order, deiconifying it, moving it to the current +desktop, and/or giving it the keyboard focus, possibly dependent +on the user's platform, window manager, and preferences. +If @window is hidden, this function calls gtk_widget_show() +as well. +This function should be used when the user tries to open a window +that's already open. Say for example the preferences dialog is +currently open, and the user chooses Preferences from the menu +a second time; use gtk_window_present() to move the already-open dialog +where the user can see it. +If you are calling this function in response to a user interaction, +it is preferable to use gtk_window_present_with_time(). + + + + + + Presents a window to the user in response to a user interaction. +If you need to present a window without a timestamp, use +gtk_window_present(). See gtk_window_present() for details. + + + + + + the timestamp of the user interaction (typically a button or key press event) which triggered this call + + + + + + Asks to iconify (i.e. minimize) the specified @window. Note that +you shouldn't assume the window is definitely iconified afterward, +because other entities (e.g. the user or <link +linkend="gtk-X11-arch">window manager</link>) could deiconify it +again, or there may not be a window manager in which case +iconification isn't possible, etc. But normally the window will end +up iconified. Just don't write code that crashes if not. +It's permitted to call this function before showing a window, +in which case the window will be iconified before it ever appears +onscreen. +You can track iconification via the "window-state-event" signal +on #GtkWidget. + + + + + + Asks to deiconify (i.e. unminimize) the specified @window. Note +that you shouldn't assume the window is definitely deiconified +afterward, because other entities (e.g. the user or <link +linkend="gtk-X11-arch">window manager</link>) could iconify it +again before your code which assumes deiconification gets to run. +You can track iconification via the "window-state-event" signal +on #GtkWidget. + + + + + + Asks to stick @window, which means that it will appear on all user +desktops. Note that you shouldn't assume the window is definitely +stuck afterward, because other entities (e.g. the user or <link +linkend="gtk-X11-arch">window manager</link>) could unstick it +again, and some window managers do not support sticking +windows. But normally the window will end up stuck. Just don't +write code that crashes if not. +It's permitted to call this function before showing a window. +You can track stickiness via the "window-state-event" signal +on #GtkWidget. + + + + + + Asks to unstick @window, which means that it will appear on only +one of the user's desktops. Note that you shouldn't assume the +window is definitely unstuck afterward, because other entities +(e.g. the user or <link linkend="gtk-X11-arch">window +manager</link>) could stick it again. But normally the window will +end up stuck. Just don't write code that crashes if not. +You can track stickiness via the "window-state-event" signal +on #GtkWidget. + + + + + + Asks to maximize @window, so that it becomes full-screen. Note that +you shouldn't assume the window is definitely maximized afterward, +because other entities (e.g. the user or <link +linkend="gtk-X11-arch">window manager</link>) could unmaximize it +again, and not all window managers support maximization. But +normally the window will end up maximized. Just don't write code +that crashes if not. +It's permitted to call this function before showing a window, +in which case the window will be maximized when it appears onscreen +initially. +You can track maximization via the "window-state-event" signal +on #GtkWidget. + + + + + + Asks to unmaximize @window. Note that you shouldn't assume the +window is definitely unmaximized afterward, because other entities +(e.g. the user or <link linkend="gtk-X11-arch">window +manager</link>) could maximize it again, and not all window +managers honor requests to unmaximize. But normally the window will +end up unmaximized. Just don't write code that crashes if not. +You can track maximization via the "window-state-event" signal +on #GtkWidget. + + + + + + Asks to place @window in the fullscreen state. Note that you +shouldn't assume the window is definitely full screen afterward, +because other entities (e.g. the user or <link +linkend="gtk-X11-arch">window manager</link>) could unfullscreen it +again, and not all window managers honor requests to fullscreen +windows. But normally the window will end up fullscreen. Just +don't write code that crashes if not. +You can track the fullscreen state via the "window-state-event" signal +on #GtkWidget. + + + + + + Asks to toggle off the fullscreen state for @window. Note that you +shouldn't assume the window is definitely not full screen +afterward, because other entities (e.g. the user or <link +linkend="gtk-X11-arch">window manager</link>) could fullscreen it +again, and not all window managers honor requests to unfullscreen +windows. But normally the window will end up restored to its normal +state. Just don't write code that crashes if not. +You can track the fullscreen state via the "window-state-event" signal +on #GtkWidget. + + + + + + Asks to keep @window above, so that it stays on top. Note that +you shouldn't assume the window is definitely above afterward, +because other entities (e.g. the user or <link +linkend="gtk-X11-arch">window manager</link>) could not keep it above, +and not all window managers support keeping windows above. But +normally the window will end kept above. Just don't write code +that crashes if not. +It's permitted to call this function before showing a window, +in which case the window will be kept above when it appears onscreen +initially. +You can track the above state via the "window-state-event" signal +on #GtkWidget. +Note that, according to the <ulink +url="http://www.freedesktop.org/Standards/wm-spec">Extended Window +Manager Hints</ulink> specification, the above state is mainly meant +for user preferences and should not be used by applications e.g. for +drawing attention to their dialogs. + + + + + + whether to keep @window above other windows + + + + + + Asks to keep @window below, so that it stays in bottom. Note that +you shouldn't assume the window is definitely below afterward, +because other entities (e.g. the user or <link +linkend="gtk-X11-arch">window manager</link>) could not keep it below, +and not all window managers support putting windows below. But +normally the window will be kept below. Just don't write code +that crashes if not. +It's permitted to call this function before showing a window, +in which case the window will be kept below when it appears onscreen +initially. +You can track the below state via the "window-state-event" signal +on #GtkWidget. +Note that, according to the <ulink +url="http://www.freedesktop.org/Standards/wm-spec">Extended Window +Manager Hints</ulink> specification, the above state is mainly meant +for user preferences and should not be used by applications e.g. for +drawing attention to their dialogs. + + + + + + whether to keep @window below other windows + + + + + + Starts resizing a window. This function is used if an application +has window resizing controls. When GDK can support it, the resize +will be done using the standard mechanism for the <link +linkend="gtk-X11-arch">window manager</link> or windowing +system. Otherwise, GDK will try to emulate window resizing, +potentially not all that well, depending on the windowing system. + + + + + + position of the resize control + + + + mouse button that initiated the drag + + + + X position where the user clicked to initiate the drag, in root window coordinates + + + + Y position where the user clicked to initiate the drag + + + + timestamp from the click event that initiated the drag + + + + + + Starts moving a window. This function is used if an application has +window movement grips. When GDK can support it, the window movement +will be done using the standard mechanism for the <link +linkend="gtk-X11-arch">window manager</link> or windowing +system. Otherwise, GDK will try to emulate window movement, +potentially not all that well, depending on the windowing system. + + + + + + mouse button that initiated the drag + + + + X position where the user clicked to initiate the drag, in root window coordinates + + + + Y position where the user clicked to initiate the drag + + + + timestamp from the click event that initiated the drag + + + + + + + + + + + + + + + + + + + + + + Sets the default size of a window. If the window's "natural" size +(its size request) is larger than the default, the default will be +ignored. More generally, if the default size does not obey the +geometry hints for the window (gtk_window_set_geometry_hints() can +be used to set these explicitly), the default size will be clamped +to the nearest permitted size. +Unlike gtk_widget_set_size_request(), which sets a size request for +a widget and thus would keep users from shrinking the window, this +function only sets the initial size, just as if the user had +resized the window themselves. Users can still shrink the window +again as they normally would. Setting a default size of -1 means to +use the "natural" default size (the size request of the window). +For more control over a window's initial size and how resizing works, +investigate gtk_window_set_geometry_hints(). +For some uses, gtk_window_resize() is a more appropriate function. +gtk_window_resize() changes the current size of the window, rather +than the size to be used on initial display. gtk_window_resize() always +affects the window itself, not the geometry widget. +The default size of a window only affects the first time a window is +shown; if a window is hidden and re-shown, it will remember the size +it had prior to hiding, rather than using the default size. +Windows can't actually be 0x0 in size, they must be at least 1x1, but +passing 0 for @width and @height is OK, resulting in a 1x1 default size. + + + + + + width in pixels, or -1 to unset the default width + + + + height in pixels, or -1 to unset the default height + + + + + + Gets the default size of the window. A value of -1 for the width or +height indicates that a default size has not been explicitly set +for that dimension, so the "natural" size of the window will be +used. + + + + + + location to store the default width, or %NULL + + + + location to store the default height, or %NULL + + + + + + Resizes the window as if the user had done so, obeying geometry +constraints. The default geometry constraint is that windows may +not be smaller than their size request; to override this +constraint, call gtk_widget_set_size_request() to set the window's +request to a smaller value. +If gtk_window_resize() is called before showing a window for the +first time, it overrides any default size set with +gtk_window_set_default_size(). +Windows may not be resized smaller than 1 by 1 pixels. + + + + + + width in pixels to resize the window to + + + + height in pixels to resize the window to + + + + + + Obtains the current size of @window. If @window is not onscreen, +it returns the size GTK+ will suggest to the <link +linkend="gtk-X11-arch">window manager</link> for the initial window +size (but this is not reliably the same as the size the window +manager will actually select). The size obtained by +gtk_window_get_size() is the last size received in a +#GdkEventConfigure, that is, GTK+ uses its locally-stored size, +rather than querying the X server for the size. As a result, if you +call gtk_window_resize() then immediately call +gtk_window_get_size(), the size won't have taken effect yet. After +the window manager processes the resize request, GTK+ receives +notification that the size has changed via a configure event, and +the size of the window gets updated. +because the size of the window may change between the time that you +get the size and the time that you perform some action assuming +that size is the current size. To avoid race conditions, connect to +"configure-event" on the window and adjust your size-dependent +state to match the size delivered in the #GdkEventConfigure. +size of the window manager decorations (aka the window frame or +border). Those are not drawn by GTK+ and GTK+ has no reliable +method of determining their size. +the window onscreen, there may be a better way. The preferred +way is to simply set the window's semantic type with +gtk_window_set_type_hint(), which allows the window manager to +e.g. center dialogs. Also, if you set the transient parent of +dialogs with gtk_window_set_transient_for() window managers +will often center the dialog over its parent window. It's +much preferred to let the window manager handle these +things rather than doing it yourself, because all apps will +behave consistently and according to user prefs if the window +manager handles it. Also, the window manager can take the size +of the window decorations/border into account, while your +application cannot. +In any case, if you insist on application-specified window +positioning, there's <emphasis>still</emphasis> a better way than +doing it yourself - gtk_window_set_position() will frequently +handle the details for you. + + + + + + return location for width, or %NULL + + + + return location for height, or %NULL + + + + + + Asks the <link linkend="gtk-X11-arch">window manager</link> to move +this; most window managers ignore requests for initial window +positions (instead using a user-defined placement algorithm) and +honor requests after the window has already been shown. +reference point for the window. The gravity determines two things: +first, the location of the reference point in root window +coordinates; and second, which point on the window is positioned at +the reference point. +By default the gravity is #GDK_GRAVITY_NORTH_WEST, so the reference +point is simply the @x, @y supplied to gtk_window_move(). The +top-left corner of the window decorations (aka window frame or +border) will be placed at @x, @y. Therefore, to position a window +at the top left of the screen, you want to use the default gravity +(which is #GDK_GRAVITY_NORTH_WEST) and move the window to 0,0. +To position a window at the bottom right corner of the screen, you +would set #GDK_GRAVITY_SOUTH_EAST, which means that the reference +point is at @x + the window width and @y + the window height, and +the bottom-right corner of the window border will be placed at that +reference point. So, to place a window in the bottom right corner +you would first set gravity to south east, then write: +<literal>gtk_window_move (window, gdk_screen_width () - window_width, +gdk_screen_height () - window_height)</literal> (note that this +example does not take multi-head scenarios into account). +The Extended Window Manager Hints specification at <ulink +url="http://www.freedesktop.org/Standards/wm-spec"> +http://www.freedesktop.org/Standards/wm-spec</ulink> has a +nice table of gravities in the "implementation notes" section. +The gtk_window_get_position() documentation may also be relevant. + + + + + + X coordinate to move window to + + + + Y coordinate to move window to + + + + + + This function returns the position you need to pass to +gtk_window_move() to keep @window in its current position. This +means that the meaning of the returned value varies with window +gravity. See gtk_window_move() for more details. +If you haven't changed the window gravity, its gravity will be +#GDK_GRAVITY_NORTH_WEST. This means that gtk_window_get_position() +gets the position of the top-left corner of the window manager +frame for the window. gtk_window_move() sets the position of this +same top-left corner. +gtk_window_get_position() is not 100% reliable because the X Window System +does not specify a way to obtain the geometry of the +decorations placed on a window by the window manager. +Thus GTK+ is using a "best guess" that works with most +window managers. +Moreover, nearly all window managers are historically broken with +respect to their handling of window gravity. So moving a window to +its current position as returned by gtk_window_get_position() tends +to result in moving the window slightly. Window managers are +slowly getting better over time. +If a window has gravity #GDK_GRAVITY_STATIC the window manager +frame is not relevant, and thus gtk_window_get_position() will +always produce accurate results. However you can't use static +gravity to do things like place a window in a corner of the screen, +because static gravity ignores the window manager decorations. +If you are saving and restoring your application's window +positions, you should know that it's impossible for applications to +do this without getting it somewhat wrong because applications do +not have sufficient knowledge of window manager state. The Correct +Mechanism is to support the session management protocol (see the +"GnomeClient" object in the GNOME libraries for example) and allow +the window manager to save your window sizes and positions. + + + + + + return location for X coordinate of gravity-determined reference point + + + + return location for Y coordinate of gravity-determined reference point + + + + + + Parses a standard X Window System geometry string - see the +manual page for X (type 'man X') for details on this. +gtk_window_parse_geometry() does work on all GTK+ ports +including Win32 but is primarily intended for an X environment. +If either a size or a position can be extracted from the +geometry string, gtk_window_parse_geometry() returns %TRUE +and calls gtk_window_set_default_size() and/or gtk_window_move() +to resize/move the window. +If gtk_window_parse_geometry() returns %TRUE, it will also +set the #GDK_HINT_USER_POS and/or #GDK_HINT_USER_SIZE hints +indicating to the window manager that the size/position of +the window was user-specified. This causes most window +managers to honor the geometry. +Note that for gtk_window_parse_geometry() to work as expected, it has +to be called when the window has its "final" size, i.e. after calling +gtk_widget_show_all() on the contents and gtk_window_set_geometry_hints() +on the window. +|[ +#include <gtk/gtk.h> +static void +fill_with_content (GtkWidget *vbox) +{ +/&ast; fill with content... &ast;/ +} +int +main (int argc, char *argv[]) +{ +GtkWidget *window, *vbox; +GdkGeometry size_hints = { +100, 50, 0, 0, 100, 50, 10, 10, 0.0, 0.0, GDK_GRAVITY_NORTH_WEST +}; +gtk_init (&argc, &argv); +window = gtk_window_new (GTK_WINDOW_TOPLEVEL); +vbox = gtk_vbox_new (FALSE, 0); +gtk_container_add (GTK_CONTAINER (window), vbox); +fill_with_content (vbox); +gtk_widget_show_all (vbox); +gtk_window_set_geometry_hints (GTK_WINDOW (window), +window, +&size_hints, +GDK_HINT_MIN_SIZE | +GDK_HINT_BASE_SIZE | +GDK_HINT_RESIZE_INC); +if (argc &gt; 1) +{ +if (!gtk_window_parse_geometry (GTK_WINDOW (window), argv[1])) +fprintf (stderr, "Failed to parse '%s'\n", argv[1]); +} +gtk_widget_show_all (window); +gtk_main (); +return 0; +} +]| + + %TRUE if string was parsed successfully + + + + + geometry string + + + + + + Returns the group for @window or the default group, if +window group. + + the #GtkWindowGroup for a window or the default group + + + + + Hides @window, then reshows it, resetting the +default size and position of the window. Used +by GUI builders only. + + + + + + Gets the type of the window. See #GtkWindowType. + + the type of the window + + + + + + + + + + + + + + + + + + + + + + + + + Whether the window should receive the input focus. + + + + + + + + + + Whether the window should be decorated by the window manager. + + + + + + + + + + Whether the window frame should have a close button. + + + + + + + Whether the window should receive the input focus when mapped. + + + + The window gravity of the window. See gtk_window_move() and #GdkGravity for +more details about window gravity. + + + + + + + + + + The :icon-name property specifies the name of the themed icon to +use as the window icon. See #GtkIconTheme for more details. + + + + + + + + + + + + + The requested opacity of the window. See gtk_window_set_opacity() for +more details about window opacity. + + + + + + + + + + + + + + + + + + + The :startup-id is a write-only property for setting window's +startup notification identifier. See gtk_window_set_startup_id() +for more details. + + + + + + + The transient parent of the window. See gtk_window_set_transient_for() for +more details about transient windows. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The ::activate-default signal is a +<link linkend="keybinding-signals">keybinding signal</link> +which gets emitted when the user activates the default widget +of @window. + + + + + + The ::activate-default signal is a +<link linkend="keybinding-signals">keybinding signal</link> +which gets emitted when the user activates the currently +focused widget of @window. + + + + + + + + + + + + + + + + The ::keys-changed signal gets emitted when the set of accelerators +or mnemonics that are associated with @window changes. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Creates a new #GtkWindowGroup object. Grabs added with +gtk_grab_add() only affect windows within the same #GtkWindowGroup. + + a new #GtkWindowGroup. + + + + + Adds a window to a #GtkWindowGroup. + + + + + + the #GtkWindow to add + + + + + + Removes a window from a #GtkWindowGroup. + + + + + + the #GtkWindow to remove + + + + + + Returns a list of the #GtkWindows that belong to @window_group. +windows inside the group. + + A newly-allocated list of + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Finds the first accelerator in any #GtkAccelGroup attached +to @object that matches @accel_key and @accel_mods, and +activates that accelerator. + + %TRUE if an accelerator was activated and handled this keypress + + + + + the #GObject, usually a #GtkWindow, on which to activate the accelerator. + + + + accelerator keyval from a key event + + + + keyboard state mask from a key event + + + + + + Gets a list of all accel groups which are attached to @object. + + a list of all accel groups which are attached to @object + + + + + + + a #GObject, usually a #GtkWindow + + + + + + Gets the value set by gtk_accelerator_set_default_mod_mask(). + + the default accelerator modifier mask + + + + + Converts an accelerator keyval and modifier mask into a string +which can be used to represent the accelerator to the user. + + a newly-allocated string representing the accelerator. + + + + + accelerator keyval + + + + accelerator modifier mask + + + + + + Converts an accelerator keyval and modifier mask +into a string parseable by gtk_accelerator_parse(). +For example, if you pass in #GDK_q and #GDK_CONTROL_MASK, +this function returns "&lt;Control&gt;q". +If you need to display accelerators in the user interface, +see gtk_accelerator_get_label(). + + a newly-allocated accelerator name + + + + + accelerator keyval + + + + accelerator modifier mask + + + + + + Parses a string representing an accelerator. The +format looks like "&lt;Control&gt;a" or "&lt;Shift&gt;&lt;Alt&gt;F1" or +"&lt;Release&gt;z" (the last one is for key release). +The parser is fairly liberal and allows lower or upper case, +and also abbreviations such as "&lt;Ctl&gt;" and "&lt;Ctrl&gt;". +Key names are parsed using gdk_keyval_from_name(). For character keys the +name is not the symbol, but the lowercase name, e.g. one would use +"&lt;Ctrl&gt;minus" instead of "&lt;Ctrl&gt;-". +If the parse fails, @accelerator_key and @accelerator_mods will +be set to 0 (zero). + + + + + + string representing an accelerator + + + + return location for accelerator keyval + + + + return location for accelerator modifier mask + + + + + + Sets the modifiers that will be considered significant for keyboard +accelerators. The default mod mask is #GDK_CONTROL_MASK | +#GDK_SHIFT_MASK | #GDK_MOD1_MASK | #GDK_SUPER_MASK | +#GDK_HYPER_MASK | #GDK_META_MASK, that is, Control, Shift, Alt, +Super, Hyper and Meta. Other modifiers will by default be ignored +by #GtkAccelGroup. +You must include at least the three modifiers Control, Shift +and Alt in any value you pass to this function. +The default mod mask should be changed on application startup, +before using any accelerator groups. + + + + + + accelerator modifier mask + + + + + + Determines whether a given keyval and modifier mask constitute +a valid keyboard accelerator. For example, the #GDK_a keyval +plus #GDK_CONTROL_MASK is valid - this is a "Ctrl+a" accelerator. +But, you can't, for instance, use the #GDK_Control_L keyval +as an accelerator. + + %TRUE if the accelerator is valid + + + + + a GDK keyval + + + + modifier mask + + + + + + Returns %TRUE if dialogs are expected to use an alternative +button order on the screen @screen. See +gtk_dialog_set_alternative_button_order() for more details +about alternative button order. +If you need to use this function, you should probably connect +to the ::notify:gtk-alternative-button-order signal on the +#GtkSettings object associated to @screen, in order to be +notified if the button order setting changes. + + Whether the alternative button order should be used + + + + + a #GdkScreen, or %NULL to use the default screen + + + + + + Override or install a new key binding for @keyval with @modifiers on +emitted on the target widget, with @n_args @Varargs used as +arguments. + + + + + + a #GtkBindingSet to install an entry for + + + + key value of binding to install + + + + key modifier of binding to install + + + + signal to execute upon activation + + + + number of arguments to @signal_name + + + + + + + + + + Override or install a new key binding for @keyval with @modifiers on + + + + + + a #GtkBindingSet to add a signal to + + + + key value + + + + key modifier + + + + signal name to be bound + + + + list of #GtkBindingArg signal arguments + + + + + + + + Clears a binding entry. + + + + + + binding set to clear an entry of + + + + key value of binding to clear + + + + key modifier of binding to clear + + + + + + Remove a binding previously installed via +gtk_binding_entry_add_signal() on @binding_set. + + + + + + a #GtkBindingSet to remove an entry of + + + + key value of binding to remove + + + + key modifier of binding to remove + + + + + + Install a binding on @binding_set which causes key lookups +to be aborted, to prevent bindings from lower priority sets +to be activated. + + + + + + a #GtkBindingSet to skip an entry of + + + + key value of binding to skip + + + + key modifier of binding to skip + + + + + + Parse a binding entry from a gtkrc file. + + expected token upon errors, %G_TOKEN_NONE on success. + + + + + GtkRC scanner + + + + + + This function returns the binding set named after the type name of +the passed in class structure. New binding sets are created on +demand by this function. + + the binding set corresponding to @object_class + + + + + a valid #GtkObject class + + + + + + Find a binding set by its globally unique name. The @set_name can +either be a name used for gtk_binding_set_new() or the type name of +a class used in gtk_binding_set_by_class(). + + %NULL or the specified binding set + + + + + unique binding set name + + + + + + Find a key binding matching @keyval and @modifiers and activate the +binding on @object. + + %TRUE if a binding was found and activated + + + + + object to activate when binding found + + + + key value of the binding + + + + key modifier of the binding + + + + + + Looks up key bindings for @object to find one matching + + %TRUE if a matching key binding was found + + + + + a #GtkObject (generally must be a widget) + + + + a #GdkEventKey + + + + + + Checks that the GTK+ library in use is compatible with the +given version. Generally you would pass in the constants +#GTK_MAJOR_VERSION, #GTK_MINOR_VERSION, #GTK_MICRO_VERSION +as the three arguments to this function; that produces +a check that the library in use is compatible with +the version of GTK+ the application or module was compiled +against. +of the running library is newer than the version +the running library must be binary compatible with the +version @required_major.required_minor.@required_micro +(same major version.) +This function is primarily for GTK+ modules; the module +can call this function to check that it wasn't loaded +into an incompatible version of GTK+. However, such a +a check isn't completely reliable, since the module may be +linked against an old version of GTK+ and calling the +old version of gtk_check_version(), but still get loaded +into an application using a newer version of GTK+. +given version, or a string describing the version mismatch. +The returned string is owned by GTK+ and should not be modified +or freed. + + %NULL if the GTK+ library is compatible with the + + + + + the required major version. + + + + the required minor version. + + + + the required micro version. + + + + + + Prevents gtk_init(), gtk_init_check(), gtk_init_with_args() and +gtk_parse_args() from automatically +calling <literal>setlocale (LC_ALL, "")</literal>. You would +want to use this function if you wanted to set the locale for +your program to something other than the user's locale, or if +you wanted to set different values for different locale categories. +Most programs should not need to call this function. + + + + + + Initiates a drag on the source side. The function +only needs to be used when the application is +starting drags itself, and is not needed when +gtk_drag_source_set() is used. + + the context for this drag. + + + + + the source widget. + + + + The targets (data formats) in which the source can provide the data. + + + + A bitmask of the allowed drag actions for this drag. + + + + The button the user clicked to start the drag. + + + + The event that triggered the start of the drag. + + + + + + Checks to see if a mouse drag starting at (@start_x, @start_y) and ending +at (@current_x, @current_y) has passed the GTK+ drag threshold, and thus +should trigger the beginning of a drag-and-drop operation. + + %TRUE if the drag threshold has been passed. + + + + + a #GtkWidget + + + + X coordinate of start of drag + + + + Y coordinate of start of drag + + + + current X coordinate + + + + current Y coordinate + + + + + + Add the image targets supported by #GtkSelection to +the target list of the drag destination. The targets +are added with @info = 0. If you need another value, +use gtk_target_list_add_image_targets() and +gtk_drag_dest_set_target_list(). + + + + + + a #GtkWidget that's a drag destination + + + + + + Add the text targets supported by #GtkSelection to +the target list of the drag destination. The targets +are added with @info = 0. If you need another value, +use gtk_target_list_add_text_targets() and +gtk_drag_dest_set_target_list(). + + + + + + a #GtkWidget that's a drag destination + + + + + + Add the URI targets supported by #GtkSelection to +the target list of the drag destination. The targets +are added with @info = 0. If you need another value, +use gtk_target_list_add_uri_targets() and +gtk_drag_dest_set_target_list(). + + + + + + a #GtkWidget that's a drag destination + + + + + + Looks for a match between @context->targets and the +returning %GDK_NONE. @dest_target_list should usually be the return +value from gtk_drag_dest_get_target_list(), but some widgets may +have different valid targets for different parts of the widget; in +that case, they will have to implement a drag_motion handler that +passes the correct target list to this function. + + first target that the source offers and the dest can accept, or %GDK_NONE + + + + + drag destination widget + + + + drag context + + + + list of droppable targets, or %NULL to use gtk_drag_dest_get_target_list (@widget). + + + + + + Returns the list of targets this widget can accept from +drag-and-drop. + + the #GtkTargetList, or %NULL if none + + + + + a #GtkWidget + + + + + + Returns whether the widget has been configured to always +emit ::drag-motion signals. + + %TRUE if the widget always emits ::drag-motion events + + + + + a #GtkWidget that's a drag destination + + + + + + Sets a widget as a potential drop destination, and adds default behaviors. +The default behaviors listed in @flags have an effect similar +to installing default handlers for the widget's drag-and-drop signals +(#GtkWidget:drag-motion, #GtkWidget:drag-drop, ...). They all exist +for convenience. When passing #GTK_DEST_DEFAULT_ALL for instance it is +sufficient to connect to the widget's #GtkWidget::drag-data-received +signal to get primitive, but consistent drag-and-drop support. +Things become more complicated when you try to preview the dragged data, +as described in the documentation for #GtkWidget:drag-motion. The default +behaviors described by @flags make some assumptions, that can conflict +with your own signal handlers. For instance #GTK_DEST_DEFAULT_DROP causes +invokations of gdk_drag_status() in the context of #GtkWidget:drag-motion, +and invokations of gtk_drag_finish() in #GtkWidget:drag-data-received. +Especially the later is dramatic, when your own #GtkWidget:drag-motion +handler calls gtk_drag_get_data() to inspect the dragged data. +There's no way to set a default action here, you can use the +#GtkWidget:drag-motion callback for that. Here's an example which selects +the action to use depending on whether the control key is pressed or not: +|[ +static void +drag_motion (GtkWidget *widget, +GdkDragContext *context, +gint x, +gint y, +guint time) +{ +GdkModifierType mask; +gdk_window_get_pointer (gtk_widget_get_window (widget), +NULL, NULL, &mask); +if (mask & GDK_CONTROL_MASK) +gdk_drag_status (context, GDK_ACTION_COPY, time); +else +gdk_drag_status (context, GDK_ACTION_MOVE, time); +} +]| + + + + + + a #GtkWidget + + + + which types of default drag behavior to use + + + + a pointer to an array of #GtkTargetEntry<!-- -->s indicating the drop types that this @widget will accept, or %NULL. Later you can access the list with gtk_drag_dest_get_target_list() and gtk_drag_dest_find_target(). + + + + + + the number of entries in @targets + + + + a bitmask of possible actions for a drop onto this @widget. + + + + + + + + + + + + + + + + + + + + + + + + + Sets the target types that this widget can accept from drag-and-drop. +The widget must first be made into a drag destination with +gtk_drag_dest_set(). + + + + + + a #GtkWidget that's a drag destination + + + + list of droppable targets, or %NULL for none + + + + + + Tells the widget to emit ::drag-motion and ::drag-leave +events regardless of the targets and the %GTK_DEST_DEFAULT_MOTION +flag. +This may be used when a widget wants to do generic +actions regardless of the targets that the source offers. + + + + + + a #GtkWidget that's a drag destination + + + + whether to accept all targets + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Changes the default drag icon. GTK+ retains references for the +arguments, and will release them when they are no longer needed. +changing the stock pixbuf for #GTK_STOCK_DND instead. + + + + + + the colormap of the icon + + + + the image data for the icon + + + + the transparency mask for an image, or %NULL + + + + The X offset within @widget of the hotspot. + + + + The Y offset within @widget of the hotspot. + + + + + + Sets the icon for a particular drag to the default +icon. + + + + + + the context for a drag. (This must be called + + + + + + Sets the icon for a given drag from a named themed icon. See +the docs for #GtkIconTheme for more details. Note that the +size of the icon depends on the icon theme (the icon is +loaded at the symbolic size #GTK_ICON_SIZE_DND), thus + + + + + + the context for a drag. (This must be called with a context for the source side of a drag) + + + + name of icon to use + + + + the X offset of the hotspot within the icon + + + + the Y offset of the hotspot within the icon + + + + + + Sets @pixbuf as the icon for a given drag. + + + + + + the context for a drag. (This must be called with a context for the source side of a drag) + + + + the #GdkPixbuf to use as the drag icon. + + + + the X offset within @widget of the hotspot. + + + + the Y offset within @widget of the hotspot. + + + + + + Sets @pixmap as the icon for a given drag. GTK+ retains +references for the arguments, and will release them when +they are no longer needed. In general, gtk_drag_set_icon_pixbuf() +will be more convenient to use. + + + + + + the context for a drag. (This must be called with a context for the source side of a drag) + + + + the colormap of the icon + + + + the image data for the icon + + + + the transparency mask for the icon or %NULL for none. + + + + the X offset within @pixmap of the hotspot. + + + + the Y offset within @pixmap of the hotspot. + + + + + + Sets the icon for a given drag from a stock ID. + + + + + + the context for a drag. (This must be called with a context for the source side of a drag) + + + + the ID of the stock icon to use for the drag. + + + + the X offset within the icon of the hotspot. + + + + the Y offset within the icon of the hotspot. + + + + + + Changes the icon for a widget to a given widget. GTK+ +will not destroy the icon, so if you don't want +it to persist, you should connect to the "drag-end" +signal and destroy it yourself. + + + + + + the context for a drag. (This must be called + + + + a toplevel window to use as an icon. + + + + the X offset within @widget of the hotspot. + + + + the Y offset within @widget of the hotspot. + + + + + + Add the writable image targets supported by #GtkSelection to +the target list of the drag source. The targets +are added with @info = 0. If you need another value, +use gtk_target_list_add_image_targets() and +gtk_drag_source_set_target_list(). + + + + + + a #GtkWidget that's is a drag source + + + + + + Add the text targets supported by #GtkSelection to +the target list of the drag source. The targets +are added with @info = 0. If you need another value, +use gtk_target_list_add_text_targets() and +gtk_drag_source_set_target_list(). + + + + + + a #GtkWidget that's is a drag source + + + + + + Add the URI targets supported by #GtkSelection to +the target list of the drag source. The targets +are added with @info = 0. If you need another value, +use gtk_target_list_add_uri_targets() and +gtk_drag_source_set_target_list(). + + + + + + a #GtkWidget that's is a drag source + + + + + + Gets the list of targets this widget can provide for +drag-and-drop. + + the #GtkTargetList, or %NULL if none + + + + + a #GtkWidget + + + + + + Sets up a widget so that GTK+ will start a drag operation when the user +clicks and drags on the widget. The widget must have a window. + + + + + + a #GtkWidget + + + + the bitmask of buttons that can start the drag + + + + the table of targets that the drag will support, may be %NULL + + + + + + the number of items in @targets + + + + the bitmask of possible actions for a drag from this widget + + + + + + Sets the icon that will be used for drags from a particular widget +from a pixmap/mask. GTK+ retains references for the arguments, and +will release them when they are no longer needed. +Use gtk_drag_source_set_icon_pixbuf() instead. + + + + + + a #GtkWidget + + + + the colormap of the icon + + + + the image data for the icon + + + + the transparency mask for an image. + + + + + + Sets the icon that will be used for drags from a particular source +to a themed icon. See the docs for #GtkIconTheme for more details. + + + + + + a #GtkWidget + + + + name of icon to use + + + + + + Sets the icon that will be used for drags from a particular widget +from a #GdkPixbuf. GTK+ retains a reference for @pixbuf and will +release it when it is no longer needed. + + + + + + a #GtkWidget + + + + the #GdkPixbuf for the drag icon + + + + + + Sets the icon that will be used for drags from a particular source +to a stock icon. + + + + + + a #GtkWidget + + + + the ID of the stock icon to use + + + + + + Changes the target types that this widget offers for drag-and-drop. +The widget must first be made into a drag source with +gtk_drag_source_set(). + + + + + + a #GtkWidget that's a drag source + + + + list of draggable targets, or %NULL for none + + + + + + + + + + + + + + + + + + + + + + + + + + Draws an arrow in the given rectangle on @window using the given +parameters. @arrow_type determines the direction of the arrow. + + + + + + a #GtkStyle + + + + a #GdkWindow + + + + a state + + + + the type of shadow to draw + + + + the type of arrow to draw + + + + %TRUE if the arrow tip should be filled + + + + x origin of the rectangle to draw the arrow in + + + + y origin of the rectangle to draw the arrow in + + + + width of the rectangle to draw the arrow in + + + + height of the rectangle to draw the arrow in + + + + + + Draws a box on @window with the given parameters. + + + + + + a #GtkStyle + + + + a #GdkWindow + + + + a state + + + + the type of shadow to draw + + + + x origin of the box + + + + y origin of the box + + + + the width of the box + + + + the height of the box + + + + + + Draws a box in @window using the given style and state and shadow type, +leaving a gap in one side. + + + + + + a #GtkStyle + + + + a #GdkWindow + + + + a state + + + + type of shadow to draw + + + + x origin of the rectangle + + + + y origin of the rectangle + + + + width of the rectangle + + + + width of the rectangle + + + + side in which to leave the gap + + + + starting position of the gap + + + + width of the gap + + + + + + Draws a check button indicator in the given rectangle on @window with +the given parameters. + + + + + + a #GtkStyle + + + + a #GdkWindow + + + + a state + + + + the type of shadow to draw + + + + x origin of the rectangle to draw the check in + + + + y origin of the rectangle to draw the check in + + + + the width of the rectangle to draw the check in + + + + the height of the rectangle to draw the check in + + + + + + Draws a diamond in the given rectangle on @window using the given +parameters. + + + + + + a #GtkStyle + + + + a #GdkWindow + + + + a state + + + + the type of shadow to draw + + + + x origin of the rectangle to draw the diamond in + + + + y origin of the rectangle to draw the diamond in + + + + width of the rectangle to draw the diamond in + + + + height of the rectangle to draw the diamond in + + + + + + Draws an expander as used in #GtkTreeView. + + + + + + a #GtkStyle + + + + a #GdkWindow + + + + a state + + + + the x position to draw the expander at + + + + the y position to draw the expander at + + + + the style to draw the expander in + + + + + + Draws an extension, i.e. a notebook tab. + + + + + + a #GtkStyle + + + + a #GdkWindow + + + + a state + + + + type of shadow to draw + + + + x origin of the extension + + + + y origin of the extension + + + + width of the extension + + + + width of the extension + + + + the side on to which the extension is attached + + + + + + Draws a flat box on @window with the given parameters. + + + + + + a #GtkStyle + + + + a #GdkWindow + + + + a state + + + + the type of shadow to draw + + + + x origin of the box + + + + y origin of the box + + + + the width of the box + + + + the height of the box + + + + + + Draws a focus indicator around the given rectangle on @window using the +given style. + + + + + + a #GtkStyle + + + + a #GdkWindow + + + + the x origin of the rectangle around which to draw a focus indicator + + + + the y origin of the rectangle around which to draw a focus indicator + + + + the width of the rectangle around which to draw a focus indicator + + + + the height of the rectangle around which to draw a focus indicator + + + + + + Draws a handle as used in #GtkHandleBox and #GtkPaned. + + + + + + a #GtkStyle + + + + a #GdkWindow + + + + a state + + + + type of shadow to draw + + + + x origin of the handle + + + + y origin of the handle + + + + with of the handle + + + + height of the handle + + + + the orientation of the handle + + + + + + Draws a horizontal line from (@x1, @y) to (@x2, @y) in @window +using the given style and state. + + + + + + a #GtkStyle + + + + a #GdkWindow + + + + a state + + + + the starting x coordinate + + + + the ending x coordinate + + + + the y coordinate + + + + + + Draws a text caret on @drawable at @location. This is not a style function +but merely a convenience function for drawing the standard cursor shape. + + + + + + a #GtkWidget + + + + a #GdkDrawable + + + + rectangle to which the output is clipped, or %NULL if the output should not be clipped + + + + location where to draw the cursor (@location->width is ignored) + + + + if the cursor should be the primary cursor color. + + + + whether the cursor is left-to-right or right-to-left. Should never be #GTK_TEXT_DIR_NONE + + + + %TRUE to draw a directional arrow on the cursor. Should be %FALSE unless the cursor is split. + + + + + + Draws a layout on @window using the given parameters. + + + + + + a #GtkStyle + + + + a #GdkWindow + + + + a state + + + + whether to use the text or foreground graphics context of @style + + + + x origin + + + + y origin + + + + the layout to draw + + + + + + Draws a radio button indicator in the given rectangle on @window with +the given parameters. + + + + + + a #GtkStyle + + + + a #GdkWindow + + + + a state + + + + the type of shadow to draw + + + + x origin of the rectangle to draw the option in + + + + y origin of the rectangle to draw the option in + + + + the width of the rectangle to draw the option in + + + + the height of the rectangle to draw the option in + + + + + + Draws a polygon on @window with the given parameters. + + + + + + a #GtkStyle + + + + a #GdkWindow + + + + a state + + + + type of shadow to draw + + + + an array of #GdkPoint<!-- -->s + + + + length of @points + + + + %TRUE if the polygon should be filled + + + + + + Draws a resize grip in the given rectangle on @window using the given +parameters. + + + + + + a #GtkStyle + + + + a #GdkWindow + + + + a state + + + + the edge in which to draw the resize grip + + + + the x origin of the rectangle in which to draw the resize grip + + + + the y origin of the rectangle in which to draw the resize grip + + + + the width of the rectangle in which to draw the resize grip + + + + the height of the rectangle in which to draw the resize grip + + + + + + Draws a shadow around the given rectangle in @window +using the given style and state and shadow type. + + + + + + a #GtkStyle + + + + a #GdkWindow + + + + a state + + + + type of shadow to draw + + + + x origin of the rectangle + + + + y origin of the rectangle + + + + width of the rectangle + + + + width of the rectangle + + + + + + Draws a shadow around the given rectangle in @window +using the given style and state and shadow type, leaving a +gap in one side. + + + + + + a #GtkStyle + + + + a #GdkWindow + + + + a state + + + + type of shadow to draw + + + + x origin of the rectangle + + + + y origin of the rectangle + + + + width of the rectangle + + + + width of the rectangle + + + + side in which to leave the gap + + + + starting position of the gap + + + + width of the gap + + + + + + Draws a slider in the given rectangle on @window using the +given style and orientation. + + + + + + a #GtkStyle + + + + + + + a state + + + + a shadow + + + + the x origin of the rectangle in which to draw a slider + + + + the y origin of the rectangle in which to draw a slider + + + + the width of the rectangle in which to draw a slider + + + + the height of the rectangle in which to draw a slider + + + + the orientation to be used + + + + + + Draws a text string on @window with the given parameters. + + + + + + a #GtkStyle + + + + a #GdkWindow + + + + a state + + + + x origin + + + + y origin + + + + the string to draw + + + + + + Draws an option menu tab (i.e. the up and down pointing arrows) +in the given rectangle on @window using the given parameters. + + + + + + a #GtkStyle + + + + a #GdkWindow + + + + a state + + + + the type of shadow to draw + + + + x origin of the rectangle to draw the tab in + + + + y origin of the rectangle to draw the tab in + + + + the width of the rectangle to draw the tab in + + + + the height of the rectangle to draw the tab in + + + + + + Draws a vertical line from (@x, @y1_) to (@x, @y2_) in @window +using the given style and state. + + + + + + a #GtkStyle + + + + a #GdkWindow + + + + a state + + + + the starting y coordinate + + + + the ending y coordinate + + + + the x coordinate + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Obtains a copy of the event currently being processed by GTK+. For +example, if you get a "clicked" signal from #GtkButton, the current +event will be the #GdkEventButton that triggered the "clicked" +signal. The returned event must be freed with gdk_event_free(). +If there is no current event, the function returns %NULL. + + a copy of the current event, or %NULL if no current event. + + + + + If there is a current event and it has a state field, place +that state field in @state and return %TRUE, otherwise return +%FALSE. + + %TRUE if there was a current event and it had a state field + + + + + a location to store the state of the current event + + + + + + If there is a current event and it has a timestamp, return that +timestamp, otherwise return %GDK_CURRENT_TIME. + + the timestamp from the current event, or %GDK_CURRENT_TIME. + + + + + Returns the #PangoLanguage for the default language currently in +effect. (Note that this can change over the life of an +application.) The default language is derived from the current +locale. It determines, for example, whether GTK+ uses the +right-to-left or left-to-right text direction. +This function is equivalent to pango_language_get_default(). See +that function for details. +freed + + the default language as a #PangoLanguage, must not be + + + + + If @event is %NULL or the event was not associated with any widget, +returns %NULL, otherwise returns the widget that received the event +originally. + + the widget that originally received @event, or %NULL + + + + + a #GdkEvent + + + + + + Returns a #GOptionGroup for the commandline arguments recognized +by GTK+ and GDK. You should add this group to your #GOptionContext +with g_option_context_add_group(), if you are using +g_option_context_parse() to parse your commandline arguments. +by GTK+ + + a #GOptionGroup for the commandline arguments recognized + + + + + whether to open the default display when parsing the commandline arguments + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Looks up the icon size associated with @name. + + the icon size + + + + + the name to look up. + + + + + + Gets the canonical name of the given icon size. The returned string +is statically allocated and should not be freed. + + the name of the given icon size. + + + + + a #GtkIconSize. + + + + + + Obtains the pixel size of a semantic icon size, possibly +modified by user preferences for the default #GtkSettings. +(See gtk_icon_size_lookup_for_settings().) +Normally @size would be +#GTK_ICON_SIZE_MENU, #GTK_ICON_SIZE_BUTTON, etc. This function +isn't normally needed, gtk_widget_render_icon() is the usual +way to get an icon for rendering, then just look at the size of +the rendered pixbuf. The rendered pixbuf may not even correspond to +the width/height returned by gtk_icon_size_lookup(), because themes +are free to render the pixbuf however they like, including changing +the usual size. + + %TRUE if @size was a valid size + + + + + an icon size + + + + location to store icon width + + + + location to store icon height + + + + + + Obtains the pixel size of a semantic icon size, possibly +modified by user preferences for a particular +#GtkSettings. Normally @size would be +#GTK_ICON_SIZE_MENU, #GTK_ICON_SIZE_BUTTON, etc. This function +isn't normally needed, gtk_widget_render_icon() is the usual +way to get an icon for rendering, then just look at the size of +the rendered pixbuf. The rendered pixbuf may not even correspond to +the width/height returned by gtk_icon_size_lookup(), because themes +are free to render the pixbuf however they like, including changing +the usual size. + + %TRUE if @size was a valid size + + + + + a #GtkSettings object, used to determine which set of user preferences to used. + + + + an icon size + + + + location to store icon width + + + + location to store icon height + + + + + + Registers a new icon size, along the same lines as #GTK_ICON_SIZE_MENU, +etc. Returns the integer value for the size. + + integer value representing the size + + + + + name of the icon size + + + + the icon width + + + + the icon height + + + + + + Registers @alias as another name for @target. +So calling gtk_icon_size_from_name() with @alias as argument +will return @target. + + + + + + an alias for @target + + + + an existing icon size + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Call this function before using any other GTK+ functions in your GUI +applications. It will initialize everything needed to operate the +toolkit and parses some standard command line options. @argc and +never see those standard arguments. +if you are calling gtk_parse_args(), gtk_init_check(), +gtk_init_with_args() or g_option_context_parse() with +the option group returned by gtk_get_option_group(), you +<emphasis>don't</emphasis> have to call gtk_init(). +<note><para> +This function will terminate your program if it was unable to initialize +the GUI for some reason. If you want your program to fall back to a +textual interface you want to call gtk_init_check() instead. +</para></note> +<note><para> +Since 2.18, GTK+ calls <literal>signal (SIGPIPE, SIG_IGN)</literal> +during initialization, to ignore SIGPIPE signals, since these are +almost never wanted in graphical applications. If you do need to +handle SIGPIPE for some reason, reset the handler after gtk_init(), +but notice that other libraries (e.g. libdbus or gvfs) might do +similar things. +</para></note> + + + + + + Address of the <parameter>argc</parameter> parameter of your main() function. Changed if any arguments were handled. + + + + Address of the <parameter>argv</parameter> parameter of main(). Any parameters understood by gtk_init() are stripped before return. + + + + + + + + + + + + + + + + + + + + + This function does the same work as gtk_init() with only +initialized. Instead it returns %FALSE on failure. +This way the application can fall back to some other means of communication +with the user - for example a curses or command line interface. +%FALSE otherwise. + + %TRUE if the GUI has been successfully initialized, + + + + + Address of the <parameter>argc</parameter> parameter of your main() function. Changed if any arguments were handled. + + + + Address of the <parameter>argv</parameter> parameter of main(). Any parameters understood by gtk_init() are stripped before return. + + + + + + + + This function does the same work as gtk_init_check(). +Additionally, it allows you to add your own commandline options, +and it automatically generates nicely formatted +<option>--help</option> output. Note that your program will +be terminated after writing out the help output. +%FALSE otherwise. + + %TRUE if the GUI has been successfully initialized, + + + + + a pointer to the number of command line arguments. + + + + a pointer to the array of command line arguments. + + + + a string which is displayed in the first line of <option>--help</option> output, after <literal><replaceable>programname</replaceable> [OPTION...]</literal> + + + + a %NULL-terminated array of #GOptionEntry<!-- -->s describing the options of your program + + + + a translation domain to use for translating the <option>--help</option> output for the options in @entries with gettext(), or %NULL + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Draws an arrow in the given rectangle on @window using the given +parameters. @arrow_type determines the direction of the arrow. + + + + + + a #GtkStyle + + + + a #GdkWindow + + + + a state + + + + the type of shadow to draw + + + + clip rectangle, or %NULL if the output should not be clipped + + + + the widget + + + + a style detail + + + + the type of arrow to draw + + + + %TRUE if the arrow tip should be filled + + + + x origin of the rectangle to draw the arrow in + + + + y origin of the rectangle to draw the arrow in + + + + width of the rectangle to draw the arrow in + + + + height of the rectangle to draw the arrow in + + + + + + Draws a box on @window with the given parameters. + + + + + + a #GtkStyle + + + + a #GdkWindow + + + + a state + + + + the type of shadow to draw + + + + clip rectangle, or %NULL if the output should not be clipped + + + + the widget + + + + a style detail + + + + x origin of the box + + + + y origin of the box + + + + the width of the box + + + + the height of the box + + + + + + Draws a box in @window using the given style and state and shadow type, +leaving a gap in one side. + + + + + + a #GtkStyle + + + + a #GdkWindow + + + + a state + + + + type of shadow to draw + + + + clip rectangle, or %NULL if the output should not be clipped + + + + the widget + + + + a style detail + + + + x origin of the rectangle + + + + y origin of the rectangle + + + + width of the rectangle + + + + width of the rectangle + + + + side in which to leave the gap + + + + starting position of the gap + + + + width of the gap + + + + + + Draws a check button indicator in the given rectangle on @window with +the given parameters. + + + + + + a #GtkStyle + + + + a #GdkWindow + + + + a state + + + + the type of shadow to draw + + + + clip rectangle, or %NULL if the output should not be clipped + + + + the widget + + + + a style detail + + + + x origin of the rectangle to draw the check in + + + + y origin of the rectangle to draw the check in + + + + the width of the rectangle to draw the check in + + + + the height of the rectangle to draw the check in + + + + + + Draws a diamond in the given rectangle on @window using the given +parameters. + + + + + + a #GtkStyle + + + + a #GdkWindow + + + + a state + + + + the type of shadow to draw + + + + clip rectangle, or %NULL if the output should not be clipped + + + + the widget + + + + a style detail + + + + x origin of the rectangle to draw the diamond in + + + + y origin of the rectangle to draw the diamond in + + + + width of the rectangle to draw the diamond in + + + + height of the rectangle to draw the diamond in + + + + + + Draws an expander as used in #GtkTreeView. @x and @y specify the +center the expander. The size of the expander is determined by the +"expander-size" style property of @widget. (If widget is not +specified or doesn't have an "expander-size" property, an +unspecified default size will be used, since the caller doesn't +have sufficient information to position the expander, this is +likely not useful.) The expander is expander_size pixels tall +in the collapsed position and expander_size pixels wide in the +expanded position. + + + + + + a #GtkStyle + + + + a #GdkWindow + + + + a state + + + + clip rectangle, or %NULL if the output should not be clipped + + + + the widget + + + + a style detail + + + + the x position to draw the expander at + + + + the y position to draw the expander at + + + + the style to draw the expander in; determines whether the expander is collapsed, expanded, or in an intermediate state. + + + + + + Draws an extension, i.e. a notebook tab. + + + + + + a #GtkStyle + + + + a #GdkWindow + + + + a state + + + + type of shadow to draw + + + + clip rectangle, or %NULL if the output should not be clipped + + + + the widget + + + + a style detail + + + + x origin of the extension + + + + y origin of the extension + + + + width of the extension + + + + width of the extension + + + + the side on to which the extension is attached + + + + + + Draws a flat box on @window with the given parameters. + + + + + + a #GtkStyle + + + + a #GdkWindow + + + + a state + + + + the type of shadow to draw + + + + clip rectangle, or %NULL if the output should not be clipped + + + + the widget + + + + a style detail + + + + x origin of the box + + + + y origin of the box + + + + the width of the box + + + + the height of the box + + + + + + Draws a focus indicator around the given rectangle on @window using the +given style. + + + + + + a #GtkStyle + + + + a #GdkWindow + + + + a state + + + + clip rectangle, or %NULL if the output should not be clipped + + + + the widget + + + + a style detail + + + + the x origin of the rectangle around which to draw a focus indicator + + + + the y origin of the rectangle around which to draw a focus indicator + + + + the width of the rectangle around which to draw a focus indicator + + + + the height of the rectangle around which to draw a focus indicator + + + + + + Draws a handle as used in #GtkHandleBox and #GtkPaned. + + + + + + a #GtkStyle + + + + a #GdkWindow + + + + a state + + + + type of shadow to draw + + + + clip rectangle, or %NULL if the output should not be clipped + + + + the widget + + + + a style detail + + + + x origin of the handle + + + + y origin of the handle + + + + with of the handle + + + + height of the handle + + + + the orientation of the handle + + + + + + Draws a horizontal line from (@x1, @y) to (@x2, @y) in @window +using the given style and state. + + + + + + a #GtkStyle + + + + a #GdkWindow + + + + a state + + + + rectangle to which the output is clipped, or %NULL if the output should not be clipped + + + + the widget + + + + a style detail + + + + the starting x coordinate + + + + the ending x coordinate + + + + the y coordinate + + + + + + Draws a layout on @window using the given parameters. + + + + + + a #GtkStyle + + + + a #GdkWindow + + + + a state + + + + whether to use the text or foreground graphics context of @style + + + + clip rectangle, or %NULL if the output should not be clipped + + + + the widget + + + + a style detail + + + + x origin + + + + y origin + + + + the layout to draw + + + + + + Draws a radio button indicator in the given rectangle on @window with +the given parameters. + + + + + + a #GtkStyle + + + + a #GdkWindow + + + + a state + + + + the type of shadow to draw + + + + clip rectangle, or %NULL if the output should not be clipped + + + + the widget + + + + a style detail + + + + x origin of the rectangle to draw the option in + + + + y origin of the rectangle to draw the option in + + + + the width of the rectangle to draw the option in + + + + the height of the rectangle to draw the option in + + + + + + Draws a polygon on @window with the given parameters. + + + + + + a #GtkStyle + + + + a #GdkWindow + + + + a state + + + + type of shadow to draw + + + + clip rectangle, or %NULL if the output should not be clipped + + + + the widget + + + + a style detail + + + + an array of #GdkPoint<!-- -->s + + + + length of @points + + + + %TRUE if the polygon should be filled + + + + + + Draws a resize grip in the given rectangle on @window using the given +parameters. + + + + + + a #GtkStyle + + + + a #GdkWindow + + + + a state + + + + clip rectangle, or %NULL if the output should not be clipped + + + + the widget + + + + a style detail + + + + the edge in which to draw the resize grip + + + + the x origin of the rectangle in which to draw the resize grip + + + + the y origin of the rectangle in which to draw the resize grip + + + + the width of the rectangle in which to draw the resize grip + + + + the height of the rectangle in which to draw the resize grip + + + + + + Draws a shadow around the given rectangle in @window +using the given style and state and shadow type. + + + + + + a #GtkStyle + + + + a #GdkWindow + + + + a state + + + + type of shadow to draw + + + + clip rectangle or %NULL if the output should not be clipped + + + + the widget + + + + a style detail + + + + x origin of the rectangle + + + + y origin of the rectangle + + + + width of the rectangle + + + + width of the rectangle + + + + + + Draws a shadow around the given rectangle in @window +using the given style and state and shadow type, leaving a +gap in one side. + + + + + + a #GtkStyle + + + + a #GdkWindow + + + + a state + + + + type of shadow to draw + + + + clip rectangle, or %NULL if the output should not be clipped + + + + the widget + + + + a style detail + + + + x origin of the rectangle + + + + y origin of the rectangle + + + + width of the rectangle + + + + width of the rectangle + + + + side in which to leave the gap + + + + starting position of the gap + + + + width of the gap + + + + + + Draws a slider in the given rectangle on @window using the +given style and orientation. + + + + + + a #GtkStyle + + + + a #GdkWindow + + + + a state + + + + a shadow + + + + clip rectangle, or %NULL if the output should not be clipped + + + + the widget + + + + a style detail + + + + the x origin of the rectangle in which to draw a slider + + + + the y origin of the rectangle in which to draw a slider + + + + the width of the rectangle in which to draw a slider + + + + the height of the rectangle in which to draw a slider + + + + the orientation to be used + + + + + + Draws a spinner on @window using the given parameters. + + + + + + a #GtkStyle + + + + a #GdkWindow + + + + a state + + + + clip rectangle, or %NULL if the output should not be clipped + + + + the widget (may be %NULL) + + + + a style detail (may be %NULL) + + + + the nth step, a value between 0 and #GtkSpinner:num-steps + + + + the x origin of the rectangle in which to draw the spinner + + + + the y origin of the rectangle in which to draw the spinner + + + + the width of the rectangle in which to draw the spinner + + + + the height of the rectangle in which to draw the spinner + + + + + + Draws a text string on @window with the given parameters. + + + + + + a #GtkStyle + + + + a #GdkWindow + + + + a state + + + + clip rectangle, or %NULL if the output should not be clipped + + + + the widget + + + + a style detail + + + + x origin + + + + y origin + + + + the string to draw + + + + + + Draws an option menu tab (i.e. the up and down pointing arrows) +in the given rectangle on @window using the given parameters. + + + + + + a #GtkStyle + + + + a #GdkWindow + + + + a state + + + + the type of shadow to draw + + + + clip rectangle, or %NULL if the output should not be clipped + + + + the widget + + + + a style detail + + + + x origin of the rectangle to draw the tab in + + + + y origin of the rectangle to draw the tab in + + + + the width of the rectangle to draw the tab in + + + + the height of the rectangle to draw the tab in + + + + + + Draws a vertical line from (@x, @y1_) to (@x, @y2_) in @window +using the given style and state. + + + + + + a #GtkStyle + + + + a #GdkWindow + + + + a state + + + + rectangle to which the output is clipped, or %NULL if the output should not be clipped + + + + the widget + + + + a style detail + + + + the starting y coordinate + + + + the ending y coordinate + + + + the x coordinate + + + + + + Returns the name of the default paper size, which +depends on the current locale. +is owned by GTK+ and should not be modified. + + the name of the default paper size. The string + + + + + Creates a list of known paper sizes. +allocated #GtkPaperSize objects + + a newly allocated list of newly + + + + + + + whether to include custom paper sizes as defined in the page setup dialog + + + + + + Parses command line arguments, and initializes global +attributes of GTK+, but does not actually open a connection +to a display. (See gdk_display_open(), gdk_get_display_arg_name()) +Any arguments used by GTK+ or GDK are removed from the array and +You shouldn't call this function explicitely if you are using +gtk_init(), or gtk_init_check(). + + %TRUE if initialization succeeded, otherwise %FALSE. + + + + + a pointer to the number of command line arguments. + + + + a pointer to the array of command line arguments. + + + + + + + + Runs a page setup dialog, letting the user modify the values from +is identical to the passed in @page_setup, otherwise it contains the +modifications done in the dialog. +Note that this function may use a recursive mainloop to show the page +setup dialog. See gtk_print_run_page_setup_dialog_async() if this is +a problem. + + a new #GtkPageSetup + + + + + transient parent + + + + an existing #GtkPageSetup + + + + a #GtkPrintSettings + + + + + + Runs a page setup dialog, letting the user modify the values from @page_setup. +In contrast to gtk_print_run_page_setup_dialog(), this function returns after +showing the page setup dialog on platforms that support this, and calls @done_cb +from a signal handler for the ::response signal of the dialog. + + + + + + transient parent, or %NULL + + + + an existing #GtkPageSetup, or %NULL + + + + a #GtkPrintSettings + + + + a function to call when the user saves the modified page setup + + + + user data to pass to @done_cb + + + + + + Sends an event to a widget, propagating the event to parent widgets +if the event remains unhandled. Events received by GTK+ from GDK +normally begin in gtk_main_do_event(). Depending on the type of +event, existence of modal dialogs, grabs, etc., the event may be +propagated; if so, this function is used. gtk_propagate_event() +calls gtk_widget_event() on each widget it decides to send the +event to. So gtk_widget_event() is the lowest-level function; it +simply emits the "event" and possibly an event-specific signal on a +widget. gtk_propagate_event() is a bit higher-level, and +gtk_main_do_event() is the highest level. +All that said, you most likely don't want to use any of these +functions; synthesizing events is rarely needed. Consider asking on +the mailing list for better ways to achieve your goals. For +example, use gdk_window_invalidate_rect() or +gtk_widget_queue_draw() instead of making up expose events. + + + + + + a #GtkWidget + + + + an event + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Adds a file to the list of files to be parsed at the +end of gtk_init(). + + + + + + the pathname to the file. If @filename is not absolute, it is searched in the current directory. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Searches for a theme engine in the GTK+ search path. This function +is not useful for applications and should not be used. +otherwise %NULL. + + The filename, if found (must be freed with g_free()), + + + + + name of a theme engine + + + + + + Looks up a file in pixmap path for the specified #GtkSettings. +If the file is not found, it outputs a warning message using +g_warning() and returns %NULL. + + the filename. + + + + + a #GtkSettings + + + + Scanner used to get line number information for the warning message, or %NULL + + + + name of the pixmap file to locate. + + + + + + Retrieves the current list of RC files that will be parsed +at the end of gtk_init(). +is owned by GTK+ and must not be freed by the application. +If you want to store this information, you should make a copy. + + A %NULL-terminated array of filenames. This memory + + + + + + + Obtains the path to the IM modules file. See the documentation +of the <link linkend="im-module-file"><envar>GTK_IM_MODULE_FILE</envar></link> +environment variable for more details. + + a newly-allocated string containing the name of the file listing the IM modules available for loading + + + + + Obtains the path in which to look for IM modules. See the documentation +of the <link linkend="im-module-path"><envar>GTK_PATH</envar></link> +environment variable for more details about looking up modules. This +function is useful solely for utilities supplied with GTK+ and should +not be used by applications under normal circumstances. + + a newly-allocated string containing the path in which to look for IM modules. + + + + + Returns a directory in which GTK+ looks for theme engines. +For full information about the search for theme engines, +see the docs for <envar>GTK_PATH</envar> in +<xref linkend="gtk-running"/>. + + the directory. (Must be freed with g_free()) + + + + + Finds all matching RC styles for a given widget, +composites them together, and then creates a +#GtkStyle representing the composite appearance. +(GTK+ actually keeps a cache of previously +created styles, so a new style may not be +created.) +to the returned style, so if you want to save this +style around, you should add a reference yourself. + + the resulting style. No refcount is added + + + + + a #GtkWidget + + + + + + Creates up a #GtkStyle from styles defined in a RC file by providing +the raw components used in matching. This function may be useful +when creating pseudo-widgets that should be themed like widgets but +don't actually have corresponding GTK+ widgets. An example of this +would be items inside a GNOME canvas widget. +The action of gtk_rc_get_style() is similar to: +|[ +gtk_widget_path (widget, NULL, &path, NULL); +gtk_widget_class_path (widget, NULL, &class_path, NULL); +gtk_rc_get_style_by_paths (gtk_widget_get_settings (widget), +path, class_path, +G_OBJECT_TYPE (widget)); +]| +or %NULL if nothing matching was specified and the default style should +be used. The returned value is owned by GTK+ as part of an internal cache, +so you must call g_object_ref() on the returned value if you want to +keep a reference to it. + + A style created by matching with the supplied paths, + + + + + a #GtkSettings object + + + + the widget path to use when looking up the style, or %NULL if no matching against the widget path should be done + + + + the class path to use when looking up the style, or %NULL if no matching against the class path should be done. + + + + a type that will be used along with parent types of this type when matching against class styles, or #G_TYPE_NONE + + + + + + + + + + + + + + + + + + + + + Parses a color in the <link linkend="color=format">format</link> expected +in a RC file. +Note that theme engines should use gtk_rc_parse_color_full() in +order to support symbolic colors. +that was expected but not found + + %G_TOKEN_NONE if parsing succeeded, otherwise the token + + + + + a #GScanner + + + + a pointer to a #GdkColor structure in which to store the result + + + + + + Parses a color in the <link linkend="color=format">format</link> expected +in a RC file. If @style is not %NULL, it will be consulted to resolve +references to symbolic colors. +that was expected but not found + + %G_TOKEN_NONE if parsing succeeded, otherwise the token + + + + + a #GScanner + + + + a #GtkRcStyle, or %NULL + + + + a pointer to a #GdkColor structure in which to store the result + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A #GtkRcPropertyParser for use with gtk_settings_install_property_parser() +or gtk_widget_class_install_style_property_parser() which parses +borders in the form +<literal>"{ left, right, top, bottom }"</literal> for integers +%left, %right, %top and %bottom. +has been set to the resulting #GtkBorder. + + %TRUE if @gstring could be parsed and @property_value + + + + + a #GParamSpec + + + + the #GString to be parsed + + + + a #GValue which must hold boxed values. + + + + + + A #GtkRcPropertyParser for use with gtk_settings_install_property_parser() +or gtk_widget_class_install_style_property_parser() which parses a +color given either by its name or in the form +<literal>{ red, green, blue }</literal> where %red, %green and +%blue are integers between 0 and 65535 or floating-point numbers +between 0 and 1. +has been set to the resulting #GdkColor. + + %TRUE if @gstring could be parsed and @property_value + + + + + a #GParamSpec + + + + the #GString to be parsed + + + + a #GValue which must hold #GdkColor values. + + + + + + A #GtkRcPropertyParser for use with gtk_settings_install_property_parser() +or gtk_widget_class_install_style_property_parser() which parses a single +enumeration value. +The enumeration value can be specified by its name, its nickname or +its numeric value. For consistency with flags parsing, the value +may be surrounded by parentheses. +has been set to the resulting #GEnumValue. + + %TRUE if @gstring could be parsed and @property_value + + + + + a #GParamSpec + + + + the #GString to be parsed + + + + a #GValue which must hold enum values. + + + + + + A #GtkRcPropertyParser for use with gtk_settings_install_property_parser() +or gtk_widget_class_install_style_property_parser() which parses flags. +Flags can be specified by their name, their nickname or +numerically. Multiple flags can be specified in the form +<literal>"( flag1 | flag2 | ... )"</literal>. +has been set to the resulting flags value. + + %TRUE if @gstring could be parsed and @property_value + + + + + a #GParamSpec + + + + the #GString to be parsed + + + + a #GValue which must hold flags values. + + + + + + A #GtkRcPropertyParser for use with gtk_settings_install_property_parser() +or gtk_widget_class_install_style_property_parser() which parses a +requisition in the form +<literal>"{ width, height }"</literal> for integers %width and %height. +has been set to the resulting #GtkRequisition. + + %TRUE if @gstring could be parsed and @property_value + + + + + a #GParamSpec + + + + the #GString to be parsed + + + + a #GValue which must hold boxed values. + + + + + + If the modification time on any previously read file for the +default #GtkSettings has changed, discard all style information +and then reread all previously read RC files. + + %TRUE if the files were reread. + + + + + If the modification time on any previously read file +for the given #GtkSettings has changed, discard all style information +and then reread all previously read RC files. + + %TRUE if the files were reread. + + + + + a #GtkSettings + + + + load whether or not anything changed + + + + + + This function recomputes the styles for all widgets that use a +particular #GtkSettings object. (There is one #GtkSettings object +per #GdkScreen, see gtk_settings_get_for_screen()); It is useful +when some global parameter has changed that affects the appearance +of all widgets, because when a widget gets a new style, it will +both redraw and recompute any cached information about its +appearance. As an example, it is used when the default font size +set by the operating system changes. Note that this function +doesn't affect widgets that have a style set explicitely on them +with gtk_widget_set_style(). + + + + + + a #GtkSettings + + + + + + + + + + + Sets the list of files that GTK+ will read at the +end of gtk_init(). + + + + + + A %NULL-terminated list of filenames. + + + + + + + + Converts a color from RGB space to HSV. +Input values must be in the [0.0, 1.0] range; +output values will be in the same range. + + + + + + Red + + + + Green + + + + Blue + + + + Return value for the hue component + + + + Return value for the saturation component + + + + Return value for the value component + + + + + + Appends a specified target to the list of supported targets for a +given widget and selection. + + + + + + a #GtkTarget + + + + the selection + + + + target to add. + + + + A unsigned integer which will be passed back to the application. + + + + + + Prepends a table of targets to the list of supported targets +for a given widget and selection. + + + + + + a #GtkWidget + + + + the selection + + + + a table of targets to add + + + + number of entries in @targets + + + + + + The default handler for the #GtkWidget::selection-clear-event +signal. +your selection-clear-event handler. Calling this function +from any other context is illegal. + + %TRUE if the event was handled, otherwise false + + + + + a #GtkWidget + + + + the event + + + + + + Remove all targets registered for the given selection for the +widget. + + + + + + a #GtkWidget + + + + an atom representing a selection + + + + + + Requests the contents of a selection. When received, +a "selection-received" signal will be generated. +request. (e.g., there was already a request in process for +this widget). + + %TRUE if requested succeeded. %FALSE if we could not process + + + + + The widget which acts as requestor + + + + Which selection to get + + + + Form of information desired (e.g., STRING) + + + + Time of request (usually of triggering event) + + + + + + Claims ownership of a given selection for a particular widget, +or, if @widget is %NULL, release ownership of the selection. + + %TRUE if the operation succeeded + + + + + a #GtkWidget, or %NULL. + + + + an interned atom representing the selection to claim + + + + timestamp with which to claim the selection + + + + + + Claim ownership of a given selection for a particular widget, or, +if @widget is %NULL, release ownership of the selection. + + TRUE if the operation succeeded + + + + + the #Gdkdisplay where the selection is set + + + + new selection owner (a #GdkWidget), or %NULL. + + + + an interned atom representing the selection to claim. + + + + timestamp with which to claim the selection + + + + + + 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. + + + + + + a #GtkWidget + + + + + + Initializes internationalization support for GTK+. gtk_init() +automatically does this, so there is typically no point +in calling this function. +If you are calling this function because you changed the locale +after GTK+ is was initialized, then calling this function +may help a bit. (Note, however, that changing the locale +after GTK+ is initialized may produce inconsistent results and +is not really supported.) +In detail - sets the current locale according to the +program environment. This is the same as calling the C library function +<literal>setlocale (LC_ALL, "")</literal> but also takes care of the +locale specific setup of the windowing system used by GDK. +form lang_COUNTRY, where lang is an ISO-639 language code, and +COUNTRY is an ISO-3166 country code. On Unix, this form matches the +result of the setlocale(); it is also used on other machines, such as +Windows, where the C library returns a different result. The string is +owned by GTK+ and should not be modified or freed. + + a string corresponding to the locale set, typically in the + + + + + This is a convenience function for showing an application's about box. +The constructed dialog is associated with the parent window and +reused for future invocations of this function. + + + + + + transient parent, or %NULL for none + + + + the name of the first property + + + + + + + + + + This is a convenience function for launching the default application +to show the uri. The uri must be of a form understood by GIO. Typical +examples are +<simplelist> +<member><filename>file:///home/gnome/pict.jpg</filename></member> +<member><filename>http://www.gnome.org</filename></member> +<member><filename>mailto:me&commat;gnome.org</filename></member> +</simplelist> +Ideally the timestamp is taken from the event triggering +the gtk_show_uri() call. If timestamp is not known you can take +%GDK_CURRENT_TIME. +This function can be used as a replacement for gnome_vfs_url_show() +and gnome_url_show(). + + %TRUE on success, %FALSE on error. + + + + + screen to show the uri on or %NULL for the default screen + + + + the uri to show + + + + a timestamp to prevent focus stealing. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Registers each of the stock items in @items. If an item already +exists with the same stock ID as one of the @items, the old item +gets replaced. The stock items are copied, so GTK+ does not hold +any pointer into @items and @items can be freed. Use +gtk_stock_add_static() if @items is persistent and GTK+ need not +copy the array. + + + + + + a #GtkStockItem or array of items + + + + number of #GtkStockItem in @items + + + + + + Same as gtk_stock_add(), but doesn't copy @items, so + + + + + + a #GtkStockItem or array of #GtkStockItem + + + + number of items + + + + + + Retrieves a list of all known stock IDs added to a #GtkIconFactory +or registered with gtk_stock_add(). The list must be freed with g_slist_free(), +and each string in the list must be freed with g_free(). + + a list of known stock IDs + + + + + + + Fills @item with the registered values for @stock_id, returning %TRUE +if @stock_id was known. + + %TRUE if @item was initialized + + + + + a stock item name + + + + stock item to initialize with values + + + + + + Sets a function to be used for translating the @label of +a stock item. +If no function is registered for a translation domain, +g_dgettext() is used. +The function is used for all stock items whose +to use strings different from the actual gettext translation domain +of your application for this, as long as your #GtkTranslateFunc uses +the correct domain when calling dgettext(). This can be useful, e.g. +when dealing with message contexts: +|[ +GtkStockItem items[] = { +{ MY_ITEM1, NC_("odd items", "Item 1"), 0, 0, "odd-item-domain" }, +{ MY_ITEM2, NC_("even items", "Item 2"), 0, 0, "even-item-domain" }, +}; +gchar * +my_translate_func (const gchar *msgid, +gpointer data) +{ +gchar *msgctxt = data; +return (gchar*)g_dpgettext2 (GETTEXT_PACKAGE, msgctxt, msgid); +} +/&ast; ... &ast;/ +gtk_stock_add (items, G_N_ELEMENTS (items)); +gtk_stock_set_translate_func ("odd-item-domain", my_translate_func, "odd items"); +gtk_stock_set_translate_func ("even-item-domain", my_translate_func, "even items"); +]| + + + + + + the translation domain for which @func shall be used + + + + a #GtkTranslateFunc + + + + data to pass to @func + + + + a #GDestroyNotify that is called when @data is no longer needed + + + + + + This function frees a target table as returned by +gtk_target_table_new_from_list() + + + + + + a #GtkTargetEntry array + + + + the number of entries in the array + + + + + + This function creates an #GtkTargetEntry array that contains the +same targets as the passed %list. The returned table is newly +allocated and should be freed using gtk_target_table_free() when no +longer needed. + + the new table. + + + + + a #GtkTargetList + + + + return location for the number ot targets in the table + + + + + + Determines if any of the targets in @targets can be used to +provide a #GdkPixbuf. +otherwise %FALSE. + + %TRUE if @targets include a suitable target for images, + + + + + an array of #GdkAtom<!-- -->s + + + + the length of @targets + + + + whether to accept only targets for which GTK+ knows how to convert a pixbuf into the format + + + + + + Determines if any of the targets in @targets can be used to +provide rich text. +otherwise %FALSE. + + %TRUE if @targets include a suitable target for rich text, + + + + + an array of #GdkAtom<!-- -->s + + + + the length of @targets + + + + a #GtkTextBuffer + + + + + + Determines if any of the targets in @targets can be used to +provide text. +otherwise %FALSE. + + %TRUE if @targets include a suitable target for text, + + + + + an array of #GdkAtom<!-- -->s + + + + the length of @targets + + + + + + Determines if any of the targets in @targets can be used to +provide an uri list. +otherwise %FALSE. + + %TRUE if @targets include a suitable target for uri lists, + + + + + an array of #GdkAtom<!-- -->s + + + + the length of @targets + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + This function is used to initialize a GTK+ test program. +It will in turn call g_test_init() and gtk_init() to properly +initialize the testing framework and graphical toolkit. It'll +also set the program's locale to "C" and prevent loading of rc +files and Gtk+ modules. This is done to make tets program +environments as deterministic as possible. +Like gtk_init() and g_test_init(), any known arguments will be +processed and stripped from @argc and @argv. + + + + + + Address of the <parameter>argc</parameter> parameter of the main() function. Changed if any arguments were handled. + + + + Address of the <parameter>argv</parameter> parameter of main(). Any parameters understood by g_test_init() or gtk_init() are stripped before return. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Obtains a @tree_model and @path from selection data of target type +%GTK_TREE_MODEL_ROW. Normally called from a drag_data_received handler. +This function can only be used if @selection_data originates from the same +process that's calling this function, because a pointer to the tree model +is being passed around. If you aren't in the same process, then you'll +get memory corruption. In the #GtkTreeDragDest drag_data_received handler, +you can assume that selection data of type %GTK_TREE_MODEL_ROW is +in from the current process. The returned path must be freed with +gtk_tree_path_free(). +is otherwise valid + + %TRUE if @selection_data had target type %GTK_TREE_MODEL_ROW and + + + + + a #GtkSelectionData + + + + a #GtkTreeModel + + + + row in @tree_model + + + + + + Lets a set of row reference created by gtk_tree_row_reference_new_proxy() +know that the model emitted the "row_deleted" signal. + + + + + + A #GObject + + + + The path position that was deleted + + + + + + Lets a set of row reference created by gtk_tree_row_reference_new_proxy() +know that the model emitted the "row_inserted" signal. + + + + + + A #GObject + + + + The row position that was inserted + + + + + + Lets a set of row reference created by gtk_tree_row_reference_new_proxy() +know that the model emitted the "rows_reordered" signal. + + + + + + A #GObject + + + + The parent path of the reordered signal + + + + The iter pointing to the parent of the reordered + + + + The new order of rows + + + + + + Sets selection data of target type %GTK_TREE_MODEL_ROW. Normally used +in a drag_data_get handler. + + %TRUE if the #GtkSelectionData had the proper target type to allow us to set a tree row + + + + + some #GtkSelectionData + + + + a #GtkTreeModel + + + + a row in @tree_model + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/GtkClutter-0.10.gir b/GtkClutter-0.10.gir new file mode 100644 index 0000000..72a0a01 --- /dev/null +++ b/GtkClutter-0.10.gir @@ -0,0 +1,884 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + Extension of the #ClutterInitError enumeration for the integration +with GTK+ + + + + + An enumeration of error types used in ClutterGtk texture functions + + + + + A #GtkWidget containing the default Clutter stage. + + + + Creates a new #GtkClutterEmbed widget. This widget can be +used to build a scene using Clutter API into a GTK+ application. + + the newly created #GtkClutterEmbed + + + + + Retrieves the #ClutterStage from @embed. The returned stage can be +used to add actors to the Clutter scene. +the returned actor. + + the Clutter stage. You should never destroy or unref + + + + + + + + + + + + Base class for #GtkClutterEmbed. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Sets the horizontal and vertical adjustments used to determine +the position of the scrollable actor. + + + + + + a #GtkAdjustment, or %NULL + + + + a #GtkAdjustment, or %NULL + + + + + + Retrieves the horizontal and vertical adjustments used to +determine the position of the scrollable actor. + + + + + + return location for a #GtkAdjustment, or %NULL + + + + return location for a #GtkAdjustment, or %NULL + + + + + + Sets the horizontal and vertical adjustments used to determine +the position of the scrollable actor. + + + + + + a #GtkAdjustment, or %NULL + + + + a #GtkAdjustment, or %NULL + + + + + + Retrieves the horizontal and vertical adjustments used to +determine the position of the scrollable actor. + + + + + + return location for a #GtkAdjustment, or %NULL + + + + return location for a #GtkAdjustment, or %NULL + + + + + + The #GtkAdjustment that determines the value of the +horizontal position for this scrollable actor. + + + + The #GtkAdjustment that determines the value of the +vertical position for this scrollable actor. + + + + + The #GtkClutterScrollableIface structure contains only private data +and should be accessed using the provided functions. + + + + + + + + + + + + + + a #GtkAdjustment, or %NULL + + + + a #GtkAdjustment, or %NULL + + + + + + + + + + + + + + + + return location for a #GtkAdjustment, or %NULL + + + + return location for a #GtkAdjustment, or %NULL + + + + + + + + The #GtkClutterViewport structure contains only private data and +should be accessed using the provided functions. + + + + + + Creates a new #GtkClutterViewport with the given adjustments. + + the newly created viewport actor + + + + + horizontal adjustment, or %NULL + + + + vertical adjustment, or %NULL + + + + zoom adjustment, or %NULL + + + + + + Retrieves the current translation factor ("origin") used when +displaying the child of @viewport. + + + + + + return location for the X origin in pixels, or %NULL + + + + return location for the Y origin in pixels, or %NULL + + + + return location for the Z origin in pixels, or %NULL + + + + + + The #ClutterActor inside the viewport. + + + + The current origin of the viewport. You should use the +vertex to convert event coordinates for the child of the +viewport. + + + + + + + + + + + The #GtkClutterViewportClass structure contains only private data and +should be accessed using the provided functions. + + + + + + + + + Sets the adjustment used to determine the zoom factor of +the zoomable actor + + + + + + a #GtkAdjustment, or %NULL + + + + + + Retrieves the adjustment used to determine the zoom factor of +the zoomable actor + + a #GtkAdjustment + + + + + Sets the adjustment used to determine the zoom factor of +the zoomable actor + + + + + + a #GtkAdjustment, or %NULL + + + + + + Retrieves the adjustment used to determine the zoom factor of +the zoomable actor + + a #GtkAdjustment + + + + + The #GtkAdjustment that determines the value of +the zoom factor for this zoomable actor + + + + + The #GtkClutterZoomableIface structure contains only private data + + + + + + + + + + + + + + a #GtkAdjustment, or %NULL + + + + + + + + + a #GtkAdjustment + + + + + + + + + + + + Retrieves the base color of @widget for the given @state and copies it +into @color. + + + + + + a #GtkWidget + + + + a state + + + + return location for a #ClutterColor + + + + + + Retrieves the background color of @widget for the given @state and copies +it into @color. + + + + + + a #GtkWidget + + + + a state + + + + return location for a #ClutterColor + + + + + + Retrieves the dark color of @widget for the given @state and copies it +into @color. + + + + + + a #GtkWidget + + + + a state + + + + return location for a #ClutterColor + + + + + + Retrieves the foreground color of @widget for the given @state and copies +it into @color. + + + + + + a #GtkWidget + + + + a state + + + + return location for a #ClutterColor + + + + + + Retrieves the light color of @widget for the given @state and copies it +into @color. + + + + + + a #GtkWidget + + + + a state + + + + return location for a #ClutterColor + + + + + + Retrieves the mid color of @widget for the given @state and copies it +into @color. + + + + + + a #GtkWidget + + + + a state + + + + return location for a #ClutterColor + + + + + + Retrieves the text-aa color of @widget for the given @state and copies it +into @color. + + + + + + a #GtkWidget + + + + a state + + + + return location for a #ClutterColor + + + + + + Retrieves the text color of @widget for the given @state and copies it +into @color. + + + + + + a #GtkWidget + + + + a state + + + + return location for a #ClutterColor + + + + + + This function should be called instead of clutter_init() and +gtk_init(). +on failure. + + %CLUTTER_INIT_SUCCESS on success, a negative integer + + + + + pointer to the arguments count, or %NULL + + + + pointer to the arguments vector, or %NULL + + + + + + This function should be called instead of clutter_init() and +gtk_init_with_args(). +on failure. + + %CLUTTER_INIT_SUCCESS on success, a negative integer + + + + + a pointer to the number of command line arguments. + + + + a pointer to the array of command line arguments. + + + + a string which is displayed in the first line of <option>--help</option> output, after <literal><replaceable>programname</replaceable> [OPTION...]</literal> + + + + a %NULL-terminated array of #GOptionEntry<!-- -->s describing the options of your program + + + + a translation domain to use for translating the <option>--help</option> output for the options in @entries with gettext(), or %NULL + + + + + + Creates a new #ClutterTexture and sets its contents to be +the @icon_name from the current icon theme. +was %NULL and @icon_name was not found. + + the newly created texture, or %NULL if @widget + + + + + a #GtkWidget or %NULL + + + + the name of the icon + + + + the size of the icon, or -1 + + + + + + Creates a new #ClutterTexture and sets its contents with a copy +of @pixbuf. + + the newly created #ClutterTexture + + + + + a #GdkPixbuf + + + + + + Creates a new #ClutterTexture and sets its contents using the stock +icon @stock_id as rendered by @widget. + + the newly created #ClutterTexture + + + + + a #GtkWidget + + + + the stock id of the icon + + + + the size of the icon, or -1 + + + + + + Sets the contents of @texture using the @icon_name from the +current icon theme. + + %TRUE on success, %FALSE on failure. + + + + + a #ClutterTexture + + + + a #GtkWidget or %NULL + + + + the name of the icon + + + + the icon size or -1 + + + + + + Sets the contents of @texture with a copy of @pixbuf. + + %TRUE on success, %FALSE on failure. + + + + + a #ClutterTexture + + + + a #GdkPixbuf + + + + + + Sets the contents of @texture using the stock icon @stock_id, as +rendered by @widget. + + %TRUE on success, %FALSE on failure. + + + + + a #ClutterTexture + + + + a #GtkWidget + + + + the stock id of the icon + + + + the size of the icon, or -1 + + + + + + diff --git a/GtkClutter-0.90.gir b/GtkClutter-0.90.gir new file mode 100644 index 0000000..c2db77f --- /dev/null +++ b/GtkClutter-0.90.gir @@ -0,0 +1,1459 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + A ClutterActor containing a #GtkWidget. + + + + Creates a new #GtkClutterActor widget. This widget can be +used to embed a Gtk widget into a clutter scene. + + the newly created #GtkClutterActor + + + + + Creates a new #GtkClutterActor widget. This widget can be +used to embed a Gtk widget into a clutter scene. +This function is shorthand for: +<example><programlisting> +ClutterActor *actor = gtk_clutter_actor_new (); +GtkWidget *bin = gtk_clutter_actor_get_widget (GTK_CLUTTER_ACTOR (actor)); +gtk_container_add (GTK_CONTAINER (bin), contents); +</programlisting></example> + + the newly created #GtkClutterActor + + + + + a #GtkWidget to pack into this #ClutterActor + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Base class for #GtkClutterActor. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Extension of the #ClutterInitError enumeration for the integration +with GTK+ + + + + + An enumeration of error types used in ClutterGtk texture functions + + + + + A #GtkWidget containing the default Clutter stage. + + + + Creates a new #GtkClutterEmbed widget. This widget can be +used to build a scene using Clutter API into a GTK+ application. + + the newly created #GtkClutterEmbed + + + + + Retrieves the #ClutterStage from @embed. The returned stage can be +used to add actors to the Clutter scene. +the returned actor. + + the Clutter stage. You should never destroy or unref + + + + + + + + + + + + Base class for #GtkClutterEmbed. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Sets the horizontal and vertical adjustments used to determine +the position of the scrollable actor. + + + + + + a #GtkAdjustment, or %NULL + + + + a #GtkAdjustment, or %NULL + + + + + + Retrieves the horizontal and vertical adjustments used to +determine the position of the scrollable actor. + + + + + + return location for a #GtkAdjustment, or %NULL + + + + return location for a #GtkAdjustment, or %NULL + + + + + + Sets the horizontal and vertical adjustments used to determine +the position of the scrollable actor. + + + + + + a #GtkAdjustment, or %NULL + + + + a #GtkAdjustment, or %NULL + + + + + + Retrieves the horizontal and vertical adjustments used to +determine the position of the scrollable actor. + + + + + + return location for a #GtkAdjustment, or %NULL + + + + return location for a #GtkAdjustment, or %NULL + + + + + + The #GtkAdjustment that determines the value of the +horizontal position for this scrollable actor. + + + + The #GtkAdjustment that determines the value of the +vertical position for this scrollable actor. + + + + + The #GtkClutterScrollableIface structure contains only private data +and should be accessed using the provided functions. + + + + + + + + + + + + + + a #GtkAdjustment, or %NULL + + + + a #GtkAdjustment, or %NULL + + + + + + + + + + + + + + + + return location for a #GtkAdjustment, or %NULL + + + + return location for a #GtkAdjustment, or %NULL + + + + + + + + A #GtkWidget containing the default Clutter stage. + + + + Creates a new #GtkClutterStandin widget. This widget is used as a stand-in +in the GTK+ widget tree for a widget that is sitting as a separate actor +on the #ClutterStage this widget is sat on. +This requires the widget tree to be embedded within a #GtkClutterActor. + + the newly created #GtkClutterStandin + + + + + the #ClutterActor to stand-in for (or NULL) + + + + + + Sets the actor for which the #GtkClutterStandin stands for + + + + + + a #ClutterActor to stand in for, or %NULL + + + + + + Retrieves a pointer to the actor that is represented by the standin widget + + a #ClutterActor or %NULL + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Base class for #GtkClutterStandin. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The #GtkClutterViewport structure contains only private data and +should be accessed using the provided functions. + + + + + + Creates a new #GtkClutterViewport with the given adjustments. + + the newly created viewport actor + + + + + horizontal adjustment, or %NULL + + + + vertical adjustment, or %NULL + + + + zoom adjustment, or %NULL + + + + + + Retrieves the current translation factor ("origin") used when +displaying the child of @viewport. + + + + + + return location for the X origin in pixels, or %NULL + + + + return location for the Y origin in pixels, or %NULL + + + + return location for the Z origin in pixels, or %NULL + + + + + + The #ClutterActor inside the viewport. + + + + The current origin of the viewport. You should use the +vertex to convert event coordinates for the child of the +viewport. + + + + + + + + + + + The #GtkClutterViewportClass structure contains only private data and +should be accessed using the provided functions. + + + + + + + + A ClutterWindow containing a #GtkWidget. + + + + Creates a new #GtkClutterWindow widget. This window provides a hidden +ClutterStage on which the child GtkWidgets are placed. This allows other +ClutterActors to also be placed on the stage. + + the newly created #GtkClutterWindow + + + + + Retrieves the #ClutterStage that this window is mounting the GTK+ widget +tree onto. +Use this function if you wish to add other actors to the #ClutterStage. + + the window's #ClutterStage + + + + + + + + + + + + + + + + + Base class for #GtkClutterWindow. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Sets the adjustment used to determine the zoom factor of +the zoomable actor + + + + + + a #GtkAdjustment, or %NULL + + + + + + Retrieves the adjustment used to determine the zoom factor of +the zoomable actor + + a #GtkAdjustment + + + + + Sets the adjustment used to determine the zoom factor of +the zoomable actor + + + + + + a #GtkAdjustment, or %NULL + + + + + + Retrieves the adjustment used to determine the zoom factor of +the zoomable actor + + a #GtkAdjustment + + + + + The #GtkAdjustment that determines the value of +the zoom factor for this zoomable actor + + + + + The #GtkClutterZoomableIface structure contains only private data + + + + + + + + + + + + + + a #GtkAdjustment, or %NULL + + + + + + + + + a #GtkAdjustment + + + + + + + + + + + + This utility function copies the width/height from the actor @src to the +actor @dest. +The primary use for this function is for packing actors in the +top-level #GtkClutterWindow, and having them resize with the window. + + + + + + actor to copy the dimensions from + + + + actor to copy the dimensions to + + + + the direction to copy the dimensions in + + + + + + Returns the #GtkAllocation of a widget relative to a widget known to +Clutter-GTK+. +This function is similar to gtk_clutter_calculate_root_allocation() but +returns the coordinates relative to a #GtkWidget that is already connected +to a #ClutterActor (for example, a #GtkClutterActor). +This function is used internally by Clutter-GTK+ to position actors within +their #GtkClutterStandin, but is provided in case it's useful to find the +position of a widget within the #GtkClutterActor that contains it). + + + + + + a #GtkWidget to calculate the root-window allocation for + + + + a #GtkAllocation to store the result in + + + + + + Returns the #GtkAllocation of a widget relative to the top-level. +The #GtkAllocation of a widget is relative to the allocation of any +parent container that is backed by a #GdkWindow. Thus to work out the +allocation in the coordinates of the top-level (which is needed to be +provided to Clutter), we must add walk the widget tree and add the +allocations of any window-backed parent containers. +Use this function if you want to find out the position of a widget in +stage coordinates (normally so that you can align some animation on the +stage). + + + + + + a #GtkWidget to calculate the root-window allocation for + + + + a #GtkAllocation to store the result in + + + + + + Run-time version check, to check the version the Clutter-GTK library +that an application is currently linked against +This is the run-time equivalent of the compile-time +%CLUTTER_GTK_CHECK_VERSION pre-processor macro +greater than (@major, @minor, @micro), and %FALSE otherwise + + %TRUE if the version of the Clutter-GTK library is + + + + + major version, like 1 in 1.2.3 + + + + minor version, like 2 in 1.2.3 + + + + micro version, like 3 in 1.2.3 + + + + + + Retrieves the base color of @widget for the given @state and copies it +into @color. + + + + + + a #GtkWidget + + + + a state + + + + return location for a #ClutterColor + + + + + + Retrieves the background color of @widget for the given @state and copies +it into @color. + + + + + + a #GtkWidget + + + + a state + + + + return location for a #ClutterColor + + + + + + Retrieves the dark color of @widget for the given @state and copies it +into @color. + + + + + + a #GtkWidget + + + + a state + + + + return location for a #ClutterColor + + + + + + Retrieves the foreground color of @widget for the given @state and copies +it into @color. + + + + + + a #GtkWidget + + + + a state + + + + return location for a #ClutterColor + + + + + + Retrieves the light color of @widget for the given @state and copies it +into @color. + + + + + + a #GtkWidget + + + + a state + + + + return location for a #ClutterColor + + + + + + Retrieves the mid color of @widget for the given @state and copies it +into @color. + + + + + + a #GtkWidget + + + + a state + + + + return location for a #ClutterColor + + + + + + Returns a #GOptionGroup for the command line arguments recognized +by Clutter. You should add this group to your #GOptionContext with +g_option_context_add_group(), if you are using g_option_context_parse() +to parse your commandline arguments instead of using gtk_clutter_init() +or gtk_clutter_init_with_args(). +You should add this option group to your #GOptionContext after +the GTK option group created with gtk_get_option_group(), and after +the clutter option group obtained from clutter_get_option_group_without_init(). +You should not use clutter_get_option_group() together with this function. +You must pass %TRUE to gtk_get_option_group() since gtk-clutter's option +group relies on it. +Parsing options using g_option_context_parse() with a #GOptionContext +containing the returned #GOptionGroupwith will result in Clutter's and +GTK-Clutter's initialisation. That is, the following code: +|[ +g_option_context_add_group (context, gtk_get_option_group (TRUE)); +g_option_context_add_group (context, cogl_get_option_group ()); +g_option_context_add_group (context, clutter_get_option_group_without_init ()); +g_option_context_add_group (context, gtk_clutter_get_option_group ()); +res = g_option_context_parse (context, &amp;argc, &amp;argc, NULL); +]| +is functionally equivalent to: +|[ +gtk_clutter_init (&amp;argc, &amp;argv); +]| +After g_option_context_parse() on a #GOptionContext containing the +the returned #GOptionGroup has returned %TRUE, Clutter and GTK-Clutter are +guaranteed to be initialized. +recognized by ClutterGtk + + a #GOptionGroup for the commandline arguments + + + + + Retrieves the text-aa color of @widget for the given @state and copies it +into @color. + + + + + + a #GtkWidget + + + + a state + + + + return location for a #ClutterColor + + + + + + Retrieves the text color of @widget for the given @state and copies it +into @color. + + + + + + a #GtkWidget + + + + a state + + + + return location for a #ClutterColor + + + + + + This function should be called instead of clutter_init() and +gtk_init(). +on failure. + + %CLUTTER_INIT_SUCCESS on success, a negative integer + + + + + pointer to the arguments count, or %NULL + + + + pointer to the arguments vector, or %NULL + + + + + + This function should be called instead of clutter_init() and +gtk_init_with_args(). +on failure. + + %CLUTTER_INIT_SUCCESS on success, a negative integer + + + + + a pointer to the number of command line arguments. + + + + a pointer to the array of command line arguments. + + + + a string which is displayed in the first line of <option>--help</option> output, after <literal><replaceable>programname</replaceable> [OPTION...]</literal> + + + + a %NULL-terminated array of #GOptionEntry<!-- -->s describing the options of your program + + + + a translation domain to use for translating the <option>--help</option> output for the options in @entries with gettext(), or %NULL + + + + + + Creates a new #ClutterTexture and sets its contents to be +the @icon_name from the current icon theme. +was %NULL and @icon_name was not found. + + the newly created texture, or %NULL if @widget + + + + + a #GtkWidget or %NULL + + + + the name of the icon + + + + the size of the icon, or -1 + + + + + + Creates a new #ClutterTexture and sets its contents with a copy +of @pixbuf. + + the newly created #ClutterTexture + + + + + a #GdkPixbuf + + + + + + Creates a new #ClutterTexture and sets its contents using the stock +icon @stock_id as rendered by @widget. + + the newly created #ClutterTexture + + + + + a #GtkWidget + + + + the stock id of the icon + + + + the size of the icon, or -1 + + + + + + Sets the contents of @texture using the @icon_name from the +current icon theme. + + %TRUE on success, %FALSE on failure. + + + + + a #ClutterTexture + + + + a #GtkWidget or %NULL + + + + the name of the icon + + + + the icon size or -1 + + + + + + Sets the contents of @texture with a copy of @pixbuf. + + %TRUE on success, %FALSE on failure. + + + + + a #ClutterTexture + + + + a #GdkPixbuf + + + + + + Sets the contents of @texture using the stock icon @stock_id, as +rendered by @widget. + + %TRUE on success, %FALSE on failure. + + + + + a #ClutterTexture + + + + a #GtkWidget + + + + the stock id of the icon + + + + the size of the icon, or -1 + + + + + + diff --git a/GtkClutter-1.0.gir b/GtkClutter-1.0.gir new file mode 100644 index 0000000..562fcc5 --- /dev/null +++ b/GtkClutter-1.0.gir @@ -0,0 +1,785 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + A ClutterActor containing a #GtkWidget. + + + + + + Creates a new #GtkClutterActor. +This widget can be used to embed a #GtkWidget into a Clutter scene, +by retrieving the internal #GtkBin container using +gtk_clutter_actor_get_widget() and adding the #GtkWidget to it. + + the newly created #GtkClutterActor + + + + + Creates a new #GtkClutterActor widget. This widget can be +used to embed a Gtk widget into a clutter scene. +This function is the logical equivalent of: +|[ +ClutterActor *actor = gtk_clutter_actor_new (); +GtkWidget *bin = gtk_clutter_actor_get_widget (GTK_CLUTTER_ACTOR (actor)); +gtk_container_add (GTK_CONTAINER (bin), contents); +]| + + the newly created #GtkClutterActor + + + + + a #GtkWidget to pack into this #ClutterActor + + + + + + Retrieves the child of the #GtkBin used to hold the contents of @actor. +This convenience function is the logical equivalent of: +|[ +GtkWidget *bin; +bin = gtk_clutter_actor_get_widget (GTK_CLUTTER_ACTOR (actor)); +return gtk_bin_get_child (GTK_BIN (bin)); +]| +has been set + + a #GtkWidget, or %NULL if not content + + + + + Retrieves the #GtkBin used to hold the #GtkClutterActor:contents widget + + a #GtkBin + + + + + The #GtkWidget to be embedded into the #GtkClutterActor + + + + + + + + + + + Base class for #GtkClutterActor. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Extension of the #ClutterInitError enumeration for the integration +with GTK+ +This enumeration might be extended at later date + + + + + A #GtkWidget containing the default Clutter stage. +The <structname>GtkClutterEmbed</structname> structure contains only +private data and should be accessed using the provided API. + + + + Creates a new #GtkClutterEmbed widget. This widget can be +used to build a scene using Clutter API into a GTK+ application. + + the newly created #GtkClutterEmbed + + + + + Retrieves the #ClutterStage from @embed. The returned stage can be +used to add actors to the Clutter scene. +the returned actor. + + the Clutter stage. You should never destroy or unref + + + + + + + + + + + + Base class for #GtkClutterEmbed. +The <structname>GtkClutterEmbedClass</structname> contains only private +data. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + An enumeration of error types used in ClutterGtk texture functions +This enumeration might be extended at later date + + + + A #GtkWindow containing a #ClutterStage. +The <structname>GtkClutterWindow</structname> structure contains only +private data and it should be accessed using the provided API. + + + + Creates a new #GtkClutterWindow widget. +This window provides a hidden #ClutterStage on which the child +#GtkWidget<!-- -->s are placed. This allows other #ClutterActor<!-- -->s +to also be placed on the stage. + + the newly created #GtkClutterWindow + + + + + Retrieves the #ClutterStage that this window is embedding +Use this function if you wish to add other actors to the #ClutterStage. + + the window's #ClutterStage + + + + + + + + + + + + Base class for #GtkClutterWindow. +The <structname>GtkClutterWindowClass</structname> structure contains +only private data. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Retrieves the base color of @widget for the given @state and copies it +into @color. + + + + + + a #GtkWidget + + + + a state + + + + return location for a #ClutterColor + + + + + + Retrieves the background color of @widget for the given @state and copies +it into @color. + + + + + + a #GtkWidget + + + + a state + + + + return location for a #ClutterColor + + + + + + Retrieves the dark color of @widget for the given @state and copies it +into @color. + + + + + + a #GtkWidget + + + + a state + + + + return location for a #ClutterColor + + + + + + Retrieves the foreground color of @widget for the given @state and copies +it into @color. + + + + + + a #GtkWidget + + + + a state + + + + return location for a #ClutterColor + + + + + + Retrieves the light color of @widget for the given @state and copies it +into @color. + + + + + + a #GtkWidget + + + + a state + + + + return location for a #ClutterColor + + + + + + Retrieves the mid color of @widget for the given @state and copies it +into @color. + + + + + + a #GtkWidget + + + + a state + + + + return location for a #ClutterColor + + + + + + Returns a #GOptionGroup for the command line arguments recognized +by Clutter. You should add this group to your #GOptionContext with +g_option_context_add_group(), if you are using g_option_context_parse() +to parse your commandline arguments instead of using gtk_clutter_init() +or gtk_clutter_init_with_args(). +You should add this option group to your #GOptionContext after +the GTK option group created with gtk_get_option_group(), and after +the clutter option group obtained from clutter_get_option_group_without_init(). +You should not use clutter_get_option_group() together with this function. +You must pass %TRUE to gtk_get_option_group() since gtk-clutter's option +group relies on it. +Parsing options using g_option_context_parse() with a #GOptionContext +containing the returned #GOptionGroupwith will result in Clutter's and +GTK-Clutter's initialisation. That is, the following code: +|[ +g_option_context_add_group (context, gtk_get_option_group (TRUE)); +g_option_context_add_group (context, cogl_get_option_group ()); +g_option_context_add_group (context, clutter_get_option_group_without_init ()); +g_option_context_add_group (context, gtk_clutter_get_option_group ()); +res = g_option_context_parse (context, &amp;argc, &amp;argc, NULL); +]| +is functionally equivalent to: +|[ +gtk_clutter_init (&amp;argc, &amp;argv); +]| +After g_option_context_parse() on a #GOptionContext containing the +the returned #GOptionGroup has returned %TRUE, Clutter and GTK-Clutter are +guaranteed to be initialized. +recognized by ClutterGtk + + a #GOptionGroup for the commandline arguments + + + + + Retrieves the text-aa color of @widget for the given @state and copies it +into @color. + + + + + + a #GtkWidget + + + + a state + + + + return location for a #ClutterColor + + + + + + Retrieves the text color of @widget for the given @state and copies it +into @color. + + + + + + a #GtkWidget + + + + a state + + + + return location for a #ClutterColor + + + + + + This function should be called instead of clutter_init() and +gtk_init(). +on failure. + + %CLUTTER_INIT_SUCCESS on success, a negative integer + + + + + pointer to the arguments count, or %NULL + + + + pointer to the arguments vector, or %NULL + + + + + + + + This function should be called instead of clutter_init() and +gtk_init_with_args(). +on failure. + + %CLUTTER_INIT_SUCCESS on success, a negative integer + + + + + a pointer to the number of command line arguments. + + + + a pointer to the array of command line arguments. + + + + + + a string which is displayed in the first line of <option>--help</option> output, after <literal><replaceable>programname</replaceable> [OPTION...]</literal> + + + + a %NULL-terminated array of #GOptionEntry<!-- -->s describing the options of your program + + + + a translation domain to use for translating the <option>--help</option> output for the options in @entries with gettext(), or %NULL + + + + + + Creates a new #ClutterTexture and sets its contents to be +the @icon_name from the current icon theme. +was %NULL and @icon_name was not found. + + the newly created texture, or %NULL if @widget + + + + + a #GtkWidget or %NULL + + + + the name of the icon + + + + the size of the icon, or -1 + + + + + + Creates a new #ClutterTexture and sets its contents with a copy +of @pixbuf. + + the newly created #ClutterTexture + + + + + a #GdkPixbuf + + + + + + Creates a new #ClutterTexture and sets its contents using the stock +icon @stock_id as rendered by @widget. + + the newly created #ClutterTexture + + + + + a #GtkWidget + + + + the stock id of the icon + + + + the size of the icon, or -1 + + + + + + Sets the contents of @texture using the @icon_name from the +current icon theme. + + %TRUE on success, %FALSE on failure. + + + + + a #ClutterTexture + + + + a #GtkWidget or %NULL + + + + the name of the icon + + + + the icon size or -1 + + + + + + Sets the contents of @texture with a copy of @pixbuf. + + %TRUE on success, %FALSE on failure. + + + + + a #ClutterTexture + + + + a #GdkPixbuf + + + + + + Sets the contents of @texture using the stock icon @stock_id, as +rendered by @widget. + + %TRUE on success, %FALSE on failure. + + + + + a #ClutterTexture + + + + a #GtkWidget + + + + the stock id of the icon + + + + the size of the icon, or -1 + + + + + + diff --git a/GtkSource-2.0.gir b/GtkSource-2.0.gir new file mode 100644 index 0000000..a1150f4 --- /dev/null +++ b/GtkSource-2.0.gir @@ -0,0 +1,6063 @@ + + + + + + + + + + + + + + + + + + Creates a new source buffer. + + a new source buffer. + + + + + a #GtkTextTagTable, or %NULL to create a new one. + + + + + + Creates a new source buffer using the highlighting patterns in +a new tag table and then calling gtk_source_buffer_set_language(). +according to the highlighting patterns in @language. + + a new source buffer which will highlight text + + + + + a #GtkSourceLanguage. + + + + + + Determines whether syntax highlighting is activated in the source +buffer. + + %TRUE if syntax highlighting is enabled, %FALSE otherwise. + + + + + Controls whether syntax is highlighted in the buffer. If @highlight +is %TRUE, the text will be highlighted according to the syntax +patterns specified in the language set with +gtk_source_buffer_set_language(). If @highlight is %FALSE, syntax highlighting +is disabled and all the GtkTextTag objects that have been added by the +syntax highlighting engine are removed from the buffer. + + + + + + %TRUE to enable syntax highlighting, %FALSE to disable it. + + + + + + Determines whether bracket match highlighting is activated for the +source buffer. +brackets. + + %TRUE if the source buffer will highlight matching + + + + + Controls the bracket match highlighting function in the buffer. If +activated, when you position your cursor over a bracket character +(a parenthesis, a square bracket, etc.) the matching opening or +closing bracket character will be highlighted. You can specify the +style with the gtk_source_buffer_set_bracket_match_style() +function. + + + + + + %TRUE if you want matching brackets highlighted. + + + + + + Determines the number of undo levels the buffer will track for +buffer edits. +-1 if no limit is set. + + the maximum number of possible undo levels or + + + + + Sets the number of undo levels for user actions the buffer will +track. If the number of user actions exceeds the limit set by this +function, older actions will be discarded. +If @max_undo_levels is -1, no limit is set. +A new action is started whenever the function +gtk_text_buffer_begin_user_action() is called. In general, this +happens whenever the user presses any key which modifies the +buffer, but the undo manager will try to merge similar consecutive +actions, such as multiple character insertions into one action. +But, inserting a newline does start a new action. + + + + + + the desired maximum number of undo levels. + + + + + + Returns the #GtkSourceLanguage associated with the buffer, +see gtk_source_buffer_set_language(). The returned object should not be +unreferenced by the user. + + #GtkSourceLanguage associated with the buffer, or %NULL. + + + + + Associate a #GtkSourceLanguage with the source buffer. If @language is +not-%NULL and syntax highlighting is enabled (see gtk_source_buffer_set_highlight_syntax()), +the syntax patterns defined in @language will be used to highlight the text +contained in the buffer. If @language is %NULL, the text contained in the +buffer is not highlighted. +The buffer holds a reference to @language. + + + + + + a #GtkSourceLanguage to set, or %NULL. + + + + + + Determines whether a source buffer can undo the last action. + + %TRUE if it's possible to undo the last action. + + + + + Determines whether a source buffer can redo the last action +(i.e. if the last operation was an undo). + + %TRUE if a redo is possible. + + + + + Returns the #GtkSourceStyleScheme currently used in @buffer. +gtk_source_buffer_set_style_scheme(), or %NULL. + + the #GtkSourceStyleScheme set by + + + + + Sets style scheme used by the buffer. If @scheme is %NULL no +style scheme is used. + + + + + + style scheme. + + + + + + Forces buffer to analyze and highlight the given area synchronously. +<note> +<para> +This is a potentially slow operation and should be used only +when you need to make sure that some text not currently +visible is highlighted, for instance before printing. +</para> +</note> + + + + + + start of the area to highlight. + + + + end of the area to highlight. + + + + + + Undoes the last user action which modified the buffer. Use +gtk_source_buffer_can_undo() to check whether a call to this +function will have any effect. +Actions are defined as groups of operations between a call to +gtk_text_buffer_begin_user_action() and +gtk_text_buffer_end_user_action(), or sequences of similar edits +(inserts or deletes) on the same line. + + + + + + Redoes the last undo operation. Use gtk_source_buffer_can_redo() +to check whether a call to this function will have any effect. + + + + + + Marks the beginning of a not undoable action on the buffer, +disabling the undo manager. Typically you would call this function +before initially setting the contents of the buffer (e.g. when +loading a file in a text editor). +You may nest gtk_source_buffer_begin_not_undoable_action() / +gtk_source_buffer_end_not_undoable_action() blocks. + + + + + + Marks the end of a not undoable action on the buffer. When the +last not undoable block is closed through the call to this +function, the list of undo actions is cleared and the undo manager +is re-enabled. + + + + + + Creates a source mark in the @buffer of category @category. A source mark is +a #GtkTextMark but organised into categories. Depending on the category +a pixbuf can be specified that will be displayed along the line of the mark. +Like a #GtkTextMark, a #GtkSourceMark can be anonymous if the +passed @name is %NULL. Also, the buffer owns the marks so you +shouldn't unreference it. +Marks always have left gravity and are moved to the beginning of +the line when the user deletes the line they were in. +Typical uses for a source mark are bookmarks, breakpoints, current +executing instruction indication in a source file, etc.. + + a new #GtkSourceMark, owned by the buffer. + + + + + the name of the mark, or %NULL. + + + + a string defining the mark category. + + + + location to place the mark. + + + + + + Moves @iter to the position of the next #GtkSourceMark of the given +next source mark can be of any category. + + whether iter moved. + + + + + an iterator. + + + + category to search for or %NULL + + + + + + Moves @iter to the position of the previous #GtkSourceMark of the given +category. Returns #TRUE if @iter was moved. If @category is NULL, the +previous source mark can be of any category. + + whether iter moved. + + + + + an iterator. + + + + category to search for or %NULL + + + + + + Returns the list of marks of the given category at @iter. If @category +is %NULL it returns all marks at @iter. + + a newly allocated #GSList. + + + + + + + an iterator. + + + + category to search for or %NULL + + + + + + Returns the list of marks of the given category at @line. +If @category is NULL, all marks at @line are returned. + + a newly allocated #GSList. + + + + + + + a line number. + + + + category to search for or %NULL + + + + + + Remove all marks of @category between @start and @end from the buffer. +If @category is NULL, all marks in the range will be removed. + + + + + + a #GtkTextIter + + + + a #GtkTextIter + + + + category to search for or NULL + + + + + + Check if the class @context_klass is set on @iter. + + + + + + a #GtkTextIter + + + + class to search for + + + + + + Get all defined context classes at @iter. +#g_strfreev to free the array if it is no longer needed. + + a new %NULL terminated array of context class names. Use + + + + + + + a #GtkTextIter + + + + + + Moves forward to the next toggle (on or off) of the context class. If no +matching context class toggles are found, returns %FALSE, otherwise %TRUE. +Does not return toggles located at @iter, only toggles after @iter. Sets +toggle is found. + + whether we found a context class toggle after @iter + + + + + a #GtkTextIter + + + + the context class + + + + + + Moves backward to the next toggle (on or off) of the context class. If no +matching context class toggles are found, returns %FALSE, otherwise %TRUE. +Does not return toggles located at @iter, only toggles after @iter. Sets +toggle is found. + + whether we found a context class toggle before @iter + + + + + a #GtkTextIter + + + + the context class + + + + + + Get the undo manager associated with the buffer. + + A #GtkSourceUndoManager + + + + + Set the buffer undo manager. If @manager is %NULL the default undo manager +will be set. + + + + + + A #GtkSourceUndoManager + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Create a new #GtkSourceCompletion associated with @view. + + The new #GtkSourceCompletion. + + + + + + + + + + A separator is a character like (, an space etc. An _ is not a separator + + TRUE if @ch is a separator + + + + + The character to check + + + + + + + the current word + + + + + The #GtkSourceBuffer + + + + + + + if != NULL then assign it the start position of the word + + + + if != NULL then assing it the end position of the word + + + + + + + the current word + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Replaces the current word in the #GtkSourceBuffer with the new word + + + + + + The #GtkSourceBuffer + + + + The text to be inserted instead of the current word + + + + + + + + + + + + + + the #GtkWindow to move + + + + the view + + + + the iter to move @window to + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Add a new #GtkSourceCompletionProvider to the completion object. This will +add a reference @provider, so make sure to unref your own copy when you +no longer need it. +is provided, it will be set with the error and %FALSE is returned. + + %TRUE if @provider was successfully added, otherwise if @error + + + + + A #GtkSourceCompletionProvider + + + + + + Remove @provider from the completion. +is provided, it will be set with the error and %FALSE is returned. + + %TRUE if @provider was successfully removed, otherwise if @error + + + + + A #GtkSourceCompletionProvider + + + + + + Get list of providers registered on @completion. The returned list is owned +by the completion and should not be freed. + + list of #GtkSourceCompletionProvider + + + + + + + Starts a new completion with the specified #GtkSourceCompletionContext and +a list of potential candidate providers for completion. + + %TRUE if it was possible to the show completion window. + + + + + A list of #GtkSourceCompletionProvider or %NULL + + + + + + The #GtkSourceCompletionContext with which to start the completion + + + + + + Hides the completion if it is active (visible). + + + + + + The info widget is the window where the completion displays optional extra +information of the proposal. + + The #GtkSourceCompletionInfo window. + + + + + The #GtkSourceView associated with @completion. + + The #GtkSourceView associated with @completion. + + + + + Create a new #GtkSourceCompletionContext for @completion. The position at +which the completion using the new context will consider completion can +be provider by @position. If @position is %NULL, the current cursor +position will be used. +is a 'floating' reference, so if you invoke #gtk_source_completion_show +with this context you don't need to unref it. + + a new #GtkSourceCompletionContext. The reference being returned + + + + + A #GtkTextIter + + + + + + Move the completion window to a specific iter. + + + + + + A #GtkTextIter + + + + + + Block interactive completion. This can be used to disable interactive +completion when inserting or deleting text from the buffer associated with +the completion. Use #gtk_source_completion_unblock_interactive to enable +interactive completion again. + + + + + + Unblock interactive completion. This can be used after using +#gtk_source_completion_block_interactive to enable interactive completion +again. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Providers can use this function to add proposals to the completion. They +can do so asynchronously by means of the @finished argument. Providers must +ensure that they always call this function with @finished set to %TRUE +once each population (even if no proposals need to be added). + + + + + + A #GtkSourceCompletionProvider + + + + The list of proposals to add + + + + + + Whether the provider is finished adding proposals + + + + + + Get the iter at which the completion was invoked. Providers can use this +to determine how and if to match proposals. + + + + + + A #GtkTextIter + + + + + + Get the context activation + + The context activation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The new GtkSourceCompletionInfo. + + + + + Moves the #GtkSourceCompletionInfo to @iter. If @iter is %NULL @info is +moved to the cursor position. Moving will respect the #GdkGravity setting +of the info window and will ensure the line at @iter is not occluded by +the window. + + + + + + A #GtkTextView on which the info window should be positioned + + + + A #GtkTextIter + + + + + + Set sizing information for the info window. If @shrink_width or +window contents, with a maximum size given by @width and @height. Setting +and height of the window. + + + + + + The maximum/requested width of the window (-1 to default) + + + + The maximum/requested height of the window (-1 to default) + + + + Whether to shrink the width of the window to fit its contents + + + + Whether to shrink the height of the window to fit its contents + + + + + + Sets the content widget of the info window. If @widget does not fit within +the size requirements of the window, a #GtkScrolledWindow will automatically +be created and added to the window. + + + + + + A #GtkWidget + + + + + + Get the current content widget. + + The current content widget. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Gets the label of @proposal. The label is shown in the list of proposals as +plain text. If you need any markup (such as bold or italic text), you have +to implement #gtk_source_completion_proposal_get_markup. The returned string +must be freed with g_free(). + + A new string containing the label of @proposal. + + + + + Gets the label of @proposal with markup. The label is shown in the list of +proposals and may contain markup. This will be used instead of +#gtk_source_completion_proposal_get_label if implemented. The returned string +must be freed with g_free(). + + A new string containing the label of @proposal with markup. + + + + + Gets the text of @proposal. The text that is inserted into +the text buffer when the proposal is activated by the default activation. +You are free to implement a custom activation handler in the provider and +not implement this function. The returned string must be freed with g_free(). + + A new string containing the text of @proposal. + + + + + Gets the icon of @proposal. + + The icon of @proposal. + + + + + Gets extra information associated to the proposal. This information will be +used to present the user with extra, detailed information about the +selected proposal. The returned string must be freed with g_free(). +no extra information is associated to @proposal. + + A new string containing extra information of @proposal or %NULL if + + + + + Get the hash value of @proposal. This is used to (together with +#gtk_source_completion_proposal_equal) to match proposals in the completion +model. By default, it uses a direct hash (#g_direct_hash). + + The hash value of @proposal + + + + + Get whether two proposal objects are the same. This is used to (together +with #gtk_source_completion_proposal_hash) to match proposals in the +completion model. By default, it uses direct equality (#g_direct_equal). + + %TRUE if @proposal and @object are the same proposal + + + + + A #GtkSourceCompletionProposal + + + + + + Gets the label of @proposal. The label is shown in the list of proposals as +plain text. If you need any markup (such as bold or italic text), you have +to implement #gtk_source_completion_proposal_get_markup. The returned string +must be freed with g_free(). + + A new string containing the label of @proposal. + + + + + Gets the label of @proposal with markup. The label is shown in the list of +proposals and may contain markup. This will be used instead of +#gtk_source_completion_proposal_get_label if implemented. The returned string +must be freed with g_free(). + + A new string containing the label of @proposal with markup. + + + + + Gets the text of @proposal. The text that is inserted into +the text buffer when the proposal is activated by the default activation. +You are free to implement a custom activation handler in the provider and +not implement this function. The returned string must be freed with g_free(). + + A new string containing the text of @proposal. + + + + + Gets the icon of @proposal. + + The icon of @proposal. + + + + + Gets extra information associated to the proposal. This information will be +used to present the user with extra, detailed information about the +selected proposal. The returned string must be freed with g_free(). +no extra information is associated to @proposal. + + A new string containing extra information of @proposal or %NULL if + + + + + Emits the "changed" signal on @proposal. This should be called by +implementations whenever the name, icon or info of the proposal has +changed. + + + + + + Get the hash value of @proposal. This is used to (together with +#gtk_source_completion_proposal_equal) to match proposals in the completion +model. By default, it uses a direct hash (#g_direct_hash). + + The hash value of @proposal + + + + + Get whether two proposal objects are the same. This is used to (together +with #gtk_source_completion_proposal_hash) to match proposals in the +completion model. By default, it uses direct equality (#g_direct_equal). + + %TRUE if @proposal and @object are the same proposal + + + + + A #GtkSourceCompletionProposal + + + + + + + + + + + + + + + + + + A new string containing the label of @proposal. + + + + + + + + + + + + + A new string containing the label of @proposal with markup. + + + + + + + + + + + + + A new string containing the text of @proposal. + + + + + + + + + + + + + The icon of @proposal. + + + + + + + + + + + + + A new string containing extra information of @proposal or %NULL if + + + + + + + + + + + + + The hash value of @proposal + + + + + + + + + + + + + %TRUE if @proposal and @object are the same proposal + + + + + + + + A #GtkSourceCompletionProposal + + + + + + + + + + + + + + + + + + + + + Get the name of the provider. This should be a translatable name for +returned string must be freed with g_free(). + + A new string containing the name of the provider. + + + + + Get the icon of the provider. +not have a special icon. + + The icon to be used for the provider, or %NULL if the provider does + + + + + Populate @context with proposals from @provider + + + + + + The #GtkSourceCompletionContext + + + + + + Get whether the provider match the context of completion detailed in + + %TRUE if @provider matches the completion context, %FALSE otherwise + + + + + The #GtkSourceCompletionContext + + + + + + Get with what kind of activation the provider should be activated. + + a combination of #GtkSourceCompletionActivation. + + + + + Get a customized info widget to show extra information of a proposal. +This allows for customized widgets on a proposal basis, although in general +providers will have the same custom widget for all their proposals and +If implemented, #gtk_source_completion_provider_update_info MUST also be +implemented. If not implemented, the default +#gtk_source_completion_proposal_get_info will be used to display extra +information about a #GtkSourceCompletionProposal. + + a custom #GtkWidget to show extra information about @proposal. + + + + + The currently selected #GtkSourceCompletionProposal + + + + + + Update extra information shown in @info for @proposal. This should be +implemented if your provider sets a custom info widget for @proposal. +This function MUST be implemented when +#gtk_source_completion_provider_get_info_widget is implemented. + + + + + + A #GtkSourceCompletionProposal + + + + A #GtkSourceCompletionInfo + + + + + + Get the #GtkTextIter at which the completion for @proposal starts. When +implemented, the completion can use this information to position the +completion window accordingly when a proposal is selected in the completion +window. + + %TRUE if @iter was set for @proposal, %FALSE otherwise + + + + + A #GtkSourceCompletionContext + + + + A #GtkSourceCompletionProposal + + + + A #GtkTextIter + + + + + + Activate @proposal at @iter. When this functions returns %FALSE, the default +activation of @proposal will take place which replaces the word at @iter +with the label of @proposal. +%FALSE otherwise. + + %TRUE to indicate that the proposal activation has been handled, + + + + + A #GtkSourceCompletionProposal + + + + A #GtkTextIter + + + + + + Get the delay in milliseconds before starting interactive completion for +this provider. A value of -1 indicates to use the default value as set +by #GtkSourceCompletion::auto-complete-delay. + + the interactive delay in milliseconds. + + + + + Get the provider priority. The priority determines the order in which +proposals appear in the completion popup. Higher priorities are sorted +before lower priorities. The default priority is 0. + + the provider priority. + + + + + Get the name of the provider. This should be a translatable name for +returned string must be freed with g_free(). + + A new string containing the name of the provider. + + + + + Get the icon of the provider. +not have a special icon. + + The icon to be used for the provider, or %NULL if the provider does + + + + + Populate @context with proposals from @provider + + + + + + The #GtkSourceCompletionContext + + + + + + Get with what kind of activation the provider should be activated. + + a combination of #GtkSourceCompletionActivation. + + + + + Get whether the provider match the context of completion detailed in + + %TRUE if @provider matches the completion context, %FALSE otherwise + + + + + The #GtkSourceCompletionContext + + + + + + Get a customized info widget to show extra information of a proposal. +This allows for customized widgets on a proposal basis, although in general +providers will have the same custom widget for all their proposals and +If implemented, #gtk_source_completion_provider_update_info MUST also be +implemented. If not implemented, the default +#gtk_source_completion_proposal_get_info will be used to display extra +information about a #GtkSourceCompletionProposal. + + a custom #GtkWidget to show extra information about @proposal. + + + + + The currently selected #GtkSourceCompletionProposal + + + + + + Update extra information shown in @info for @proposal. This should be +implemented if your provider sets a custom info widget for @proposal. +This function MUST be implemented when +#gtk_source_completion_provider_get_info_widget is implemented. + + + + + + A #GtkSourceCompletionProposal + + + + A #GtkSourceCompletionInfo + + + + + + Get the #GtkTextIter at which the completion for @proposal starts. When +implemented, the completion can use this information to position the +completion window accordingly when a proposal is selected in the completion +window. + + %TRUE if @iter was set for @proposal, %FALSE otherwise + + + + + A #GtkSourceCompletionContext + + + + A #GtkSourceCompletionProposal + + + + A #GtkTextIter + + + + + + Activate @proposal at @iter. When this functions returns %FALSE, the default +activation of @proposal will take place which replaces the word at @iter +with the label of @proposal. +%FALSE otherwise. + + %TRUE to indicate that the proposal activation has been handled, + + + + + A #GtkSourceCompletionProposal + + + + A #GtkTextIter + + + + + + Get the delay in milliseconds before starting interactive completion for +this provider. A value of -1 indicates to use the default value as set +by #GtkSourceCompletion::auto-complete-delay. + + the interactive delay in milliseconds. + + + + + Get the provider priority. The priority determines the order in which +proposals appear in the completion popup. Higher priorities are sorted +before lower priorities. The default priority is 0. + + the provider priority. + + + + + + + + + + + + A new string containing the name of the provider. + + + + + + + + + + + + + The icon to be used for the provider, or %NULL if the provider does + + + + + + + + + + + + + + + + + + + + The #GtkSourceCompletionContext + + + + + + + + + %TRUE if @provider matches the completion context, %FALSE otherwise + + + + + + + + The #GtkSourceCompletionContext + + + + + + + + + a combination of #GtkSourceCompletionActivation. + + + + + + + + + + + + + a custom #GtkWidget to show extra information about @proposal. + + + + + + + + The currently selected #GtkSourceCompletionProposal + + + + + + + + + + + + + + + + A #GtkSourceCompletionProposal + + + + A #GtkSourceCompletionInfo + + + + + + + + + %TRUE if @iter was set for @proposal, %FALSE otherwise + + + + + + + + A #GtkSourceCompletionContext + + + + A #GtkSourceCompletionProposal + + + + A #GtkTextIter + + + + + + + + + %TRUE to indicate that the proposal activation has been handled, + + + + + + + + A #GtkSourceCompletionProposal + + + + A #GtkTextIter + + + + + + + + + the interactive delay in milliseconds. + + + + + + + + + + + + + the provider priority. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + GtkSourceDrawSpacesFlags determine what kind of spaces whould be drawn. If none +of GTK_SOURCE_DRAW_SPACES_LEADING, GTK_SOURCE_DRAW_SPACES_TEXT or +GTK_SOURCE_DRAW_SPACES_TRAILING is specified, whitespaces at any position in +the line will be drawn (i.e. it has the same effect as specifying all of them). + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Get the #GdkWindow of the gutter. The window will only be available when the +gutter has at least one, non-zero width, cell renderer packed. + + the #GdkWindow of the gutter, or %NULL if the gutter has no window. + + + + + Inserts @renderer into @gutter at @position. + + + + + + a #GtkCellRenderer + + + + the renderers position + + + + + + Reorders @renderer in @gutter to new @position. + + + + + + a #GtkCellRenderer + + + + the new renderer position + + + + + + Removes @renderer from @gutter. + + + + + + a #GtkCellRenderer + + + + + + Sets the #GtkSourceGutterDataFunc to use for @renderer. This function is +used to setup the cell renderer properties for rendering the current cell. + + + + + + a #GtkCellRenderer + + + + the #GtkSourceGutterDataFunc to use + + + + the user data for @func + + + + the destroy notification for @func_data + + + + + + Sets the #GtkSourceGutterSizeFunc to use for @renderer. This function is +used to setup the cell renderer properties for measuring the maximum size +of the cell. + + + + + + a #GtkCellRenderer + + + + the #GtkSourceGutterSizeFunc to use + + + + the user data for @func + + + + the destroy notification for @func_data + + + + + + Invalidates the drawable area of the gutter. You can use this to force a +redraw of the gutter if something has changed and needs to be redrawn. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Returns the ID of the language. The ID is not locale-dependent. +The returned string is owned by @language and should not be freed +or modified. + + the ID of @language. + + + + + Returns the localized name of the language. +The returned string is owned by @language and should not be freed +or modified. + + the name of @language. + + + + + Returns the localized section of the language. +Each language belong to a section (ex. HTML belogs to the +Markup section). +The returned string is owned by @language and should not be freed +or modified. + + the section of @language. + + + + + Returns whether the language should be hidden from the user. + + TRUE if the language should be hidden, FALSE otherwise. + + + + + or %NULL if language doesn't contain that metadata property. +The returned string is owned by @language and should not be freed +or modified. + + value of property @name stored in the metadata of @language + + + + + metadata property name. + + + + + + Returns the mime types associated to this language. This is just +an utility wrapper around gtk_source_language_get_metadata() to +retrieve the "mimetypes" metadata property and split it into an +array. +the mime types or %NULL if no mime types are found. +The returned array must be freed with g_strfreev(). + + a newly-allocated %NULL terminated array containing + + + + + + + Returns the globs associated to this language. This is just +an utility wrapper around gtk_source_language_get_metadata() to +retrieve the "globs" metadata property and split it into an array. +the globs or %NULL if no globs are found. +The returned array must be freed with g_strfreev(). + + a newly-allocated %NULL terminated array containing + + + + + + + Returns the ids of the styles defined by this @language. +ids of the styles defined by this @language or %NULL if no style is +defined. The returned array must be freed with g_strfreev(). + + a %NULL terminated array containing + + + + + + + Returns the name of the style with ID @style_id defined by this @language. +%NULL if the style has no name or there is no style with ID @style_id defined +by this @language. The returned string is owned by the @language and must +not be modified. + + the name of the style with ID @style_id defined by this @language or + + + + + a style ID + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Creates a new language manager. If you do not need more than one language +manager or a private language manager instance then use +gtk_source_language_manager_get_default() instead. + + a #GtkSourceLanguageManager. + + + + + Returns the default #GtkSourceLanguageManager instance. +by GtkSourceView library and must not be unref'ed. + + a #GtkSourceLanguageManager. Return value is owned + + + + + Gets the list directories where @lm looks for language files. +The array is owned by @lm and must not be modified. + + %NULL-terminated array containg a list of language files directories. + + + + + + + Sets the list of directories where the @lm looks for +language files. +If @dirs is %NULL, the search path is reset to default. +<note> +<para> +At the moment this function can be called only before the +language files are loaded for the first time. In practice +to set a custom search path for a #GtkSourceLanguageManager, +you have to call this function right after creating it. +</para> +</note> + + + + + + a %NULL-terminated array of strings or %NULL. + + + + + + + + Returns the ids of the available languages. +available languages or %NULL if no language is available. The array +is owned by @lm and must not be modified. + + a %NULL-terminated array of string containing the ids of the + + + + + + + Gets the #GtkSourceLanguage identified by the given @id in the language +manager. +identified by the given @id. Return value is owned by @lm and should not +be freed. + + a #GtkSourceLanguage, or %NULL if there is no language + + + + + a language id. + + + + + + Picks a #GtkSourceLanguage for given file name and content type, +according to the information in lang files. Either @filename or +<informalexample><programlisting> +GtkSourceLanguage *lang; +lang = gtk_source_language_manager_guess_language (filename, NULL); +gtk_source_buffer_set_language (buffer, lang); +</programlisting></informalexample> +or +<informalexample><programlisting> +GtkSourceLanguage *lang = NULL; +gboolean result_uncertain; +gchar *content_type; +content_type = g_content_type_guess (filename, NULL, 0, &result_uncertain); +if (result_uncertain) +{ +g_free (content_type); +content_type = NULL; +} +lang = gtk_source_language_manager_guess_language (manager, filename, content_type); +gtk_source_buffer_set_language (buffer, lang); +g_free (content_type); +</programlisting></informalexample> +etc. Use gtk_source_language_get_mime_types() and gtk_source_language_get_globs() +if you need full control over file -> language mapping. +for given @filename and/or @content_type. Return value is owned by @lm +and should not be freed. + + a #GtkSourceLanguage, or %NULL if there is no suitable language + + + + + a filename in Glib filename encoding, or %NULL. + + + + a content type (as in GIO API), or %NULL. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Creates a text mark. Add it to a buffer using gtk_text_buffer_add_mark(). +If name is NULL, the mark is anonymous; otherwise, the mark can be retrieved +by name using gtk_text_buffer_get_mark(). +Normally marks are created using the utility function +gtk_source_buffer_create_mark(). + + a new #GtkSourceMark that can be added using gtk_text_buffer_add_mark() + + + + + Name of the #GtkSourceMark, can be NULL when not using a name + + + + is used to classify marks according to common characteristics (e.g. all the marks representing a bookmark could belong to the "bookmark" category, or all the marks representing a compilation error could belong to "error" category). + + + + + + Returns the mark category + + the category of the #GtkSourceMark + + + + + Returns the next #GtkSourceMark in the buffer or %NULL if the mark +was not added to a buffer. If there is no next mark, %NULL will be returned. +If @category is %NULL, looks for marks of any category + + the next #GtkSourceMark or %NULL + + + + + a string specifying the mark category or %NULL + + + + + + Returns the previous #GtkSourceMark in the buffer or %NULL if the mark +was not added to a buffer. If there is no previous mark, %NULL is returned. +If @category is %NULL, looks for marks of any category + + the previous #GtkSourceMark or %NULL + + + + + a string specifying the mark category or %NULL + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Creates a new print compositor that can be used to print @buffer. + + a new print compositor object. + + + + + the #GtkSourceBuffer to print + + + + + + Creates a new print compositor that can be used to print the buffer +associated with @view. +This constructor sets some configuration properties to make the +printed output match @view as much as possible. The properties set are +#GtkSourcePrintCompositor:tab-width, #GtkSourcePrintCompositor:highlight-syntax, +#GtkSourcePrintCompositor:wrap-mode, #GtkSourcePrintCompositor:body-font-name and +#GtkSourcePrintCompositor:print-line-numbers. + + a new print compositor object. + + + + + a #GtkSourceView to get configuration from. + + + + + + Gets the #GtkSourceBuffer associated with the compositor. The returned +object reference is owned by the compositor object and +should not be unreferenced. + + the #GtkSourceBuffer associated with the compositor. + + + + + Sets the width of tabulation in characters for printed text. +This function cannot be called anymore after the first call to the +gtk_source_print_compositor_paginate() function. + + + + + + width of tab in characters. + + + + + + Returns the width of tabulation in characters for printed text. + + width of tab. + + + + + Sets the line wrapping mode for the printed text. +This function cannot be called anymore after the first call to the +gtk_source_print_compositor_paginate() function. + + + + + + a #GtkWrapMode. + + + + + + Gets the line wrapping mode for the printed text. + + the line wrap mode. + + + + + Sets whether the printed text will be highlighted according to the +buffer rules. Both color and font style are applied. +This function cannot be called anymore after the first call to the +gtk_source_print_compositor_paginate() function. + + + + + + whether syntax should be highlighted. + + + + + + Determines whether the printed text will be highlighted according to the +buffer rules. Note that highlighting will happen +only if the buffer to print has highlighting activated. + + %TRUE if the printed output will be highlighted. + + + + + Sets the interval for printed line numbers. If @interval is 0 no +numbers will be printed. If greater than 0, a number will be +printed every @interval lines (i.e. 1 will print all line numbers). +Maximum accepted value for @interval is 100. +This function cannot be called anymore after the first call to the +gtk_source_print_compositor_paginate() function. + + + + + + interval for printed line numbers. + + + + + + Returns the interval used for line number printing. If the +value is 0, no line numbers will be printed. The default value is +1 (i.e. numbers printed in all lines). + + the interval of printed line numbers. + + + + + Sets the default font for the printed text. +string representation of a font description Pango can understand. +(e.g. &quot;Monospace 10&quot;). See pango_font_description_from_string() +for a description of the format of the string representation. +This function cannot be called anymore after the first call to the +gtk_source_print_compositor_paginate() function. + + + + + + the name of the default font for the body text. + + + + + + Returns the name of the font used to print the text body. The returned string +must be freed with g_free(). +text body. + + a new string containing the name of the font used to print the + + + + + Sets the font for printing line numbers on the left margin. If +%NULL is supplied, the default font (i.e. the one being used for the +text) will be used instead. +string representation of a font description Pango can understand. +(e.g. &quot;Monospace 10&quot;). See pango_font_description_from_string() +for a description of the format of the string representation. +This function cannot be called anymore after the first call to the +gtk_source_print_compositor_paginate() function. + + + + + + the name of the font for line numbers, or %NULL. + + + + + + Returns the name of the font used to print line numbers on the left margin. +The returned string must be freed with g_free()) +line numbers on the left margin. + + a new string containing the name of the font used to print + + + + + Sets the font for printing the page header. If +%NULL is supplied, the default font (i.e. the one being used for the +text) will be used instead. +string representation of a font description Pango can understand. +(e.g. &quot;Monospace 10&quot;). See pango_font_description_from_string() +for a description of the format of the string representation. +This function cannot be called anymore after the first call to the +gtk_source_print_compositor_paginate() function. + + + + + + the name of the font for header text, or %NULL. + + + + + + Returns the name of the font used to print the page header. +The returned string must be freed with g_free()) +the page header. + + a new string containing the name of the font used to print + + + + + Sets the font for printing the page footer. If +%NULL is supplied, the default font (i.e. the one being used for the +text) will be used instead. +string representation of a font description Pango can understand. +(e.g. &quot;Monospace 10&quot;). See pango_font_description_from_string() +for a description of the format of the string representation. +This function cannot be called anymore after the first call to the +gtk_source_print_compositor_paginate() function. + + + + + + the name of the font for the footer text, or %NULL. + + + + + + Returns the name of the font used to print the page footer. +The returned string must be freed with g_free()) +the page footer. + + a new string containing the name of the font used to print + + + + + Gets the top margin in units of @unit. + + the top margin. + + + + + the unit for the return value. + + + + + + Sets the top margin used by @compositor. + + + + + + the new top margin in units of @unit + + + + the units for @margin + + + + + + Gets the bottom margin in units of @unit. + + the bottom margin. + + + + + the unit for the return value. + + + + + + Sets the bottom margin used by @compositor. + + + + + + the new bottom margin in units of @unit + + + + the units for @margin + + + + + + Gets the left margin in units of @unit. + + the left margin + + + + + the unit for the return value. + + + + + + Sets the left margin used by @compositor. + + + + + + the new left margin in units of @unit + + + + the units for @margin + + + + + + Gets the right margin in units of @unit. + + the right margin + + + + + the unit for the return value. + + + + + + Sets the right margin used by @compositor. + + + + + + the new right margin in units of @unit + + + + the units for @margin + + + + + + Sets whether you want to print a header in each page. The +header consists of three pieces of text and an optional line +separator, configurable with +gtk_source_print_compositor_set_header_format(). +Note that by default the header format is unspecified, and if it's +empty it will not be printed, regardless of this setting. +This function cannot be called anymore after the first call to the +gtk_source_print_compositor_paginate() function. + + + + + + %TRUE if you want the header to be printed. + + + + + + Determines if a header is set to be printed for each page. A +header will be printed if this function returns %TRUE +<emphasis>and</emphasis> some format strings have been specified +with gtk_source_print_compositor_set_header_format(). + + %TRUE if the header is set to be printed. + + + + + Sets whether you want to print a footer in each page. The +footer consists of three pieces of text and an optional line +separator, configurable with +gtk_source_print_compositor_set_footer_format(). +Note that by default the footer format is unspecified, and if it's +empty it will not be printed, regardless of this setting. +This function cannot be called anymore after the first call to the +gtk_source_print_compositor_paginate() function. + + + + + + %TRUE if you want the footer to be printed. + + + + + + Determines if a footer is set to be printed for each page. A +footer will be printed if this function returns %TRUE +<emphasis>and</emphasis> some format strings have been specified +with gtk_source_print_compositor_set_footer_format(). + + %TRUE if the footer is set to be printed. + + + + + Sets strftime like header format strings, to be printed on the +left, center and right of the top of each page. The strings may +include strftime(3) codes which will be expanded at print time. +All strftime() codes are accepted, with the addition of %N for the +page number and %Q for the page count. +the header from the document text. +If %NULL is given for any of the three arguments, that particular +string will not be printed. +For the header to be printed, in +addition to specifying format strings, you need to enable header +printing with gtk_source_print_compositor_set_print_header(). +This function cannot be called anymore after the first call to the +gtk_source_print_compositor_paginate() function. + + + + + + %TRUE if you want a separator line to be printed. + + + + a format string to print on the left of the header. + + + + a format string to print on the center of the header. + + + + a format string to print on the right of the header. + + + + + + Sets strftime like header format strings, to be printed on the +left, center and right of the bottom of each page. The strings may +include strftime(3) codes which will be expanded at print time. +All strftime() codes are accepted, with the addition of %N for the +page number and %Q for the page count. +the footer from the document text. +If %NULL is given for any of the three arguments, that particular +string will not be printed. +For the footer to be printed, in +addition to specifying format strings, you need to enable footer +printing with gtk_source_print_compositor_set_print_footer(). +This function cannot be called anymore after the first call to the +gtk_source_print_compositor_paginate() function. + + + + + + %TRUE if you want a separator line to be printed. + + + + a format string to print on the left of the footer. + + + + a format string to print on the center of the footer. + + + + a format string to print on the right of the footer. + + + + + + Returns the number of pages in the document or <code>-1</code> if the +document has not been completely paginated. +document has not been completely paginated. + + the number of pages in the document or <code>-1</code> if the + + + + + Paginate the document associated with the @compositor. +In order to support non-blocking pagination, document is paginated in small chunks. +Each time gtk_source_print_compositor_paginate() is invoked, a chunk of the document +is paginated. To paginate the entire document, gtk_source_print_compositor_paginate() +must be invoked multiple times. +It returns %TRUE if the document has been completely paginated, otherwise it returns %FALSE. +This method has been designed to be invoked in the handler of the #GtkPrintOperation::paginate signal, +as shown in the following example: +<informalexample><programlisting> +// Signal handler for the GtkPrintOperation::paginate signal +static gboolean +paginate (GtkPrintOperation *operation, +GtkPrintContext *context, +gpointer user_data) +{ +GtkSourcePrintCompositor *compositor; +compositor = GTK_SOURCE_PRINT_COMPOSITOR (user_data); +if (gtk_source_print_compositor_paginate (compositor, context)) +{ +gint n_pages; +n_pages = gtk_source_print_compositor_get_n_pages (compositor); +gtk_print_operation_set_n_pages (operation, n_pages); +return TRUE; +} +return FALSE; +} +</programlisting></informalexample> +If you don't need to do pagination in chunks, you can simply do it all in the +#GtkPrintOperation::begin-print handler, and set the number of pages from there, like +in the following example: +<informalexample><programlisting> +// Signal handler for the GtkPrintOperation::begin-print signal +static void +begin_print (GtkPrintOperation *operation, +GtkPrintContext *context, +gpointer user_data) +{ +GtkSourcePrintCompositor *compositor; +gint n_pages; +compositor = GTK_SOURCE_PRINT_COMPOSITOR (user_data); +while (!gtk_source_print_compositor_paginate (compositor, context)); +n_pages = gtk_source_print_compositor_get_n_pages (compositor); +gtk_print_operation_set_n_pages (operation, n_pages); +} +</programlisting></informalexample> + + %TRUE if the document has been completely paginated, %FALSE otherwise. + + + + + the #GtkPrintContext whose parameters (e.g. paper size, print margins, etc.) are used by the the @compositor to paginate the document. + + + + + + Returns the current fraction of the document pagination that has been completed. + + a fraction from 0.0 to 1.0 inclusive + + + + + Draw page @page_nr for printing on the the Cairo context encapsuled in @context. +This method has been designed to be called in the handler of the #GtkPrintOperation::draw_page signal +as shown in the following example: +<informalexample><programlisting> +// Signal handler for the GtkPrintOperation::draw_page signal +static void +draw_page (GtkPrintOperation *operation, +GtkPrintContext *context, +gint page_nr, +gpointer user_data) +{ +GtkSourcePrintCompositor *compositor; +compositor = GTK_SOURCE_PRINT_COMPOSITOR (user_data); +gtk_source_print_compositor_draw_page (compositor, +context, +page_nr); +} +</programlisting></informalexample> + + + + + + the #GtkPrintContext encapsulating the context information that is required when drawing the page for printing. + + + + the number of the page to print. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Creates a copy of @style, that is a new #GtkSourceStyle instance which +has the same attributes set. + + copy of @style, call g_object_unref() when you are done with it. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @scheme id. + + + + + + @scheme name. + + + + + + @scheme description (if defined) or NULL. + + + + + %NULL if no author is specified by the style +scheme. + + a %NULL-terminated array containing the @scheme authors or + + + + + + + style scheme file or NULL in the other cases. + + @scheme file name if the scheme was created parsing a + + + + + or %NULL when no style with this name found. It is owned by @scheme +and may not be unref'ed. + + style which corresponds to @style_id in the @scheme, + + + + + id of the style to retrieve. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Creates a new style manager. If you do not need more than one style +manager then use gtk_source_style_scheme_manager_get_default() instead. + + a #GtkSourceStyleSchemeManager. + + + + + Returns the default #GtkSourceStyleSchemeManager instance. +by GtkSourceView library and must not be unref'ed. + + a #GtkSourceStyleSchemeManager. Return value is owned + + + + + Sets the list of directories where the @manager looks for +style scheme files. +If @dirs is %NULL, the search path is reset to default. + + + + + + a %NULL-terminated array of strings or %NULL. + + + + + + + + Appends @path to the list of directories where the @manager looks for +style scheme files. +See gtk_source_style_scheme_manager_set_search_path() for details. + + + + + + a directory or a filename. + + + + + + Prepends @path to the list of directories where the @manager looks +for style scheme files. +See gtk_source_style_scheme_manager_set_search_path() for details. + + + + + + a directory or a filename. + + + + + + Returns the current search path for the @manager. +See gtk_source_style_scheme_manager_set_search_path() for details. +The array is owned by the @manager and must not be modified. + + a NULL-terminated array of string containing the search path. + + + + + + + Mark any currently cached information about the available style scehems +as invalid. All the available style schemes will be reloaded next time +the @manager is accessed. + + + + + + Returns the ids of the available style schemes. +available style schemes or %NULL if no style scheme is available. The array +is owned by the @manager and must not be modified. + + a %NULL-terminated array of string containing the ids of the + + + + + + + Looks up style scheme by id. + + a #GtkSourceStyleScheme object. Returned value is owned by + + + + + style scheme id to find + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Get whether there are undo operations available. + + %TRUE if there are undo operations available, %FALSE otherwise + + + + + Get whether there are redo operations available. + + %TRUE if there are redo operations available, %FALSE otherwise + + + + + Perform a single undo. Calling this function when there are no undo operations +available is an error. Use #gtk_source_undo_manager_can_undo to find out +if there are undo operations available. + + + + + + Perform a single redo. Calling this function when there are no redo operations +available is an error. Use #gtk_source_undo_manager_can_redo to find out +if there are redo operations available. + + + + + + Begin a not undoable action on the buffer. All changes between this call +and the call to #gtk_source_undo_manager_end_not_undoable_action cannot +be undone. This function should be re-entrant. + + + + + + Ends a not undoable action on the buffer. + + + + + + Get whether there are undo operations available. + + %TRUE if there are undo operations available, %FALSE otherwise + + + + + Get whether there are redo operations available. + + %TRUE if there are redo operations available, %FALSE otherwise + + + + + Perform a single undo. Calling this function when there are no undo operations +available is an error. Use #gtk_source_undo_manager_can_undo to find out +if there are undo operations available. + + + + + + Perform a single redo. Calling this function when there are no redo operations +available is an error. Use #gtk_source_undo_manager_can_redo to find out +if there are redo operations available. + + + + + + Begin a not undoable action on the buffer. All changes between this call +and the call to #gtk_source_undo_manager_end_not_undoable_action cannot +be undone. This function should be re-entrant. + + + + + + Ends a not undoable action on the buffer. + + + + + + Emits the #GtkSourceUndoManager::can-undo-changed signal. + + + + + + Emits the #GtkSourceUndoManager::can-redo-changed signal. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + %TRUE if there are undo operations available, %FALSE otherwise + + + + + + + + + + + + + %TRUE if there are redo operations available, %FALSE otherwise + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Creates a new #GtkSourceView. An empty default buffer will be +created for you. If you want to specify your own buffer, consider +gtk_source_view_new_with_buffer(). + + a new #GtkSourceView + + + + + Creates a new #GtkSourceView widget displaying the buffer + + a new #GtkTextView. + + + + + a #GtkSourceBuffer. + + + + + + If %TRUE line numbers will be displayed beside the text. + + + + + + whether line numbers should be displayed. + + + + + + Returns whether line numbers are displayed beside the text. + + %TRUE if the line numbers are displayed. + + + + + Sets the width of tabulation in characters. + + + + + + width of tab in characters. + + + + + + Returns the width of tabulation in characters. + + width of tab. + + + + + Sets the number of spaces to use for each step of indent. +If @width is -1, the value of the GtkSourceView::tab-width property +will be used. + + + + + + indent width in characters. + + + + + + Returns the number of spaces to use for each step of indent. +See gtk_source_view_set_indent_width() for details. + + indent width. + + + + + If %TRUE auto indentation of text is enabled. + + + + + + whether to enable auto indentation. + + + + + + Returns whether auto indentation of text is enabled. + + %TRUE if auto indentation is enabled. + + + + + If %TRUE any tabulator character inserted is replaced by a group +of space characters. + + + + + + whether to insert spaces instead of tabs. + + + + + + Returns whether when inserting a tabulator character it should +be replaced by a group of space characters. + + %TRUE if spaces are inserted instead of tabs. + + + + + If %TRUE, when the tab key is pressed and there is a selection, the +selected text is indented of one level instead of being replaced with +the \t characters. Shift+Tab unindents the selection. + + + + + + whether to indent a block when tab is pressed. + + + + + + Returns whether when the tab key is pressed the current selection +should get indented instead of replaced with the \t character. + + %TRUE if the selection is indented when tab is pressed. + + + + + If @show is %TRUE the current line is highlighted. + + + + + + whether to highlight the current line + + + + + + Returns whether the current line is highlighted + + %TRUE if the current line is highlighted. + + + + + If %TRUE a right margin is displayed + + + + + + whether to show a right margin. + + + + + + Returns whether a right margin is displayed. + + %TRUE if the right margin is shown. + + + + + Sets the position of the right margin in the given @view. + + + + + + the width in characters where to position the right margin. + + + + + + Gets the position of the right margin in the given @view. + + the position of the right margin. + + + + + If %TRUE line marks will be displayed beside the text. + + + + + + whether line marks should be displayed. + + + + + + Returns whether line marks are displayed beside the text. + + %TRUE if the line marks are displayed. + + + + + Associates a given @pixbuf with a given mark @category. +If @pixbuf is #NULL, the pixbuf is unset. + + + + + + a mark category. + + + + a #GdkPixbuf or #NULL. + + + + + + Sets the icon to be used for @category to @pixbuf. +If @pixbuf is #NULL, the icon is unset. + + + + + + a mark category. + + + + a #GdkPixbuf or #NULL. + + + + + + Sets the icon to be used for @category to the stock item @stock_id. +If @stock_id is #NULL, the icon is unset. + + + + + + a mark category. + + + + the stock id or #NULL. + + + + + + Sets the icon to be used for @category to the named theme item @name. +If @name is #NULL, the icon is unset. + + + + + + a mark category. + + + + the themed icon name or #NULL. + + + + + + Gets the pixbuf which is associated with the given mark @category. + + the associated #GdkPixbuf, or %NULL if not found. + + + + + a mark category. + + + + + + Sets given background @color for mark @category. +If @color is #NULL, the background color is unset. + + + + + + a mark category. + + + + background color or %NULL to unset it. + + + + + + Gets the background color associated with given @category. +and @dest is set to a valid color, or %FALSE otherwise. + + %TRUE if background color for @category was set + + + + + a mark category. + + + + destination #GdkColor structure to fill in. + + + + + + Set a #GtkSourceViewMarkTooltipFunc used to set tooltip on marks from the +given mark @category. +If you also specified a function with +gtk_source_view_set_mark_category_tooltip_markup_func() the markup +variant takes precedence. +<informalexample><programlisting><![CDATA[ +static gchar * +tooltip_func (GtkSourceMark *mark, +gpointer user_data) +{ +gchar *text; +text = get_tooltip_for_mark (mark, user_data); +return text; +} +... +GtkSourceView *view; +gtk_source_view_set_mark_category_tooltip_func (view, "other-mark", +tooltip_func, +NULL, NULL); +]]></programlisting></informalexample> + + + + + + a mark category. + + + + a #GtkSourceViewMarkTooltipFunc or %NULL. + + + + user data which will be passed to @func. or %NULL if you do not want to supply such a function. + + + + + + + + + See gtk_source_view_set_mark_category_tooltip_func() for more information. + + + + + + a mark category. + + + + a #GtkSourceViewMarkTooltipFunc or %NULL. + + + + user data which will be passed to @func. or %NULL if you do not want to supply such a function. + + + + + + + + + Set the @priority for the given mark @category. When there are +multiple marks on the same line, marks of categories with +higher priorities will be drawn on top. + + + + + + a mark category. + + + + the priority for the category + + + + + + Gets the priority which is associated with the given @category. +exists but no priority was set, it defaults to 0. + + the priority or if @category + + + + + a mark category. + + + + + + Set the desired movement of the cursor when HOME and END keys +are pressed. + + + + + + the desired behavior among #GtkSourceSmartHomeEndType. + + + + + + Returns a #GtkSourceSmartHomeEndType end value specifying +how the cursor will move when HOME and END keys are pressed. + + a #GtkSourceSmartHomeEndTypeend value. + + + + + Set if and how the spaces should be visualized. Specifying @flags as 0 will +disable display of spaces. + + + + + + #GtkSourceDrawSpacesFlags specifing how white spaces should be displayed + + + + + + Returns the #GtkSourceDrawSpacesFlags specifying if and how spaces +should be displayed for this @view. + + the #GtkSourceDrawSpacesFlags, 0 if no spaces should be drawn. + + + + + Gets the #GtkSourceCompletion associated with @view. + + the #GtkSourceCompletion associated with @view. + + + + + Returns the #GtkSourceGutter object associated with @window_type for @view. +Only GTK_TEXT_WINDOW_LEFT and GTK_TEXT_WINDOW_RIGHT are supported, +respectively corresponding to the left and right gutter. The line numbers +and mark category icons are rendered in the gutter corresponding to +GTK_TEXT_WINDOW_LEFT. + + the #GtkSourceGutter. + + + + + the gutter window type + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Function type for setting up a tooltip for #GtkSourceMark. + + a newly-allocated string that is going to be shown as tooltip text. + + + + + the #GtkSourceMark + + + + user data pointer which was passed to gtk_source_view_set_mark_category_tooltip_func() + + + + + + + + Same as gtk_text_iter_backward_search(), but supports case insensitive +searching. + + whether a match was found. + + + + + a #GtkTextIter where the search begins. + + + + search string. + + + + bitmask of flags affecting the search. + + + + return location for start of match, or %NULL. + + + + return location for end of match, or %NULL. + + + + location of last possible @match_start, or %NULL for start of buffer. + + + + + + Searches forward for @str. Any match is returned by setting +first character after the match. The search will not continue past +may wish to use @limit to avoid locking up your UI on large +buffers. +If the #GTK_SOURCE_SEARCH_VISIBLE_ONLY flag is present, the match may +have invisible text interspersed in @str. i.e. @str will be a +possibly-noncontiguous subsequence of the matched range. similarly, +if you specify #GTK_SOURCE_SEARCH_TEXT_ONLY, the match may have +pixbufs or child widgets mixed inside the matched range. If these +flags are not given, the match must be exact; the special 0xFFFC +character in @str will match embedded pixbufs or child widgets. +If you specify the #GTK_SOURCE_SEARCH_CASE_INSENSITIVE flag, the text will +be matched regardless of what case it is in. +Same as gtk_text_iter_forward_search(), but supports case insensitive +searching. + + whether a match was found. + + + + + start of search. + + + + a search string. + + + + flags affecting how the search is done. + + + + return location for start of match, or %NULL. + + + + return location for end of match, or %NULL. + + + + bound for the search, or %NULL for the end of the buffer. + + + + + + diff --git a/Gtop-2.0.gir b/Gtop-2.0.gir new file mode 100644 index 0000000..52852c0 --- /dev/null +++ b/Gtop-2.0.gir @@ -0,0 +1,3618 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/JSCore-1.0.gir b/JSCore-1.0.gir new file mode 100644 index 0000000..babfed3 --- /dev/null +++ b/JSCore-1.0.gir @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + diff --git a/Midgard-10.05.gir b/Midgard-10.05.gir new file mode 100644 index 0000000..9018fc6 --- /dev/null +++ b/Midgard-10.05.gir @@ -0,0 +1,8811 @@ + + + + + + + + + + + + + + Default encoding is UTF-8. Set NULL @encoding if such is required. +Instatiate new Midgard Blob object for the given midgard_attachment object. +This is almost the same constructor as g_object_new, but unlike that one, +midgard_blob_new requires MidgardObject (midgard_attachment) object's pointer. +This constructor defines new relative path for attachment, if midgard_attachment +is associated with midgard_blob and its location is empty. +In any other case, location is not changed. + + newly instatiated #MidgardBlob object or %NULL on failure + + + + + #MidgardObject of MIDGARD_TYPE_ATTACHMENT type. + + + + file encoding + + + + + + Returned content should be freed when no longer needed. +This function should be used to get content of small files. +For large and huge ones midgard_blob_get_handler should be used +to get file handle. + + content of the file, or %NULL on failure + + + + + number of bytes read + + + + + + Write given @content to a file. + + %TRUE if content has been written to file, %FALSE otherwise. + + + + + content which should be written to file. + + + + + + Deletes a file which is associated with blob and located at +attachment's location which is initialized for blob. +#midgard_blob_exists should be invoked if file may be already +deleted, for example when one file is shared among many attachments. + + %TRUE on success, %FALSE otherwise + + + + + Check if file associated with midgard_blob exists. +This function will also return FALSE, if file is not yet associated. + + %TRUE if file exists, %FALSE otherwise + + + + + + + + + + The main idea is to get file handler. On C level it returns +GIOChannel, but language bindings could return typical file handler +or anything else which is needed for particular language. +Returned channel is owned by midgard_blob and should not be freed +or unreferenced. + + GIOChannel or %NULL + + + + + fopen mode (r, w, a, b). Default is 'w'. + + + + + + Returned content should be freed when no longer needed. +This function should be used to get content of small files. +For large and huge ones midgard_blob_get_handler should be used +to get file handle. + + content of the file, or %NULL on failure + + + + + number of bytes read + + + + + + Write given @content to a file. + + %TRUE if content has been written to file, %FALSE otherwise. + + + + + content which should be written to file. + + + + + + The main idea is to get file handler. On C level it returns +GIOChannel, but language bindings could return typical file handler +or anything else which is needed for particular language. +Returned channel is owned by midgard_blob and should not be freed +or unreferenced. + + GIOChannel or %NULL + + + + + fopen mode (r, w, a, b). Default is 'w'. + + + + + + + + + + + Check if file associated with midgard_blob exists. +This function will also return FALSE, if file is not yet associated. + + %TRUE if file exists, %FALSE otherwise + + + + + Deletes a file which is associated with blob and located at +attachment's location which is initialized for blob. +#midgard_blob_exists should be invoked if file may be already +deleted, for example when one file is shared among many attachments. + + %TRUE on success, %FALSE otherwise + + + + + + + + + + + + + + + + + + + + + + + + content of the file, or %NULL on failure + + + + + + + + number of bytes read + + + + + + + + + %TRUE if content has been written to file, %FALSE otherwise. + + + + + + + + content which should be written to file. + + + + + + + + + %TRUE on success, %FALSE otherwise + + + + + + + + + + + + + %TRUE if file exists, %FALSE otherwise + + + + + + + + + + + + + + + + + + + + + + + + + GIOChannel or %NULL + + + + + + + + fopen mode (r, w, a, b). Default is 'w'. + + + + + + + + + + + + + + unique per object or record. In other words, @domain is a common property (and value) +for group of objects expected in collection. +If you need reuse given value, make a copy. +Cases to return NULL: +<itemizedlist> +<listitem><para> +</para></listitem> +<listitem><para> +</para></listitem> +<listitem><para> +</para></listitem> +<listitem><para> +</para></listitem> +</itemizedlist> + + #MidgardCollector instance, or %NULL on failure + + + + + #MidgardConnection instance + + + + name of given class, which collector is initialized for + + + + collection' domain + + + + domain's constraint value + + + + + + + + + + + + + + + + + + + Cases to return FALSE: +<itemizedlist> +<listitem><para> +</para></listitem> +<listitem><para> +</para></listitem> +</itemizedlist> +Number of value properties added to Midgard Collector is limited by +the number of properties registered for type which has been initialized +for the given #MidgardCollector instance. + + %TRUE if named value property has been added, %FALSE otherwise + + + + + property name + + + + + + Cases to return FALSE: +<itemizedlist> +<listitem><para> +</para></listitem> +<listitem><para> +</para></listitem> +<listitem><para> +</para></listitem> +</itemizedlist> +If the key is already added to MidgardCollector then its value +(as subkey&value pair) is destroyed and new one is set. +In other case new key and its subkey&value pair is added to collector. +Key used in this function is a value returned ( or set ) for collector's key. +Keys are collection of values returned from property fields. +Subkey is an explicit property name. +GValue @value argument is owned by MidgardCollector. +If value should be reused, its copy should be passed as method argument. + + %TRUE, if key's value has been set, %FALSE otherwise + + + + + key name for which @subkey&@value pair should be set + + + + property name which is a subkey + + + + value for given @subkey + + + + + + GData keys ( collector's subkeys ) are inserted to GData as +Quarks , so you must call g_quark_to_string if you need to get strings +( e.g. implementing hash table for language bindings ). + + #GData for the given key or %NULL if key is not found in collection + + + + + name of the key to look for + + + + + + + subkey's #GValue value or %NULL if not found + + + + + name of the key + + + + name of key's subkey to look for + + + + + + If third overwrite parameter is set as TRUE then all keys which exists +in @self and @mc collector's instance will be oberwritten in @self colection +instance. If set as FALSE , only those keys will be added, which do not exist +in @self collection and exist in @mc collection. +Cases to return FALSE: +<itemizedlist> +<listitem><para> +Second argument is not valid #MidgardCollector +</para></listitem> +<listitem><para> +</para></listitem> +</itemizedlist> + + %TRUE if collections has been merged, %FALSE otherwise + + + + + #MidgardCollector instance + + + + whether overwrite collector's keys + + + + + + + + + + + + + Removes key and associated value from the given #MidgardCollector instance. + + %TRUE if key (and its value) has been removed from collection, %FALSE otherwise + + + + + name of the key in collector's collection + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Executes SQL query and set internal keys&values collection. +Overwritten #MidgardQueryBuilder execute method. +Unlike QB's execute method this one returns boolean value. +Resultset is stored inernally by #MidgardCollector instance. +Cases to return FALSE: +<itemizedlist> +<listitem><para> +No key is associated, midgard_collector_set_key_property() +</para></listitem> +<listitem><para> +No value property is associated, midgard_collector_add_value_property() +</para></listitem> +<listitem><para> +Database provider returned SQL query syntax error +</para></listitem> +<listitem><para> +No record(s) matched +</para></listitem> +</itemizedlist> + + %TRUE in success, %FALSE otherwise + + + + + + + + + + + + + + + + + + Cases to return FALSE: +<itemizedlist> +<listitem><para> +</para></listitem> +<listitem><para> +</para></listitem> +</itemizedlist> +Number of value properties added to Midgard Collector is limited by +the number of properties registered for type which has been initialized +for the given #MidgardCollector instance. + + %TRUE if named value property has been added, %FALSE otherwise + + + + + property name + + + + + + Cases to return FALSE: +<itemizedlist> +<listitem><para> +</para></listitem> +<listitem><para> +</para></listitem> +<listitem><para> +</para></listitem> +</itemizedlist> +If the key is already added to MidgardCollector then its value +(as subkey&value pair) is destroyed and new one is set. +In other case new key and its subkey&value pair is added to collector. +Key used in this function is a value returned ( or set ) for collector's key. +Keys are collection of values returned from property fields. +Subkey is an explicit property name. +GValue @value argument is owned by MidgardCollector. +If value should be reused, its copy should be passed as method argument. + + %TRUE, if key's value has been set, %FALSE otherwise + + + + + key name for which @subkey&@value pair should be set + + + + property name which is a subkey + + + + value for given @subkey + + + + + + GData keys ( collector's subkeys ) are inserted to GData as +Quarks , so you must call g_quark_to_string if you need to get strings +( e.g. implementing hash table for language bindings ). + + #GData for the given key or %NULL if key is not found in collection + + + + + name of the key to look for + + + + + + + subkey's #GValue value or %NULL if not found + + + + + name of the key + + + + name of key's subkey to look for + + + + + + + + + + + + + If third overwrite parameter is set as TRUE then all keys which exists +in @self and @mc collector's instance will be oberwritten in @self colection +instance. If set as FALSE , only those keys will be added, which do not exist +in @self collection and exist in @mc collection. +Cases to return FALSE: +<itemizedlist> +<listitem><para> +Second argument is not valid #MidgardCollector +</para></listitem> +<listitem><para> +</para></listitem> +</itemizedlist> + + %TRUE if collections has been merged, %FALSE otherwise + + + + + #MidgardCollector instance + + + + whether overwrite collector's keys + + + + + + Removes key and associated value from the given #MidgardCollector instance. + + %TRUE if key (and its value) has been removed from collection, %FALSE otherwise + + + + + name of the key in collector's collection + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Executes SQL query and set internal keys&values collection. +Overwritten #MidgardQueryBuilder execute method. +Unlike QB's execute method this one returns boolean value. +Resultset is stored inernally by #MidgardCollector instance. +Cases to return FALSE: +<itemizedlist> +<listitem><para> +No key is associated, midgard_collector_set_key_property() +</para></listitem> +<listitem><para> +No value property is associated, midgard_collector_add_value_property() +</para></listitem> +<listitem><para> +Database provider returned SQL query syntax error +</para></listitem> +<listitem><para> +No record(s) matched +</para></listitem> +</itemizedlist> + + %TRUE in success, %FALSE otherwise + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + %TRUE if named value property has been added, %FALSE otherwise + + + + + + + + property name + + + + + + + + + %TRUE, if key's value has been set, %FALSE otherwise + + + + + + + + key name for which @subkey&@value pair should be set + + + + property name which is a subkey + + + + value for given @subkey + + + + + + + + + #GData for the given key or %NULL if key is not found in collection + + + + + + + + name of the key to look for + + + + + + + + + subkey's #GValue value or %NULL if not found + + + + + + + + name of the key + + + + name of key's subkey to look for + + + + + + + + + %TRUE if collections has been merged, %FALSE otherwise + + + + + + + + #MidgardCollector instance + + + + whether overwrite collector's keys + + + + + + + + + + + + + + + + + + + + + + + %TRUE if key (and its value) has been removed from collection, %FALSE otherwise + + + + + + + + name of the key in collector's collection + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + %TRUE in success, %FALSE otherwise + + + + + + + + + + + + + + + Initializes new instance of MidgardConfig object type. +NULL is returned when object can not be initialized. + + pointer to @MidgardConfig object or %NULL on failure. + + + + + List all available configuration files. +If @user value is set to %TRUE, all available files from ~/.midgard/conf.d will be listed. +Only system files ( usually from /etc/midgard/conf.d ) will be listed if @user value is set to %FALSE. +Returned array should be freed when no longer needed. + + newly allocated and %NULL terminated array of file names. + + + + + + + boolean switch for system or user's config files + + + + + + This method reads configuration file from the given name and sets MidgardConfig object's properties. +Such initialized MidgardConfig instance may be reused among midgard-core and midgard-php extension +for example, without any need to re-read configuration file and without any need to re-initalize +#MidgardConfig object instance. +Set %TRUE as @user boolean value to read files from user's home directory. + + %TRUE when file has been read , %FALSE otherwise. + + + + + name of the file to read + + + + boolean switch for system or user's config files + + + + + + + %TRUE if file has been read, %FALSE otherwise + + + + + a path to read file from + + + + + + + %TRUE if data has been read, %FALSE otherwise + + + + + a NULL-terminated buffer containing the configuration + + + + + + Saves configuration file for the given #MidgardConfig. +This method saves configuration file with the given name. +If third user parameter is set to %TRUE, then configuration file will +be saved in ~/.midgard2/conf.d directory. +User's conf.d directory will be created if doesn't exist. +directory doesn't exist or file can not be saved. + + %TRUE on success or %FALSE ( with propper warning message ) if system wide + + + + + configuration filename + + + + system or home directory switch + + + + + + Creates directories for blobs + + %TRUE on success, %FALSE otherwise. + + + + + + deep copy of given #MidgardConfig object + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Initializes new instance of MidgardConnection object type. +MidgardConnectionClass has no properties registered as class members. +Every internal data of MidgardConnection object is accessible with API +functions, and is not settable or gettable as property's value. +Particular methods should be implemented for language bindings. +#MidgardConnection objects holds runtime ( or request ) non persistent +data like authentication type, debug level, etc. +Persistent data like database name, blobs directory are associated with #MidgardConfig object. + + pointer to #MidgardConnection object or %NULL on failure. + + + + + Every key is configuration name, and value is #MidgardConnection object. +Use g_hash_table_destroy to free hashtable and all opened connections. + + Newly allocated full #GHashTable. + + + + + switch to read configuration from system or user's directory + + + + + + Opens a connection to the database, which is defined in named configuration. +The configuration file is read from the system configuration directory +directory is taken into account if library is compiled with `/usr' prefix, +`/usr/local/etc` if compiled with `/usr/local` prefix, etc. +Consider using midgard_connection_open_config(), if you need to open connection to +database which is configured in user's home directory. +If the named database configuration can not be read or the connection fails, +then %FALSE is returned and an error message is written to the global midgard +error state. +It also initializes #MidgardSchema object (which is encapsulated by implementation ) +and register all MgdSchema, #MidgardObjectClass derived classes defined by user. +This happens only when basic Midgard classes are not registered in GType system. +This is recommended way to initialize MgdSchema types. + + %TRUE if the operation succeeded, %FALSE otherwise. + + + + + configuration file name + + + + + + Opens a #MidgardConnection with the given configuration. +Take a look at midgard_connection_open() wrt #MidgardSchema. +If #MidgardConnection is already associated with given config, method returns %TRUE. +If associated with another one, %FALSE is returned and MGD_ERR_INTERNAL error is set. + + %TRUE on success, %FALSE otherwise + + + + + #MidgardConfig object + + + + + + Opens a connection to the database. +The configuration file is read from given filepath. +Take a look at midgard_connection_open() wrt #MidgardSchema. + + %TRUE if the operation succeeded, %FALSE otherwise. + + + + + configuration file path + + + + + + + %TRUE if database connection is established, %FALSE otherwise + + + + + Sets log level of the given MidgardConnection. +Overwrites internal #MidgardConnection's log level defined in configuration file. +By default MidgardConnection holds loglevel which is associated with ( and duplicated +from ) #MidgardConfig. +#MidgardConfig object's log level isn't changed by this function +This method is a shortcut which sets correctly loghandler,loglevel +is defined. Core's default function is #midgard_error_default_log. +warn is default loglevel, SQL queries are logged with debug level. +With info level, function names ( and classes' names ) are ( at least should be) logged in language bindings + + %TRUE if debug level is set, %FALSE otherwise + + + + + Loglevel string + + + + log handler function + + + + + + + unsigned integer flag specified by GLogLevelFlags. + + + + + Sets internal loghandler id associated with G_LOG_DOMAIN and loglevel. +Caller is responsible to remove loghandler using g_log_remove_handler +when new loglevel for G_LOG_DOMAIN is set. + + + + + + loghandler id + + + + + + MidgardConnection's loglevel currently set. + + unsigned integer value which is associated with G_LOG_DOMAIN and + + + + + Error id may be one of set by #midgard_error. + + Last error id set + + + + + Valid #errcode is one defined in #MgdErrorGeneric. + + + + + + error code + + + + + + Error string may be one set by #midgard_error. + + last error string + + + + + NULL is explicitly returned if there's no midgard_user logged in +for the given MidgardConnection. +See also #MidgardUser methods if you need midgard_person associated with user. + + A pointer to MidgardUser instance or %NULL + + + + + This function duplicates given #MidgardConnection. It doesn't make deep copy. +All persistant data are kept unchanged, but runtime related members are reset +to default state. This function is helpful if application is forking and new +processes might have different environment variables. +Call g_object_unref if returned object is no longer needed. + + Newly allocated and duplicated #MidgardConnection + + + + + This is MySQL optimized workaround for lost connection event. + + %TRUE on success, %FALSE otherwise + + + + + List available and registered authentication types. +Use g_free() to free returned array. + + NULL terminated array with authentication types. + + + + + + + a pointer to store number of returned types + + + + + + Enable or disable quota table usage. +If enabled, every base operation (create, update, delete) will be recorded in quota table, +limiting particular types usage. + + + + + + quota enable, disable toggle + + + + + + Enable or disable repligard table usage. +If enabled, every base operation (create, update, delete) will be recorded in repligard table. + + + + + + replication enable, disable toggle + + + + + + Enable or disable dbus messages send for basic operation + + + + + + dbus enable, disable toggle + + + + + + + %TRUE, if quota is enabled, %FALSE otherwise + + + + + + %TRUE, if replication is enabled, %FALSE otherwise + + + + + + %TRUE, if dbus is enabled, %FALSE otherwise + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Creates new midgard_metadata instance for the given #MidgardObject instance. +Do not use g_object_new() as metadata constructor. #MidgardObject pointer is internally +assigned as a pointer to midgard object for which particular metadata object +instance was created. +#MidgardMetadata object has two "kinds" of properties. +The first one is settable ( and overwritten ) only by metadata implementation. +The second one is freely settable by application. In this case midgard core +keep value of such property "as is". +Do not free #MidgardMetadata object's memory as it is automatically +freed when particular #MidgardObject object's instance memory is freed. + + newly allocated midgard_metadata instance + + + + + #MidgardObject for which metadata is created + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Creates new MidgardObject object instance. +This function is mandatory one for new midgard object initialization. +Unlike g_object_new ( which is typical function to create new GObject +instance ), midgard_object_new initializes data which are accessible +internally by object instance itself or by object's class: +- midgard connection handler is associated with object +Sitegroup value is returned from midgard connection handler and may +be overwritten only by SG0 Midgard Administrator only when object +is created. Setting this property is forbidden when object is already +fetched from database. +Object's contructor tries to determine third optional parameter value. +If it's of #G_TYPE_STRING type , then midgard_is_guid() is called to check +weather passed string is a guid , in any other case id property is used +with #G_TYPE_UINT type. New "empty" instance is created (without fetching +data from database) if @value parameter is explicitly set to NULL. +Any object instance created with this function should be freed using typical +#g_object_unref function. +Cases to return %NULL: +<itemizedlist> +<listitem><para> +</para></listitem> +<listitem><para> +</para></listitem> +<listitem><para> +unspecified internal error ( MGD_ERR_INTERNAL ) +</para></listitem> +</itemizedlist> + + New #MidgardObject object or %NULL on failure + + + + + #MidgardConnection handler + + + + name of the class + + + + optional value which holds id or guid of an object + + + + + + Fetch object's record(s) from database using 'id' property. +This is common practice to use 'id' property with integer type when table's +id column stores unique, primary key value which identifies object and its record(s). +However primary property with integer type is freely defined by user. +MidgardObject object instance must be created with midgard_object_new function. +When midgard connection handler is not associated with object instance, +application is terminated with 'assertion fails' error message being logged. +Object instance created with this function should be freed using #g_object_unref. +Cases to return %FALSE: +<itemizedlist> +<listitem><para> +There's no 'id' primary property registered for object's class ( MGD_ERR_INTERNAL ) +</para></listitem> +<listitem><para> +Object's record can not be fetched from database ( MGD_ERR_NOT_EXISTS ) +</para></listitem> +<listitem><para> +unspecified internal error ( MGD_ERR_INTERNAL ) +</para></listitem> +</itemizedlist> + + %TRUE if object is successfully fetched from database, %FALSE otherwise. + + + + + object's integer identifier + + + + + + Fetch object's record(s) from database using 'guid' property constraint. +MidgardObject object instance must be created with midgard_object_new function. +When midgard connection handler is not associated with object instance, +application is terminated with 'assertion fails' error message being logged. +Object instance created with this function should be freed using g_object_unref. +Cases to return %FALSE: +<itemizedlist> +<listitem><para> +Object's record can not be fetched from database ( MGD_ERR_NOT_EXISTS ) +</para></listitem> +<listitem><para> +unspecified internal error ( MGD_ERR_INTERNAL ) +</para></listitem> +</itemizedlist> + + %TRUE if object is successfully fetched from database, %FALSE otherwise. + + + + + string value which should identify object + + + + + + + + + + + + + + + + Update object's record(s). +Internally such metadata properties are set (overwritten): +<itemizedlist> +<listitem><para> +revisor +</para></listitem> +<listitem><para> +revision ( increased by one ) +</para></listitem> +<listitem><para> +revised +</para></listitem> +</itemizedlist> +Cases to return %FALSE: +<itemizedlist> +<listitem><para> +Property registered with #MGD_TYPE_GUID doesn't hold valid guid ( MGD_ERR_INVALID_PROPERTY_VALUE ) +</para></listitem> +<listitem><para> +Object's class is registered with tree facilities and there is already such object in midgard tree ( MGD_ERR_DUPLICATE ) +</para></listitem> +<listitem><para> +Quota is activated and its limit is reached ( MGD_ERR_QUOTA ) +</para></listitem> +<listitem><para> +Unspecified internal error ( MGD_ERR_INTERNAL ) +</para></listitem> +</itemizedlist> + + %TRUE if object's record(s) is successfully updated, %FALSE otherwise. + + + + + Creates new database record(s) for object. +Internally such properties are set (overwritten): +<itemizedlist> +<listitem><para> +guid (if not set by root) +</para></listitem> +<listitem><para> +id (if set as primary property) +</para></listitem> +</itemizedlist> +Metadata overwritten properties: +<itemizedlist> +<listitem><para> +creator +</para></listitem> +<listitem><para> +created +</para></listitem> +<listitem><para> +revisor +</para></listitem> +<listitem><para> +revised +</para></listitem> +<listitem><para> +revision +</para></listitem> +<listitem><para> +published ( set only, if not defined by user ) +</para></listitem> +</itemizedlist> +Cases to return %FALSE: +<itemizedlist> +<listitem><para> +Property registered with #MGD_TYPE_GUID doesn't hold valid guid ( MGD_ERR_INVALID_PROPERTY_VALUE ) +</para></listitem> +<listitem><para> +Object's class is registered with tree facilities and there is already object with the same name in midgard tree. ( MGD_ERR_DUPLICATE ) +</para></listitem> +<listitem><para> +Object has guid property set already. ( MGD_ERR_DUPLICATE ) +</para></listitem> +<listitem><para> +Quota is activated and its limit is reached ( MGD_ERR_QUOTA ) +</para></listitem> +<listitem><para> +Unspecified internal error ( MGD_ERR_INTERNAL ) +</para></listitem> +</itemizedlist> + + %TRUE on success, %FALSE otherwise + + + + + Delete object's record(s) from database, but object's record is not fully deleted +from database. Instead, it is marked as deleted , thus it is possible to undelete +object later with midgard_schema_object_factory_object_undelete(). +If @check_dependents toggle is %TRUE, parameters and attachments storage will be queried, +if any of such exist and depend on deleted object. +If given object's class has no metadata defined, object will be purged. +Use midgard_object_purge() if you need to purge object's data from database. +Cases to return %FALSE: +<itemizedlist> +<listitem><para> +Object's has no storage defined ( MGD_ERR_OBJECT_NO_STORAGE ) +</para></listitem> +<listitem><para> +Object's property guid is empty ( MGD_ERR_INVALID_PROPERTY_VALUE ) +</para></listitem> +<listitem><para> +There are still dependent objects in database ( MGD_ERR_HAS_DEPENDENTS ) +</para></listitem> +<listitem><para> +Unspecified internal error ( MGD_ERR_INTERNAL ) +</para></listitem> +</itemizedlist> + + %TRUE if object is successfully marked as deleted, %FALSE otherwise. + + + + + dependents' check toggle + + + + + + Purge object's record(s) from database. +If @check_dependents toggle is %TRUE, parameters and attachments storage will be queried, +if any of such exist and depend on deleted object. +Object's record(s) are purged from database without any possibility to recover. +After successfull call, only repligard table holds information about object's state. +Use midgard_object_delete(), if undelete facility is needed. +Cases to return %FALSE: +<itemizedlist> +<listitem><para> +Object has no storage defined ( MGD_ERR_OBJECT_NO_STORAGE ) +</para></listitem> +<listitem><para> +Object's property guid value is empty ( MGD_ERR_INVALID_PROPERTY_VALUE ) +</para></listitem> +<listitem><para> +There are still dependent objects in database ( MGD_ERR_HAS_DEPENDANTS ) +</para></listitem> +<listitem><para> +No record has been deleted from database ( MGD_ERR_NOT_EXISTS ) +</para></listitem> +<listitem><para> +Unspecified internal error ( MGD_ERR_INTERNAL ) +</para></listitem> +</itemizedlist> + + %TRUE if object has been succesfully purged from database, %FALSE otherwise. + + + + + dependents' check toggle + + + + + + + + + + + Checks whether object has dependent objects. +Check is done with such particular order: +<itemizedlist> +<listitem><para> +Objects of the same type +</para></listitem> +<listitem><para> +Children objects +</para></listitem> +<listitem><para> +Parameters +</para></listitem> +<listitem><para> +Attachments +</para></listitem> +</itemizedlist> + + + + + + Sets object's guid +Cases to return %FALSE: +<itemizedlist> +<listitem><para> +given guid already exists in database ( MGD_ERR_DUPLICATE ) +</para></listitem> +<listitem><para> +given guid is invalid ( MGD_ERR_INVALID_PROPERTY_VALUE ) +</para></listitem> +<listitem><para> +object has already set guid property ( MGD_ERR_INVALID_PROPERTY_VALUE ) +</para></listitem> +</itemizedlist> + + %TRUE on success, %FALSE otherwise + + + + + guid to set + + + + + + + + + + + + + + + + Returned #MidgardConnection is owned by core, and should not be freed. + + pointer to #MidgardConnection associated with given object. + + + + + Approve object. +Approval functionality is not used by midgard core itself. +Instead, it supports higher level's applications. It means, +that there are no core methods ( like update or delete ) which +do real check if object is approved. You should create own approval +midgard_object_unapprove() and this one. +revisor, revised, revision, approver and approved. +Cases to return %FALSE: +<itemizedlist> +<listitem><para> +No user logged in ( MGD_ERR_ACCESS_DENIED ) +</para></listitem> +<listitem><para> +No active person ( MGD_ERR_INTERNAL ) +</para></listitem> +<listitem><para> +Object is already approved +</para></listitem> +</itemizedlist> + + %TRUE if object has been approved, FALSE otherwise + + + + + Check whether object is approved. + + %TRUE if object is approved, %FALSE otherwise + + + + + Simply unapprove object. It doesn't affect any core functionality, +like midgard_object_approve(). +This method updates metadata properties: +revisor, revised, revision, approver and approved +Cases to return %FALSE: +<itemizedlist> +<listitem><para> +No user logged in ( MGD_ERR_ACCESS_DENIED ) +</para></listitem> +<listitem><para> +Object is not approved +</para></listitem> +</itemizedlist> + + %TRUE on success, %FALSE otherwise + + + + + Lock object. +This method doesn't affect any core's functionality like midgard_object_approve. +You should create own locking workflow and logic with methods: +midgard_object_is_locked(), midgard_object_unlock() and this one. +Updates metadata properties: +locker, locked, revisor, revised and revision +Cases to return %FALSE: +<itemizedlist> +<listitem><para> +No user logged in ( MGD_ERR_ACCESS_DENIED ) +</para></listitem> +<listitem><para> +Metadata class not defined for given object's class ( MGD_ERR_NO_METADATA ) +</para></listitem> +<listitem><para> +Object is already locked ( MGD_ERR_OBJECT_IS_LOCKED ) +</para></listitem> +</itemizedlist> + + %TRUE on success, %FALSE otherwise + + + + + Check whether object is locked +Cases to return %FALSE: +<itemizedlist> +<listitem><para> +Metadata class not defined for given object's class ( MGD_ERR_NO_METADATA ) +</para></listitem> +</itemizedlist> + + %TRUE on success, %FALSE otherwise + + + + + Unlock object. +Cases to return %FALSE: +<itemizedlist> +<listitem><para> +No user logged in ( MGD_ERR_ACCESS_DENIED ) +</para></listitem> +<listitem><para> +Object is not locked ( FIXME ) +</para></listitem> +<listitem><para> +Metadata class not defined for given object's class ( MGD_ERR_NO_METADATA ) +</para></listitem> +</itemizedlist> + + %TRUE on success, %FALSE otherwise + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Creates object's parameter object if it doesn't exists, updates otherwise. + + %TRUE on success, %FALSE otherwise + + + + + parameter's domain string + + + + parameter's name string + + + + a GValue value which should be set for domain&name pair + + + + + + Returned objects are midgard_parameter class. Parameter objects are +fetched from database unconditionally if domain i sexplicitly set to NULL. +That is, only those which parent guid property matches object's guid. +Returned array should be freed when no longer needed. + + Newly allocated and NULL terminated array of midgard_parameter objects. + + + + + optional paramaters' domain + + + + + + Delete object's parameter(s) which match given properties' values. +Properties list in @parameters is optional. All object's parameters are +deleted ( if exist ) if @parameters is explicitly set to %NULL. + + %TRUE on success, %FALSE if at least one of the parameters could not be deleted + + + + + number of properties + + + + properties list + + + + + + Purge object's parameter(s) which match given properties' values. +Properties list in @parameters is optional. All object's parameters are +purged ( if exist ) if @parameters is explicitly set to %NULL. + + %TRUE on success, %FALSE if at least one of the parameters could not be purged + + + + + number of properties + + + + properties list + + + + + + Find object's parameter(s) with matching given properties. +returned ( if exist ) if @parameters is explicitly set to %NULL. + + newly created, NULL terminated array of #MidgardObject ( midgard_parameter class ) or %NULL on failure + + + + + number of properties + + + + properties list + + + + + + + %TRUE if object has paramateres, %FALSE otherwise. + + + + + Returned objects are midgard_attachment class. Attachments objects are +fetched from database unconditionally. +That is, only those which parent guid property matches object's guid. +Returned array should be freed when no longer needed. + + Newly allocated and NULL terminated array of midgard_attachment objects. + + + + + Creates object's attachment using given properties. +Any property may be explicitly set to NULL. + + newly created #MidgardObject of midgard_attachment class or %NULL on failure + + + + + name for attachment + + + + its title + + + + and mimetype + + + + + + Delete object's attachments(s) which match given properties' values. +Properties list in @parameters is optional. All object's attachments are +deleted ( if exist ) if @parameters is explicitly set to %NULL. + + %TRUE on success, %FALSE if at least one of the attachment could not be deleted + + + + + number of properties + + + + properties list + + + + + + Purge object's attachments(s) which match given properties' values. +Properties list in @parameters is optional. All object's attachments are +purged ( if exist ) if @parameters is explicitly set to %NULL. +to blob located on filesystem ( it should be set to %TRUE by default ). +However, if midgard_attachment is created for blobs sharing and file should not +be deleted, @delete_blob should be set to %FALSE. +There's no way to determine if midgard_attachment is sharing blob, so aplication +itelf is responsible to create such own logic. + + %TRUE on success, %FALSE if at least one of the attachment could not be purged + + + + + whether blob should be deleted as well + + + + number of properties + + + + properties list + + + + + + Find object's attachment(s) with matching given properties. +returned ( if exist ) if @parameters is explicitly set to %NULL. + + newly created, NULL terminated array of #MidgardObject ( midgard_attachment class ) or %NULL on failure + + + + + number of properties + + + + properties list + + + + + + + %TRUE if object has attachments, %FALSE otherwise. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Adds named property constraint to the given query builder. +Unlike add_constraint method, this one accepts property name +instead of scalar value. The difference is that with add_constraint +method you can compare property with particular value, while using +add_constraint_with_property method you can compare two different +properties without any need to know their values. +For example, you should use this method if you want to select only +those objects which has been revised after publication time, and particular +date doesn't matter. +<example> +<programlisting> +midgard_query_builder_add_constraint_with_property(builder, "metadata.revised", ">", "metadata.published"); +</programlisting> +</example> + + %TRUE if properties' names are valid, %FALSE otherwise + + + + + property name + + + + comparison operator + + + + property name + + + + + + Starts a constraint group of the given type. A conjunctive constraint +group @type (AND) requires that all component constraints match the +queried objects, while a disjunctive group @type (OR) requires just +one of the component constraints to match. + + %TRUE if the @type is valid, %FALSE otherwise + + + + + group type + + + + + + Closes the most recently opened constraint group. The client should +ensure proper nesting by closing all constraint groups before the +containing query is executed. +open constraint groups were found + + %TRUE if a constraint group was closed, or %FALSE if no + + + + + Adds an ordering constraint to the query. An ordering constraint consists +of a property name and a sort direction. The objects returned by this +query will be sorted by the given property in the given direction +(ascending or descending). Multiple ordering constraints are applied in +the order they were added. +Property name pattern is described in midgard_query_builder_add_constraint() + + %TRUE if the ordering constraint is valid, %FALSE otherwise + + + + + property name + + + + sort direction + + + + + + Sets the start @offset of the objects to return when the query is executed. +The start @offset is applied after all the matching objects have been +identified and sorted according to the given ordering constraints. The +first @offset objects are skipped and only the remaining (if any) objects +are returned to the client. +Setting a start offset is normally only reasonable when one or more +ordering constraints are applied to the query. A start offset is usually +accompanied by a limit setting. + + + + + + query offset + + + + + + Sets the maximum number of objects to return when the query is executed. +A query will by default return all matching objects, but the @limit setting +can be used to restrict the potentially large number of returned objects. +The @limit is applied only after the matching objects have been identified +and sorted and after the optional start offset has been applied. +Setting a @limit on the number of returned objects is normally only +reasonable when one or more ordering constraints and optionally an offset +setting are applied to the query. + + + + + + query limit + + + + + + Query all objects, deleted and undeleted. + + + + + + Executes the built query. +Objects in returned array are #MidgardDBObject derived ones, +and typecasted to base GObject. You can safely typecast them to +the type, which #MidgardQueryBuilder has been initialized for. +In case of any error, #MidgardConnection error is set. + + NULL terminated array of objects, or NULL if none found + + + + + a pointer to store number of returned objects + + + + + + + + + + + + + + + + + + + + + + + + + + + Adds named property constraint to the given query builder. +Unlike add_constraint method, this one accepts property name +instead of scalar value. The difference is that with add_constraint +method you can compare property with particular value, while using +add_constraint_with_property method you can compare two different +properties without any need to know their values. +For example, you should use this method if you want to select only +those objects which has been revised after publication time, and particular +date doesn't matter. +<example> +<programlisting> +midgard_query_builder_add_constraint_with_property(builder, "metadata.revised", ">", "metadata.published"); +</programlisting> +</example> + + %TRUE if properties' names are valid, %FALSE otherwise + + + + + property name + + + + comparison operator + + + + property name + + + + + + Starts a constraint group of the given type. A conjunctive constraint +group @type (AND) requires that all component constraints match the +queried objects, while a disjunctive group @type (OR) requires just +one of the component constraints to match. + + %TRUE if the @type is valid, %FALSE otherwise + + + + + group type + + + + + + Closes the most recently opened constraint group. The client should +ensure proper nesting by closing all constraint groups before the +containing query is executed. +open constraint groups were found + + %TRUE if a constraint group was closed, or %FALSE if no + + + + + Adds an ordering constraint to the query. An ordering constraint consists +of a property name and a sort direction. The objects returned by this +query will be sorted by the given property in the given direction +(ascending or descending). Multiple ordering constraints are applied in +the order they were added. +Property name pattern is described in midgard_query_builder_add_constraint() + + %TRUE if the ordering constraint is valid, %FALSE otherwise + + + + + property name + + + + sort direction + + + + + + Sets the start @offset of the objects to return when the query is executed. +The start @offset is applied after all the matching objects have been +identified and sorted according to the given ordering constraints. The +first @offset objects are skipped and only the remaining (if any) objects +are returned to the client. +Setting a start offset is normally only reasonable when one or more +ordering constraints are applied to the query. A start offset is usually +accompanied by a limit setting. + + + + + + query offset + + + + + + Sets the maximum number of objects to return when the query is executed. +A query will by default return all matching objects, but the @limit setting +can be used to restrict the potentially large number of returned objects. +The @limit is applied only after the matching objects have been identified +and sorted and after the optional start offset has been applied. +Setting a @limit on the number of returned objects is normally only +reasonable when one or more ordering constraints and optionally an offset +setting are applied to the query. + + + + + + query limit + + + + + + Executes the built query. +Objects in returned array are #MidgardDBObject derived ones, +and typecasted to base GObject. You can safely typecast them to +the type, which #MidgardQueryBuilder has been initialized for. +In case of any error, #MidgardConnection error is set. + + NULL terminated array of objects, or NULL if none found + + + + + a pointer to store number of returned objects + + + + + + + + + + + Returns type name of the type which is currently used by Query Builder. +This function should be used on language binding level , when internal +Query Builder's instance is already created and language binding object +should be instanciated. +Returned type name is a pointer and is owned by GLib system. +Caller shouldn't free it. + + name of the class, which query builder is initialized for. + + + + + Query all objects, deleted and undeleted. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + %TRUE if properties' names are valid, %FALSE otherwise + + + + + + + + property name + + + + comparison operator + + + + property name + + + + + + + + + %TRUE if the @type is valid, %FALSE otherwise + + + + + + + + group type + + + + + + + + + %TRUE if a constraint group was closed, or %FALSE if no + + + + + + + + + + + + + %TRUE if the ordering constraint is valid, %FALSE otherwise + + + + + + + + property name + + + + sort direction + + + + + + + + + + + + + + + + query offset + + + + + + + + + + + + + + + + query limit + + + + + + + + + + + + + + + + + + + + + NULL terminated array of objects, or NULL if none found + + + + + + + + a pointer to store number of returned objects + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + new #MidgardQueryConstraint instance, or %NULL on failure + + + + + #MidgardQueryProperty instance + + + + constraint operator + + + + #MidgardQueryHolder instance + + + + optional #MidgardQueryStorage to use with constraint + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + #MidgardQueryStorage associated with constraint or %NULL + + + + + + %TRUE on success, %FALSE otherwise + + + + + #MidgardQueryStorage to associate with @self constraint + + + + + + + #MidgardQueryProperty associated with @self constraint, or %NULL + + + + + + %TRUE on success, %FALSE otherwise + + + + + #MidgardQueryProperty to associate with @self constraint + + + + + + + operator type associated with @self constraint, or %NULL + + + + + Check midgard_query_constraint_new() for valid operator types. + + %TRUE on success, %FALSE otherwise + + + + + operator to associate with constraint + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Create new #MidgardQueryConstraintGroup instance with default "AND" group type. + + #MidgardQueryConstraintGroup instance or %NULL + + + + + This is C convinient function. It's not designed for language bindings. + + #MidgardQueryConstraintGroup instance or %NULL + + + + + constraints group type ('OR' or 'AND') + + + + list of constraints to add to group or NULL + + + + + + + + + + + #MidgardQueryConstraintGroup instance or %NULL + + + + + constraints group type + + + + an array of #MidgardQueryConstraintSimple constraints + + + + the length of given constraints array + + + + + + + group type ('OR' or 'AND') + + + + + + %TRUE if type is set, %FALSE otherwise + + + + + group type to set ('OR' or 'AND') + + + + + + + %TRUE on success, %FALSE otherwise + + + + + list of #MidgardQueryConstraintSimple constraint(s) to add to constraint group + + + + + + + + + + + + + + + + + + + + + + + + + + + + array of #MidgardQueryConstraintSimple instances + + + + + pointer to store numer of returned objects + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Set constraint object which will be used for query execution + + %TRUE on success, %FALSE otherwise + + + + + #MidgardConstraintSimple instance + + + + + + + %TRUE on success, %FALSE otherwise + + + + + execution limit + + + + + + + %TRUE on success, %FALSE otherwise + + + + + execution offset + + + + + + + %TRUE on success, %FALSE otherwise + + + + + + + + execution order + + + + + + + + + + + + + + + + + + + + + + + %TRUE on success, %FALSE otherwise + + + + + + number of objects or records returned from execution + + + + + Set constraint object which will be used for query execution + + %TRUE on success, %FALSE otherwise + + + + + #MidgardConstraintSimple instance + + + + + + + %TRUE on success, %FALSE otherwise + + + + + execution limit + + + + + + + %TRUE on success, %FALSE otherwise + + + + + execution offset + + + + + + + %TRUE on success, %FALSE otherwise + + + + + + + + execution order + + + + + + + + + + + + + + + + + + + + + + + %TRUE on success, %FALSE otherwise + + + + + + number of objects or records returned from execution + + + + + + + + + + + + + + + + + + + + + %TRUE on success, %FALSE otherwise + + + + + + + + #MidgardConstraintSimple instance + + + + + + + + + %TRUE on success, %FALSE otherwise + + + + + + + + execution limit + + + + + + + + + %TRUE on success, %FALSE otherwise + + + + + + + + execution offset + + + + + + + + + %TRUE on success, %FALSE otherwise + + + + + + + + + + + execution order + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + %TRUE on success, %FALSE otherwise + + + + + + + + + + + + + number of objects or records returned from execution + + + + + + + + + + + + + + + + + + + + pointer to store returned value + + + + + + + %TRUE on success, %FALSE otherwise + + + + + value to set + + + + + + + + + + + + + + + + + + + + + new #MidgardQueryProperty instance or NULL on failure + + + + + name of the property + + + + optional storage for given property + + + + + + + + + + + + + + + + + + + + + #MidgardStorage @storage represents storage which is queried during execution + + new #MidgardQuerySelect instance or %NULL on failure + + + + + #MidgardConnection instance + + + + #MidgardStorage instance + + + + + + List all objects for which data has been returned during execution. + + newly allocated array of #MidgardDBObject + + + + + pointer to store number of returned objects + + + + + + This method switch #MidgardQuerySelect to read only mode. +It should be enabled when returned objects will be used only to read properties. +It improves performance, but it's impossible to write returned object's properties. + + + + + + enables or disables read only mode + + + + + + List all objects for which data has been returned during execution. + + newly allocated array of #MidgardDBObject + + + + + pointer to store number of returned objects + + + + + + This method switch #MidgardQuerySelect to read only mode. +It should be enabled when returned objects will be used only to read properties. +It improves performance, but it's impossible to write returned object's properties. + + + + + + enables or disables read only mode + + + + + + + + + + + + + + + + newly allocated array of #MidgardDBObject + + + + + + + + pointer to store number of returned objects + + + + + + + + + + + + + + + + enables or disables read only mode + + + + + + + + + Initializes new object which represents #MidgardDBObject derived one's storage + + new #MidgardQueryStorage or %NULL on failure + + + + + name of the #MidgardDBObject derived class + + + + + + + + + + + + + + + + + + + + + + + new #MidgardQueryValue or %NULL on failure + + + + + a #GValue value + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Name of property which is defined as primary for given class or %NULL. + + + + + Name of the class + + + + + + + Name of property which is defined as 'up' for given class or %NULL. + + + + + Name of the class + + + + + + + Name of property which is defined as 'parent' for given class or %NULL. + + + + + Name of the class + + + + + + + Name of property which is defined unique for given class, or %NULL. + + + + + Name of the class + + + + + + Returns newly allocated, children ( in midgard tree ) classes' names. +Returned array should be freed if no longer needed without freeing array's elements. + + array of strings or %NULL. + + + + + + + Name of the class + + + + pointer to store number of children classes + + + + + + + + + + + + + + + + + Name of the metadata class of the given one or %NULL. + + + + + Name of the class + + + + + + + value of given node's name or %NULL. + + + + + Name of the class + + + + node's name declared for given @klass + + + + + + + + + + + + + + + + + newly initialized #MidgardReflectorProperty instance or %NULL on failure. + + + + + Name of #MidgardDBObject (or derived) class + + + + + + + type (#GType) of the property or %NULL if property is not registered for given class. + + + + + property name which is registered for #MidgardDBObjectClass + + + + + + Checks whether property is a link. + + %TRUE if property is registered as link, %FALSE otherwise (or in case if property is not registered for given class. + + + + + property name + + + + + + Checks if property is linked with another type. +%FALSE is returned if property is not linked or is not registered for given class. + + %TRUE if property is linked with another type (property of another class is defined as a link to given one). + + + + + property name + + + + + + + the pointer to the #MidgardDBObjectClass, a given property is a link to. + + + + + property name + + + + + + Or %NULL if property is not a link or given property is not registered for given class. + + The name of the class, the given property is a link to. + + + + + property name + + + + + + Or %NULL if property is not a link or it's not registered for given class. + + The name of the property, the given one is a link to. + + + + + property name + + + + + + + description of the given property or %NULL. + + + + + property name + + + + + + + value for user defined field, or NULL if none found + + + + + property to look value for + + + + name of user defined field + + + + + + + %TRUE, if propery is defined private, %FALSE otherwise + + + + + property name to check + + + + + + + %TRUE, if property is defined as unique, %FALSE otherwise + + + + + property name to check + + + + + + + %TRUE, if property is primary, %FALSE otherwise + + + + + property name to check + + + + + + + %TRUE, if property has default value, %FALSE otherwise + + + + + property name to check + + + + + + so it should be unset when no longer needed. + + %TRUE, if property has default value and its copy has been made, %FALSE otherwise + + + + + property name to check + + + + value which stores default value defined for given property + + + + + + + + + + + + + + + + + + + + + + + + + serialized objects as xml content or %NULL on failure. + + + + + GObject (or derived class) instance + + + + + + Given object is not serialized. Its storage record is marked as exported. + + %TRUE on success, %FALSE otherwise. + + + + + #MidgardDBObject instance + + + + + + Exports all purged objects of given class. If @startdate or @enddate are not NULL, +all objects which were purged between dates will be exported. + + xml buffer with serialized objects or %NULL if there are no objects matching given criteria. + + + + + #MidgardConnection instance + + + + name of #MidgardObjectClass derived one + + + + optional start date + + + + optional end date + + + + + + Serialize midgard_blob binary data. + + Newly allocated xml buffer, which holds blob data base64 encoded, or %NULL. + + + + + #MidgardObject of MIDGARD_TYPE_ATTACHMENT type + + + + + + Alias for midgard_replicator_serialize_blob(). + + serialized object as xml data + + + + + #MidgardObject of MIDGARD_TYPE_ATTACHMENT type + + + + + + Marks object's storage record as exported. +Cases to return %FALSE: +<itemizedlist> +<listitem><para> +Given guid is NULL or empty string (MGD_ERR_INVALID_PROPERTY_VALUE) +</para></listitem> +<listitem><para> +Object identified by given guid doesn't exist (MGD_ERR_NOT_EXISTS) +</para></listitem> +<listitem><para> +Object identified by given guid is purged (MGD_ERR_OBJECT_PURGED) +</para></listitem> +<listitem><para> +Internal storage error (MGD_ERR_INTERNAL) +</para></listitem> +</itemizedlist> + + %TRUE on success, %FALSE otherwise + + + + + #MidgardConnection instance + + + + guid which identifies object to be exported + + + + + + + + + + + + + + + + + Newly allocated array of GObjects + + + + + #MidgardConnection instance + + + + xml buffer which holds serialized object + + + + toggle to force unserialization + + + + + + Imports given object to underlying storage +Cases to return %FALSE: +<itemizedlist> +<listitem><para> +Given guid is NULL or empty string (MGD_ERR_INVALID_PROPERTY_VALUE) +</para></listitem> +<listitem><para> +Object is already imported (MGD_ERR_OBJECT_IMPORTED) +</para></listitem> +<listitem><para> +Object identified is deleted (MGD_ERR_OBJECT_DELETED) +</para></listitem> +</itemizedlist> +Set @force toggle if you want to import object even if it's already imported or deleted. + + %TRUE on success, %FALSE otherwise + + + + + #MidgardDBObject instance + + + + toggle to force import + + + + + + This method tries to import all objects which could be unserialized from gievn xml. +It's not atomic. Check error code returned from midgard_connection_get_error(). + + + + + + #MidgardConnection instance + + + + data buffer which holds serialized object + + + + toggle to force import + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Creates new instance of the class defined in Midgard Schema. +Cases to return %NULL: +<itemizedlist> +<listitem><para> +Given guid is not a valid guid (MGD_ERR_NOT_EXISTS) +</para></listitem> +<listitem><para> +There's no object identified by given guid (MGD_ERR_NOT_EXISTS) +</para></listitem> +<listitem><para> +Object identified by given guid is deleted (MGD_ERR_OBJECT_DELETED) +</para></listitem> +<listitem><para> +Object identified by given guid is purged (MGD_ERR_OBJECT_PURGED) +</para></listitem> +</itemizedlist> + + #MidgardObject derived new instance or %NULL on failure + + + + + #MidgardConnection instance + + + + guid which identifies object to look for + + + + + + Get object by path. Path elements are objects' names. +To get top object with empty name use "/" path. +Cases to return %NULL: +<itemizedlist> +<listitem><para> +Object identified by given path doesn't exist (MGD_ERR_NOT_EXISTS) +</para></listitem> +<listitem><para> +Given @classname doesn't support tree functionality (MGD_ERR_NOT_INTERNAL) +</para></listitem> +<listitem><para> +Given @classname doesn't provide 'id' or unique named property (MGD_ERR_NOT_INTERNAL) +</para></listitem> +</itemizedlist> + + #MidgardObject derived, new @classname instance or %NULL + + + + + #MidgardConnection instance + + + + name of the class, new instance should be created for + + + + path which identifies object + + + + + + Cases to return %FALSE: +<itemizedlist> +<listitem><para> +Object identified by given guid doesn't exist (MGD_ERR_NOT_EXISTS) +</para></listitem> +<listitem><para> +Object identified by given guid is purged (MGD_ERR_OBJECT_PURGED) +</para></listitem> +<listitem><para> +Object identified by given guid is not deleted (MGD_ERR_USER_DATA) +</para></listitem> +<listitem><para> +Either object's or repligard's record couldn't be updated (MGD_ERR_INTERNAL) +</para></listitem> +</itemizedlist> + + %TRUE on success, %FALSE otherwise + + + + + #MidgardConnection instance + + + + guid which identifies object to undelete + + + + + + + + + + + + + + + + + + + %TRUE, if given @object exists under @parent_object in tree. %FALSE otherwise. + + + + + #MidgardObject instance to check existance in tree + + + + parent #MidgardObject instance + + + + + + + classname which, in tree is a parent one for given @object + + + + + #MidgardObject instance + + + + + + Get tree parent object, of the given @object. + + parent object or %NULL + + + + + #MidgardObject instance + + + + + + List tree children objects, of given @object type. + + newly allocated array of #MidgardObject objects + + + + + #MidgardObject instance + + + + pointer to store number of returned objects + + + + + + List all @classname objects, if exist and are tree children of given @object. + + array of #MidgardObject objects, or %NULL. + + + + + #MidgardObject instance + + + + name of the tree child class + + + + pointer to store number of returned objects + + + + + + + + + + + + + + + + + + Creates storage for base Midgard classes. + + %TRUE if tables has been created, %FALSE otherwise. + + + + + #MidgardConnection instance + + + + + + Creates underlying storage (e.g. table in database) for class which is identified by given @name. +It may be class which represents any underlying storage type (database table or view, for example). +If underlying storage already exists, this method silently ignore creation +and returns %TRUE. Such case is not considered an error. +This method also creates metadata storage if given class uses such. +Indexes are created if: +<itemizedlist> +<listitem><para> +property is a link type +</para></listitem> +<listitem><para> +property is linked to another property +</para></listitem> +<listitem><para> +property is either parent or up +</para></listitem> +<listitem><para> +property holds guid value +</para></listitem> +</itemizedlist> +Auto increment (and primary key ) field is created if property is defined +as primaryproperty, and it's integer ( or unsigned one ) type + + %TRUE on success, %FALSE otherwise + + + + + #MidgardConnection instance + + + + name of #MidgardDBObjectClass derived class + + + + + + Update underlying storage. +This method doesn't create storage. It creates new columns if are defined +for class properties and do not exist in storage yet. +See midgard_storage_create() if you need more info about indexes. + + %TRUE on success, %FALSE otherwise + + + + + #MidgardConnection instance + + + + Name of #MidgardDBObjectClass derived class. + + + + + + Checks whether storage for given class exists. + + %TRUE if storage exists, %FALSE otherwise + + + + + #MidgardConnection instance + + + + Name of #MidgardDBObjectClass derived class + + + + + + Delete storage for given class. + + %TRUE on success, %FALSE otherwise + + + + + #MidgardConnection instance + + + + name of #MidgardDBObjectClass derived class. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + New #MidgardTransaction instance or NULL on failure + + + + + + + + + + Begins new, underlying database provider's transaction. +In case of error, #MidgardConnection error is set to MGD_ERR_INTERNAL. + + %TRUE on success, %FALSE otherwise. + + + + + In case of error, #MidgardConnection error is set to MGD_ERR_INTERNAL. + + %TRUE on success, %FALSE otherwise + + + + + In case of error, #MidgardConnection error is set to MGD_ERR_INTERNAL + + %TRUE on success, %FALSE otherwise. + + + + + Returns transaction status. %FALSE means, any transaction operation failed. +No #MidgardConnection error is set in case of error. + + %TRUE on success, %FALSE otherwise + + + + + + unique name which identifies given transaction. + + + + + Begins new, underlying database provider's transaction. +In case of error, #MidgardConnection error is set to MGD_ERR_INTERNAL. + + %TRUE on success, %FALSE otherwise. + + + + + In case of error, #MidgardConnection error is set to MGD_ERR_INTERNAL. + + %TRUE on success, %FALSE otherwise + + + + + In case of error, #MidgardConnection error is set to MGD_ERR_INTERNAL + + %TRUE on success, %FALSE otherwise. + + + + + Returns transaction status. %FALSE means, any transaction operation failed. +No #MidgardConnection error is set in case of error. + + %TRUE on success, %FALSE otherwise + + + + + + unique name which identifies given transaction. + + + + + + + + + + + + + + + + + + %TRUE on success, %FALSE otherwise. + + + + + + + + + + + + + %TRUE on success, %FALSE otherwise + + + + + + + + + + + + + %TRUE on success, %FALSE otherwise. + + + + + + + + + + + + + %TRUE on success, %FALSE otherwise + + + + + + + + + + + + + unique name which identifies given transaction. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + in constructor if @parameters argument will be set to not %NULL value. + + #MidgardUser object or %NULL on failure + + + + + #MidgardConnection instance + + + + number of parameters + + + + #GParameter with #MidgardUser properties + + + + + + Fetch #MidgardUser object from storage. +At least 'login' and 'authtype' property are required to be set in parameters. +Cases to return %NULL: +<itemizedlist> +<listitem><para> +'login' or 'authtype' properties do not exist in given parameters (MGD_ERR_INVALID_PROPERTY_VALUE) +</para></listitem> +<listitem><para> +There's no user object which match given parameters (MGD_ERR_NOT_EXISTS) +</para></listitem> +<listitem><para> +More than one record found in database (MGD_ERR_INTERNAL) +</para></listitem> +</itemizedlist> +Since 9.09 + + new #MidgardUser instance or %NULL in case of failure + + + + + #MidgardConnection instance + + + + number of parameters + + + + #GParameter with #MidgardUser properties + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Returned object should not be unref. + + #MidgardObject of "midgard_person" type, of %NULL if none associated. + + + + + + + + + + Cases to return %FALSE: +<itemizedlist> +<listitem><para> +There's no user logged in (MGD_ERR_INTERNAL) +</para></listitem> +<listitem><para> +User is not recently logged in (MGD_ERR_INTERNAL) +</para></listitem> +</itemizedlist> + + %TRUE if user successfully logs out, %FALSE otherwise + + + + + + + + + + Updates user storage record +Cases to return %FALSE: +<itemizedlist> +<listitem><para> +User with such login and authentication type already exists ( MGD_ERR_DUPLICATE ) +</para></listitem> +<listitem><para> +User's guid is not set ( MGD_ERR_INVALID_PROPERTY_VALUE ) +</para></listitem> +<listitem><para> +'authtype' property is empty or NULL ( MGD_ERR_INVALID_PROPERTY_VALUE ) +</para></listitem> +<listitem><para> +User record hasn't been found ( MGD_ERR_INTERNAL ) +</para></listitem> +<listitem><para> +Failed to update storage record ( MGD_ERR_INTERNAL ) +</para></listitem> +<listitem><para> +'authtype' property value is invalid ( MGD_ERR_INTERNAL ) +</para></listitem> +</itemizedlist> + + %TRUE on success, %FALSE otherwise + + + + + + + + + + Checks if given user is a user. +For example, function will return FALSE for user who is logged in as admin or root. + + %TRUE if user is a user, %FALSE otherwise + + + + + Checks if given user is an admin. + + %TRUE if user is an admin, %FALSE otherwise + + + + + + + + + + Updates user storage record +Cases to return %FALSE: +<itemizedlist> +<listitem><para> +User with such login and authentication type already exists ( MGD_ERR_DUPLICATE ) +</para></listitem> +<listitem><para> +User's guid is not set ( MGD_ERR_INVALID_PROPERTY_VALUE ) +</para></listitem> +<listitem><para> +'authtype' property is empty or NULL ( MGD_ERR_INVALID_PROPERTY_VALUE ) +</para></listitem> +<listitem><para> +User record hasn't been found ( MGD_ERR_INTERNAL ) +</para></listitem> +<listitem><para> +Failed to update storage record ( MGD_ERR_INTERNAL ) +</para></listitem> +<listitem><para> +'authtype' property value is invalid ( MGD_ERR_INTERNAL ) +</para></listitem> +</itemizedlist> + + %TRUE on success, %FALSE otherwise + + + + + Delete user's storage record. +Cases to return %FALSE: +<itemizedlist> +<listitem><para> +User's guid is not set ( MGD_ERR_INVALID_PROPERTY_VALUE ) +</para></listitem> +<listitem><para> +Failed to delete storage record ( MGD_ERR_INTERNAL ) +</para></listitem> +</itemizedlist> + + @TRUE on success, @FALSE otherwise + + + + + Checks if given user is a user. +For example, function will return FALSE for user who is logged in as admin or root. + + %TRUE if user is a user, %FALSE otherwise + + + + + Checks if given user is an admin. + + %TRUE if user is an admin, %FALSE otherwise + + + + + Returned object should not be unref. + + #MidgardObject of "midgard_person" type, of %NULL if none associated. + + + + + Associates given #MidgardObject person with @self #MidgardUser. +Sets person property and updates user storage record. +#MidgardUser @self takes ownership of the given #MidgardPerson reference, +which should be not unref any more. +See midgard_user_update() for returned error details. + + %TRUE on success, %FALSE otherwise + + + + + #MidgardObject instance + + + + + + + + + + + Cases to return %FALSE: +<itemizedlist> +<listitem><para> +There's no user logged in (MGD_ERR_INTERNAL) +</para></listitem> +<listitem><para> +User is not recently logged in (MGD_ERR_INTERNAL) +</para></listitem> +</itemizedlist> + + %TRUE if user successfully logs out, %FALSE otherwise + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + #MidgardObject of "midgard_person" type, of %NULL if none associated. + + + + + + + + + + + + + + + + + + + + + + + + + %TRUE if user successfully logs out, %FALSE otherwise + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + %TRUE on success, %FALSE otherwise + + + + + + + + + + + + + + + + + + + + + + + + + %TRUE if user is a user, %FALSE otherwise + + + + + + + + + + + + + %TRUE if user is an admin, %FALSE otherwise + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + new #MidgardDBus instance, %NULL otherwise + + + + + #MidgardConnection instance + + + + a path at which D-Bus object exists + + + + whether to use session bus + + + + + + Emits 'Notified' signal on objects at given @path and sends given message. + + + + + + #MidgardConnection instance + + + + dbus path at which we expect recipients + + + + a message to be sent + + + + whether to use system or session bus + + + + + + + + + + + Get message associated with givven instance. + + pointer to object's message or %NULL + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + structure. This function checks pointer type using MIDGARD_IS_CONNECTION +convention macro. Next midgard_connection_get_loglevel is called to get loglevel. +If MidgardConnection check fails , a typecast to MidgardTypeHolder is made. +In this case, level member is used to get loglevel. +You are responsible to correctly set MidgardConnection or MidgardTypeHolder +before passing ptr argument. The main approach is to follow configuration's +loglevel even if MidgardConnection pointer is not yet available. + + + + + + domain for the given log message + + + + GLogLevelFlags + + + + log message + + + + pointer to structure which holds loglevel + + + + + + GQuark for Midgard Error. It's used by Midgard Error implementation, and +probably not needed to use by any application. + + MGD_GENERIC_ERROR GQuark + + + + + This function returns level registered in GLib. + + #GLogLevelFlags or -1 on failure + + + + + string which should be parsed + + + + + + Get error message for the given error code. + + error messages which is owned by midgard-core and should not be freed. + + + + + GQuark which represents MidgardError domain. + + + + MidgardErrorGeneric enum value. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Deprecated:10.05 + + newly initialized #MidgardReflectionProperty instance or %NULL on failure. + + + + + #MidgardDBObjectClass pointer + + + + + + Deprecated:10.05 + + type (#GType) of the property or %NULL if property is not registered for given class. + + + + + property name which is registered for #MidgardDBObjectClass + + + + + + Checks whether property is a link. +Deprecated:10.05 + + %TRUE if property is registered as link, %FALSE otherwise (or in case if property is not registered for given class. + + + + + property name + + + + + + Checks if property is linked with another type. +%FALSE is returned if property is not linked or is not registered for given class. +Deprecated:10.05 + + %TRUE if property is linked with another type (property of another class is defined as a link to given one). + + + + + property name + + + + + + Returns the pointer to the #MidgardDBObjectClass, a given property is a link to. +Deprecated:10.05 + + + + + + property name + + + + + + Or %NULL if property is not a link or given property is not registered for given class. +Deprecated:10.05 + + The name of the class, the given property is a link to. + + + + + property name + + + + + + Or %NULL if property is not a link or it's not registered for given class. +Deprecated:10.05 + + The name of the property, the given one is a link to. + + + + + property name + + + + + + Deprecated:10.05 + + description of the given property or %NULL. + + + + + property name + + + + + + Deprecated:10.05 + + value for user defined field, or NULL if none found + + + + + property to look value for + + + + name of user defined field + + + + + + Deprecated:10.05 + + %TRUE, if propery is defined private, %FALSE otherwise + + + + + property name to check + + + + + + + This function sets internal error constant, and creates new error message. +User defined message is appended to internal one. +Any message created by application ( and its corresponding constant ) are destroyed +and reset to MGD_ERR_OK when any API function is invoked. +Second @domain parameter is optional , and can be safely defined as NULL for +MGD_GENERIC_ERROR domain. +<example> +<programlisting> +void set_wrong_property(MidgardConnection *mgd, gchar *prop) +{ +midgard_set_error(mgd, NULL, +MGD_ERR_INVALID_PROPERTY_VALUE, +"My application doesn't accept %s property", +prop); +} +</programlisting> +</example> + + + + + + #MidgardConnection instance + + + + GQuark which represents MidgardError domain + + + + #MidgardErrorGeneric enum value + + + + a message which should be appended to string represented by errcode + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Notify-0.4.gir b/Notify-0.4.gir new file mode 100644 index 0000000..139d054 --- /dev/null +++ b/Notify-0.4.gir @@ -0,0 +1,497 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/PanelApplet-3.0.gir b/PanelApplet-3.0.gir new file mode 100644 index 0000000..7b10ed5 --- /dev/null +++ b/PanelApplet-3.0.gir @@ -0,0 +1,618 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Pango-1.0.gir b/Pango-1.0.gir new file mode 100644 index 0000000..468b177 --- /dev/null +++ b/Pango-1.0.gir @@ -0,0 +1,7936 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Create a new font description attribute. This attribute +allows setting family, style, weight, variant, stretch, +and size simultaneously. +freed with pango_attribute_destroy(). + + the newly allocated #PangoAttribute, which should be + + + + + the font description + + + + + + + + + + + + + + + + Get the range of the current segment. Note that the +stored return values are signed, not unsigned like +the values in #PangoAttribute. To deal with this API +oversight, stored return values that wouldn't fit into +a signed integer are clamped to %G_MAXINT. + + + + + + location to store the start of the range + + + + location to store the end of the range + + + + + + Advance the iterator until the next change of style. + + %FALSE if the iterator is at the end of the list, otherwise %TRUE + + + + + Copy a #PangoAttrIterator +be freed with pango_attr_iterator_destroy(). + + the newly allocated #PangoAttrIterator, which should + + + + + Destroy a #PangoAttrIterator and free all associated memory. + + + + + + Find the current attribute of a particular type at the iterator +location. When multiple attributes of the same type overlap, +the attribute whose range starts closest to the current location +is used. +if no attribute of that type applies to the current +location. + + the current attribute of the given type, or %NULL + + + + + the type of attribute to find. + + + + + + Get the font and other attributes at the current iterator position. + + + + + + a #PangoFontDescription to fill in with the current values. The family name in this structure will be set using pango_font_description_set_family_static() using values from an attribute in the #PangoAttrList associated with the iterator, so if you plan to keep it around, you must call: <literal>pango_font_description_set_family (desc, pango_font_description_get_family (desc))</literal>. + + + + if non-%NULL, location to store language tag for item, or %NULL if none is found. + + + + if non-%NULL, location in which to store a list of non-font attributes at the the current position; only the highest priority value of each attribute will be added to this list. In order to free this value, you must call pango_attribute_destroy() on each member. + + + + + + + + Gets a list of all attributes at the current position of the +iterator. +all attributes for the current range. +To free this value, call pango_attribute_destroy() on +each value and g_slist_free() on the list. + + a list of + + + + + + + + + + + + + + + Create a new language tag attribute. +freed with pango_attribute_destroy(). + + the newly allocated #PangoAttribute, which should be + + + + + language tag + + + + + + + + Create a new empty attribute list with a reference count of one. +be freed with pango_attr_list_unref(). + + the newly allocated #PangoAttrList, which should + + + + + Increase the reference count of the given attribute list by one. + + The attribute list passed in + + + + + Decrease the reference count of the given attribute list by one. +If the result is zero, free the attribute list and the attributes +it contains. + + + + + + Copy @list and return an identical new list. +reference count of one, which should +be freed with pango_attr_list_unref(). +Returns %NULL if @list was %NULL. + + the newly allocated #PangoAttrList, with a + + + + + Insert the given attribute into the #PangoAttrList. It will +be inserted after all other attributes with a matching + + + + + + the attribute to insert. Ownership of this value is assumed by the list. + + + + + + Insert the given attribute into the #PangoAttrList. It will +be inserted before all other attributes with a matching + + + + + + the attribute to insert. Ownership of this value is assumed by the list. + + + + + + Insert the given attribute into the #PangoAttrList. It will +replace any attributes of the same type on that segment +and be merged with any adjoining attributes that are identical. +This function is slower than pango_attr_list_insert() for +creating a attribute list in order (potentially much slower +for large lists). However, pango_attr_list_insert() is not +suitable for continually changing a set of attributes +since it never removes or combines existing attributes. + + + + + + the attribute to insert. Ownership of this value is assumed by the list. + + + + + + This function opens up a hole in @list, fills it in with attributes from +the left, and then merges @other on top of the hole. +This operation is equivalent to stretching every attribute +that applies at position @pos in @list by an amount @len, +and then calling pango_attr_list_change() with a copy +of each attribute in @other in sequence (offset in position by @pos). +This operation proves useful for, for instance, inserting +a pre-edit string in the middle of an edit buffer. + + + + + + another #PangoAttrList + + + + the position in @list at which to insert @other + + + + the length of the spliced segment. (Note that this must be specified since the attributes in @other may only be present at some subsection of this range) + + + + + + Given a #PangoAttrList and callback function, removes any elements +of @list for which @func returns %TRUE and inserts them into +a new list. +no attributes of the given types were found. + + the new #PangoAttrList or %NULL if + + + + + callback function; returns %TRUE if an attribute should be filtered out. + + + + Data to be passed to @func + + + + + + Create a iterator initialized to the beginning of the list. +be freed with pango_attr_iterator_destroy(). + + the newly allocated #PangoAttrIterator, which should + + + + + + + + + + + + + + + + + + + + + + + + + Create a new shape attribute. A shape is used to impose a +particular ink and logical rectangle on the result of shaping a +particular glyph. This might be used, for instance, for +embedding a picture or a widget inside a #PangoLayout. +freed with pango_attribute_destroy(). + + the newly allocated #PangoAttribute, which should be + + + + + ink rectangle to assign to each character + + + + logical rectangle to assign to each character + + + + + + Like pango_attr_shape_new(), but a user data pointer is also +provided; this pointer can be accessed when later +rendering the glyph. +freed with pango_attribute_destroy(). + + the newly allocated #PangoAttribute, which should be + + + + + ink rectangle to assign to each character + + + + logical rectangle to assign to each character + + + + user data pointer + + + + function to copy @data when the attribute is copied. If %NULL, @data is simply copied as a pointer. + + + + function to free @data when the attribute is freed, or %NULL + + + + + + + + + + + + + + + + + Create a new font-size attribute in fractional points. +freed with pango_attribute_destroy(). + + the newly allocated #PangoAttribute, which should be + + + + + the font size, in %PANGO_SCALE<!-- -->ths of a point. + + + + + + Create a new font-size attribute in device units. +freed with pango_attribute_destroy(). + + the newly allocated #PangoAttribute, which should be + + + + + the font size, in %PANGO_SCALE<!-- -->ths of a device unit. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Initializes @attr's klass to @klass, +it's start_index to %PANGO_ATTR_INDEX_FROM_TEXT_BEGINNING +and end_index to %PANGO_ATTR_INDEX_TO_TEXT_END +such that the attribute applies +to the entire text by default. + + + + + + a #PangoAttributeClass + + + + + + Make a copy of an attribute. +freed with pango_attribute_destroy(). + + the newly allocated #PangoAttribute, which should be + + + + + Destroy a #PangoAttribute and free all associated memory. + + + + + + Compare two attributes for equality. This compares only the +actual value of the two attributes and not the ranges that the +attributes apply to. + + %TRUE if the two attributes have the same value. + + + + + another #PangoAttribute + + + + + + + The #PangoBidiType type represents the bidirectional character +type of a Unicode character as specified by the +<ulink url="http://www.unicode.org/reports/tr9/">Unicode bidirectional algorithm</ulink>. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Creates a copy of @src, which should be freed with +pango_color_free(). Primarily used by language bindings, +not that useful otherwise (since colors can just be copied +by assignment in C). +be freed with pango_color_free(), or %NULL +if @src was %NULL. + + the newly allocated #PangoColor, which should + + + + + Frees a color allocated by pango_color_copy(). + + + + + + Fill in the fields of a color from a string specification. The +string can either one of a large set of standard names. (Taken +from the X11 <filename>rgb.txt</filename> file), or it can be a hex value in the +form '&num;rgb' '&num;rrggbb' '&num;rrrgggbbb' or '&num;rrrrggggbbbb' where +'r', 'g' and 'b' are hex digits of the red, green, and blue +components of the color, respectively. (White in the four +forms is '&num;fff' '&num;ffffff' '&num;fffffffff' and '&num;ffffffffffff') +otherwise false. + + %TRUE if parsing of the specifier succeeded, + + + + + a string specifying the new color + + + + + + Returns a textual specification of @color in the hexadecimal form +<literal>&num;rrrrggggbbbb</literal>, where <literal>r</literal>, +<literal>g</literal> and <literal>b</literal> are hex digits representing +the red, green, and blue components respectively. + + a newly-allocated text string that must be freed with g_free(). + + + + + + + Creates a new #PangoContext initialized to default values. +This function is not particularly useful as it should always +be followed by a pango_context_set_font_map() call, and the +function pango_font_map_create_context() does these two steps +together and hence users are recommended to use that. +If you are using Pango as part of a higher-level system, +that system may have it's own way of create a #PangoContext. +For instance, the GTK+ toolkit has, among others, +gdk_pango_context_get_for_screen(), and +gtk_widget_get_pango_context(). Use those instead. +be freed with g_object_unref(). + + the newly allocated #PangoContext, which should + + + + + Sets the font map to be searched when fonts are looked-up in this context. +This is only for internal use by Pango backends, a #PangoContext obtained +via one of the recommended methods should already have a suitable font map. + + + + + + the #PangoFontMap to set. + + + + + + Gets the #PangoFontmap used to look up fonts for this context. +is owned by Pango and should not be unreferenced. + + the font map for the #PangoContext. This value + + + + + List all families for a context. + + + + + + location to store a pointer to an array of #PangoFontFamily *. This array should be freed with g_free(). + + + + location to store the number of elements in @descs + + + + + + Loads the font in one of the fontmaps in the context +that is the closest match for @desc. + + the font loaded, or %NULL if no font matched. + + + + + a #PangoFontDescription describing the font to load + + + + + + Load a set of fonts in the context that can be used to render +a font matching @desc. + + the fontset, or %NULL if no font matched. + + + + + a #PangoFontDescription describing the fonts to load + + + + a #PangoLanguage the fonts will be used for + + + + + + Get overall metric information for a particular font +description. Since the metrics may be substantially different for +different scripts, a language tag can be provided to indicate that +the metrics should be retrieved that correspond to the script(s) +used by that language. +The #PangoFontDescription is interpreted in the same way as +by pango_itemize(), and the family name may be a comma separated +list of figures. If characters from multiple of these families +would be used to render the string, then the returned fonts would +be a composite of the metrics for the fonts loaded for the +individual families. +when finished using the object. + + a #PangoFontMetrics object. The caller must call pango_font_metrics_unref() + + + + + a #PangoFontDescription structure. %NULL means that the font description from the context will be used. + + + + language tag used to determine which script to get the metrics for. %NULL means that the language tag from the context will be used. If no language tag is set on the context, metrics for the default language (as determined by pango_language_get_default()) will be returned. + + + + + + Set the default font description for the context + + + + + + the new pango font description + + + + + + Retrieve the default font description for the context. +This value must not be modified or freed. + + a pointer to the context's default font description. + + + + + Retrieves the global language tag for the context. + + the global language tag. + + + + + Sets the global language tag for the context. The default language +for the locale of the running process can be found using +pango_language_get_default(). + + + + + + the new language tag. + + + + + + Sets the base direction for the context. +The base direction is used in applying the Unicode bidirectional +algorithm; if the @direction is %PANGO_DIRECTION_LTR or +%PANGO_DIRECTION_RTL, then the value will be used as the paragraph +direction in the Unicode bidirectional algorithm. A value of +%PANGO_DIRECTION_WEAK_LTR or %PANGO_DIRECTION_WEAK_RTL is used only +for paragraphs that do not contain any strong characters themselves. + + + + + + the new base direction + + + + + + Retrieves the base direction for the context. See +pango_context_set_base_dir(). + + the base direction for the context. + + + + + Sets the base gravity for the context. +The base gravity is used in laying vertical text out. + + + + + + the new base gravity + + + + + + Retrieves the base gravity for the context. See +pango_context_set_base_gravity(). + + the base gravity for the context. + + + + + Retrieves the gravity for the context. This is similar to +pango_context_get_base_gravity(), except for when the base gravity +is %PANGO_GRAVITY_AUTO for which pango_gravity_get_for_matrix() is used +to return the gravity from the current context matrix. + + the resolved gravity for the context. + + + + + Sets the gravity hint for the context. +The gravity hint is used in laying vertical text out, and is only relevant +if gravity of the context as returned by pango_context_get_gravity() +is set %PANGO_GRAVITY_EAST or %PANGO_GRAVITY_WEST. + + + + + + the new gravity hint + + + + + + Retrieves the gravity hint for the context. See +pango_context_set_gravity_hint() for details. + + the gravity hint for the context. + + + + + Sets the transformation matrix that will be applied when rendering +with this context. Note that reported metrics are in the user space +coordinates before the application of the matrix, not device-space +coordinates after the application of the matrix. So, they don't scale +with the matrix, though they may change slightly for different +matrices, depending on how the text is fit to the pixel grid. + + + + + + a #PangoMatrix, or %NULL to unset any existing matrix. (No matrix set is the same as setting the identity matrix.) + + + + + + Gets the transformation matrix that will be applied when +rendering with this context. See pango_context_set_matrix(). +(which is the same as the identity matrix). The returned +matrix is owned by Pango and must not be modified or +freed. + + the matrix, or %NULL if no matrix has been set + + + + + + + + + Create a new #PangoCoverage +initialized to %PANGO_COVERAGE_NONE +with a reference count of one, which +should be freed with pango_coverage_unref(). + + the newly allocated #PangoCoverage, + + + + + Increase the reference count on the #PangoCoverage by one + + @coverage + + + + + Decrease the reference count on the #PangoCoverage by one. +If the result is zero, free the coverage and all associated memory. + + + + + + Copy an existing #PangoCoverage. (This function may now be unnecessary +since we refcount the structure. File a bug if you use it.) +with a reference count of one, which +should be freed with pango_coverage_unref(). + + the newly allocated #PangoCoverage, + + + + + Determine whether a particular index is covered by @coverage + + the coverage level of @coverage for character @index_. + + + + + the index to check + + + + + + Modify a particular index within @coverage + + + + + + the index to modify + + + + the new level for @index_ + + + + + + Set the coverage for each index in @coverage to be the max (better) +value of the current coverage for the index and the coverage for +the corresponding index in @other. + + + + + + another #PangoCoverage + + + + + + Convert a #PangoCoverage structure into a flat binary format + + + + + + location to store result (must be freed with g_free()) + + + + location to store size of result + + + + + + + + + + + + + The #PangoDirection type represents a direction in the +Unicode bidirectional algorithm; not every value in this +enumeration makes sense for every usage of #PangoDirection; +for example, the return value of pango_unichar_direction() +and pango_find_base_dir() cannot be %PANGO_DIRECTION_WEAK_LTR +or %PANGO_DIRECTION_WEAK_RTL, since every character is either +neutral or has a strong direction; on the other hand +%PANGO_DIRECTION_NEUTRAL doesn't make sense to pass +to pango_itemize_with_base_dir(). +The %PANGO_DIRECTION_TTB_LTR, %PANGO_DIRECTION_TTB_RTL +values come from an earlier interpretation of this +enumeration as the writing direction of a block of +text and are no longer used; See #PangoGravity for how +vertical text is handled in Pango. + + + + + + + + + + + + + + + + + + + + + + + + + + + Frees an array of font descriptions. + + + + + + a pointer to an array of #PangoFontDescription, may be %NULL + + + + number of font descriptions in @descs + + + + + + Creates a new font description from a string representation in the +form "[FAMILY-LIST] [STYLE-OPTIONS] [SIZE]", where FAMILY-LIST is a +comma separated list of families optionally terminated by a comma, +STYLE_OPTIONS is a whitespace separated list of words where each WORD +describes one of style, variant, weight, stretch, or gravity, and SIZE +is a decimal number (size in points) or optionally followed by the +unit modifier "px" for absolute size. Any one of the options may +be absent. If FAMILY-LIST is absent, then the family_name field of +the resulting font description will be initialized to %NULL. If +STYLE-OPTIONS is missing, then all style options will be set to the +default values. If SIZE is missing, the size in the resulting font +description will be set to 0. + + a new #PangoFontDescription. + + + + + string representation of a font description. + + + + + + Returns a description of the font, with font size set in points. +Use pango_font_describe_with_absolute_size() if you want the font +size in device units. + + a newly-allocated #PangoFontDescription object. + + + + + Returns a description of the font, with absolute font size set +(in device units). Use pango_font_describe() if you want the font +size in points. + + a newly-allocated #PangoFontDescription object. + + + + + Computes the coverage map for a given font and language tag. + + a newly-allocated #PangoCoverage object. + + + + + the language tag + + + + + + Finds the best matching shaper for a font for a particular +language tag and character point. + + the best matching shaper. + + + + + the language tag + + + + a Unicode character. + + + + + + Gets overall metric information for a font. Since the metrics may be +substantially different for different scripts, a language tag can +be provided to indicate that the metrics should be retrieved that +correspond to the script(s) used by that language. +If @font is %NULL, this function gracefully sets some sane values in the +output variables and returns. +when finished using the object. + + a #PangoFontMetrics object. The caller must call pango_font_metrics_unref() + + + + + language tag used to determine which script to get the metrics for, or %NULL to indicate to get the metrics for the entire font. + + + + + + Gets the logical and ink extents of a glyph within a font. The +coordinate system for each rectangle has its origin at the +base line and horizontal origin of the character with increasing +coordinates extending to the right and down. The macros PANGO_ASCENT(), +PANGO_DESCENT(), PANGO_LBEARING(), and PANGO_RBEARING() can be used to convert +from the extents rectangle to more traditional font metrics. The units +of the rectangles are in 1/PANGO_SCALE of a device unit. +If @font is %NULL, this function gracefully sets some sane values in the +output variables and returns. + + + + + + the glyph index + + + + rectangle used to store the extents of the glyph as drawn or %NULL to indicate that the result is not needed. + + + + rectangle used to store the logical extents of the glyph or %NULL to indicate that the result is not needed. + + + + + + Gets the font map for which the font was created. +Note that the font maintains a <firstterm>weak</firstterm> reference +to the font map, so if all references to font map are dropped, the font +map will be finalized even if there are fonts created with the font +map that are still alive. In that case this function will return %NULL. +It is the responsibility of the user to ensure that the font map is kept +alive. In most uses this is not an issue as a #PangoContext holds +a reference to the font map. + + the #PangoFontMap for the font, or %NULL if @font is %NULL. + + + + + + + Creates a new font description structure with all fields unset. +should be freed using pango_font_description_free(). + + the newly allocated #PangoFontDescription, which + + + + + Make a copy of a #PangoFontDescription. +be freed with pango_font_description_free(), or %NULL +if @desc was %NULL. + + the newly allocated #PangoFontDescription, which should + + + + + Like pango_font_description_copy(), but only a shallow copy is made +of the family name and other allocated fields. The result can only +be used until @desc is modified or freed. This is meant to be used +when the copy is only needed temporarily. +be freed with pango_font_description_free(), or %NULL +if @desc was %NULL. + + the newly allocated #PangoFontDescription, which should + + + + + Computes a hash of a #PangoFontDescription structure suitable +to be used, for example, as an argument to g_hash_table_new(). +The hash value is independent of @desc->mask. + + the hash value. + + + + + Compares two font descriptions for equality. Two font descriptions +are considered equal if the fonts they describe are provably identical. +This means that their masks do not have to match, as long as other fields +are all the same. (Two font descriptions may result in identical fonts +being loaded, but still compare %FALSE.) +%FALSE otherwise. + + %TRUE if the two font descriptions are identical, + + + + + another #PangoFontDescription + + + + + + Frees a font description. + + + + + + Sets the family name field of a font description. The family +name represents a family of related font styles, and will +resolve to a particular #PangoFontFamily. In some uses of +#PangoFontDescription, it is also possible to use a comma +separated list of family names for this field. + + + + + + a string representing the family name. + + + + + + Like pango_font_description_set_family(), except that no +copy of @family is made. The caller must make sure that the +string passed in stays around until @desc has been freed +or the name is set again. This function can be used if +if @desc is only needed temporarily. + + + + + + a string representing the family name. + + + + + + Gets the family name field of a font description. See +pango_font_description_set_family(). +%NULL if not previously set. This has the same life-time +as the font description itself and should not be freed. + + the family name field for the font description, or + + + + + Sets the style field of a #PangoFontDescription. The +#PangoStyle enumeration describes whether the font is slanted and +the manner in which it is slanted; it can be either +#PANGO_STYLE_NORMAL, #PANGO_STYLE_ITALIC, or #PANGO_STYLE_OBLIQUE. +Most fonts will either have a italic style or an oblique +style, but not both, and font matching in Pango will +match italic specifications with oblique fonts and vice-versa +if an exact match is not found. + + + + + + the style for the font description + + + + + + Gets the style field of a #PangoFontDescription. See +pango_font_description_set_style(). +Use pango_font_description_get_set_fields() to find out if +the field was explicitly set or not. + + the style field for the font description. + + + + + Sets the variant field of a font description. The #PangoVariant +can either be %PANGO_VARIANT_NORMAL or %PANGO_VARIANT_SMALL_CAPS. + + + + + + the variant type for the font description. + + + + + + Gets the variant field of a #PangoFontDescription. See +pango_font_description_set_variant(). +pango_font_description_get_set_fields() to find out if +the field was explicitly set or not. + + the variant field for the font description. Use + + + + + Sets the weight field of a font description. The weight field +specifies how bold or light the font should be. In addition +to the values of the #PangoWeight enumeration, other intermediate +numeric values are possible. + + + + + + the weight for the font description. + + + + + + Gets the weight field of a font description. See +pango_font_description_set_weight(). +pango_font_description_get_set_fields() to find out if +the field was explicitly set or not. + + the weight field for the font description. Use + + + + + Sets the stretch field of a font description. The stretch field +specifies how narrow or wide the font should be. + + + + + + the stretch for the font description + + + + + + Gets the stretch field of a font description. +See pango_font_description_set_stretch(). +pango_font_description_get_set_fields() to find out if +the field was explicitly set or not. + + the stretch field for the font description. Use + + + + + Sets the size field of a font description in fractional points. This is mutually +exclusive with pango_font_description_set_absolute_size(). + + + + + + the size of the font in points, scaled by PANGO_SCALE. (That is, a @size value of 10 * PANGO_SCALE is a 10 point font. The conversion factor between points and device units depends on system configuration and the output device. For screen display, a logical DPI of 96 is common, in which case a 10 point font corresponds to a 10 * (96 / 72) = 13.3 pixel font. Use pango_font_description_set_absolute_size() if you need a particular size in device units. + + + + + + Gets the size field of a font description. +See pango_font_description_set_size(). +You must call pango_font_description_get_size_is_absolute() +to find out which is the case. Returns 0 if the size field has not +previously been set or it has been set to 0 explicitly. +Use pango_font_description_get_set_fields() to +find out if the field was explicitly set or not. + + the size field for the font description in points or device units. + + + + + Sets the size field of a font description, in device units. This is mutually +exclusive with pango_font_description_set_size() which sets the font size +in points. + + + + + + the new size, in Pango units. There are %PANGO_SCALE Pango units in one device unit. For an output backend where a device unit is a pixel, a @size value of 10 * PANGO_SCALE gives a 10 pixel font. + + + + + + Determines whether the size of the font is in points (not absolute) or device units (absolute). +See pango_font_description_set_size() and pango_font_description_set_absolute_size(). +points or device units. Use pango_font_description_get_set_fields() to +find out if the size field of the font description was explicitly set or not. + + whether the size for the font description is in + + + + + Sets the gravity field of a font description. The gravity field +specifies how the glyphs should be rotated. If @gravity is +%PANGO_GRAVITY_AUTO, this actually unsets the gravity mask on +the font description. +This function is seldom useful to the user. Gravity should normally +be set on a #PangoContext. + + + + + + the gravity for the font description. + + + + + + Gets the gravity field of a font description. See +pango_font_description_set_gravity(). +pango_font_description_get_set_fields() to find out if +the field was explicitly set or not. + + the gravity field for the font description. Use + + + + + Determines which fields in a font description have been set. +fields in @desc that have been set. + + a bitmask with bits set corresponding to the + + + + + Unsets some of the fields in a #PangoFontDescription. The unset +fields will get back to their default values. + + + + + + bitmask of fields in the @desc to unset. + + + + + + Merges the fields that are set in @desc_to_merge into the fields in +are not already set are affected. If %TRUE, then fields that are +already set will be replaced as well. +If @desc_to_merge is %NULL, this function performs nothing. + + + + + + the #PangoFontDescription to merge from, or %NULL + + + + if %TRUE, replace fields in @desc with the corresponding values from @desc_to_merge, even if they are already exist. + + + + + + Like pango_font_description_merge(), but only a shallow copy is made +of the family name and other allocated fields. @desc can only be +used until @desc_to_merge is modified or freed. This is meant +to be used when the merged font description is only needed temporarily. + + + + + + the #PangoFontDescription to merge from + + + + if %TRUE, replace fields in @desc with the corresponding values from @desc_to_merge, even if they are already exist. + + + + + + Determines if the style attributes of @new_match are a closer match +for @desc than those of @old_match are, or if @old_match is %NULL, +determines if @new_match is a match at all. +Approximate matching is done for +weight and style; other style attributes must match exactly. +Style attributes are all attributes other than family and size-related +attributes. Approximate matching for style considers PANGO_STYLE_OBLIQUE +and PANGO_STYLE_ITALIC as matches, but not as good a match as when the +styles are equal. +Note that @old_match must match @desc. + + %TRUE if @new_match is a better match + + + + + a #PangoFontDescription, or %NULL + + + + a #PangoFontDescription + + + + + + Creates a string representation of a font description. See +pango_font_description_from_string() for a description of the +format of the string representation. The family list in the +string description will only have a terminating comma if the +last word of the list is a valid style option. + + a new string that must be freed with g_free(). + + + + + Creates a filename representation of a font description. The +filename is identical to the result from calling +pango_font_description_to_string(), but with underscores instead of +characters that are untypical in filenames, and in lower case only. + + a new string that must be freed with g_free(). + + + + + + + Returns the family, style, variant, weight and stretch of +a #PangoFontFace. The size field of the resulting font description +will be unset. +holding the description of the face. Use pango_font_description_free() +to free the result. + + a newly-created #PangoFontDescription structure + + + + + Gets a name representing the style of this face among the +different faces in the #PangoFontFamily for the face. This +name is unique among all faces in the family and is suitable +for displaying to users. +owned by the face object and must not be modified or freed. + + the face name for the face. This string is + + + + + List the available sizes for a font. This is only applicable to bitmap +fonts. For scalable fonts, stores %NULL at the location pointed to by +are in Pango units and are sorted in ascending order. + + + + + + location to store a pointer to an array of int. This array should be freed with g_free(). + + + + location to store the number of elements in @sizes + + + + + + Returns whether a #PangoFontFace is synthesized by the underlying +font rendering engine from another face, perhaps by shearing, emboldening, +or lightening it. + + whether @face is synthesized. + + + + + + + Lists the different font faces that make up @family. The faces +in a family share a common design, but differ in slant, weight, +width and other aspects. + + + + + + location to store an array of pointers to #PangoFontFace objects, or %NULL. This array should be freed with g_free() when it is no longer needed. + + + + location to store number of elements in @faces. + + + + + + Gets the name of the family. The name is unique among all +fonts for the font backend and can be used in a #PangoFontDescription +to specify that a face from this family is desired. +by the family object and must not be modified or freed. + + the name of the family. This string is owned + + + + + A monospace font is a font designed for text display where the the +characters form a regular grid. For Western languages this would +mean that the advance width of all characters are the same, but +this categorization also includes Asian fonts which include +g_unichar_iswide() returns a result that indicates whether a +character is typically double-width in a monospace font. +The best way to find out the grid-cell size is to call +pango_font_metrics_get_approximate_digit_width(), since the results +of pango_font_metrics_get_approximate_char_width() may be affected +by double-width characters. + + %TRUE if the family is monospace. + + + + + + + Creates a #PangoContext connected to @fontmap. This is equivalent +to pango_context_new() followed by pango_context_set_font_map(). +If you are using Pango as part of a higher-level system, +that system may have it's own way of create a #PangoContext. +For instance, the GTK+ toolkit has, among others, +gdk_pango_context_get_for_screen(), and +gtk_widget_get_pango_context(). Use those instead. +be freed with g_object_unref(). + + the newly allocated #PangoContext, which should + + + + + Load the font in the fontmap that is the closest match for @desc. + + the font loaded, or %NULL if no font matched. + + + + + the #PangoContext the font will be used with + + + + a #PangoFontDescription describing the font to load + + + + + + Load a set of fonts in the fontmap that can be used to render +a font matching @desc. + + the fontset, or %NULL if no font matched. + + + + + the #PangoContext the font will be used with + + + + a #PangoFontDescription describing the font to load + + + + a #PangoLanguage the fonts will be used for + + + + + + List all families for a fontmap. + + + + + + location to store a pointer to an array of #PangoFontFamily *. This array should be freed with g_free(). + + + + location to store the number of elements in @families + + + + + + + + + + + + + + + + + Increase the reference count of a font metrics structure by one. + + @metrics + + + + + Decrease the reference count of a font metrics structure by one. If +the result is zero, frees the structure and any associated +memory. + + + + + + Gets the ascent from a font metrics structure. The ascent is +the distance from the baseline to the logical top of a line +of text. (The logical top may be above or below the top of the +actual drawn ink. It is necessary to lay out the text to figure +where the ink will be.) + + the ascent, in Pango units. + + + + + Gets the descent from a font metrics structure. The descent is +the distance from the baseline to the logical bottom of a line +of text. (The logical bottom may be above or below the bottom of the +actual drawn ink. It is necessary to lay out the text to figure +where the ink will be.) + + the descent, in Pango units. + + + + + Gets the approximate character width for a font metrics structure. +This is merely a representative value useful, for example, for +determining the initial size for a window. Actual characters in +text will be wider and narrower than this. + + the character width, in Pango units. + + + + + Gets the approximate digit width for a font metrics structure. +This is merely a representative value useful, for example, for +determining the initial size for a window. Actual digits in +text can be wider or narrower than this, though this value +is generally somewhat more accurate than the result of +pango_font_metrics_get_approximate_char_width() for digits. + + the digit width, in Pango units. + + + + + Gets the suggested position to draw the underline. +The value returned is the distance <emphasis>above</emphasis> the +baseline of the top of the underline. Since most fonts have +underline positions beneath the baseline, this value is typically +negative. + + the suggested underline position, in Pango units. + + + + + Gets the suggested thickness to draw for the underline. + + the suggested underline thickness, in Pango units. + + + + + Gets the suggested position to draw the strikethrough. +The value returned is the distance <emphasis>above</emphasis> the +baseline of the top of the strikethrough. + + the suggested strikethrough position, in Pango units. + + + + + Gets the suggested thickness to draw for the strikethrough. + + the suggested strikethrough thickness, in Pango units. + + + + + + + Returns the font in the fontset that contains the best glyph for the +Unicode character @wc. +with the font. + + a #PangoFont. The caller must call g_object_unref when finished + + + + + a Unicode character + + + + + + Get overall metric information for the fonts in the fontset. +when finished using the object. + + a #PangoFontMetrics object. The caller must call pango_font_metrics_unref() + + + + + Iterates through all the fonts in a fontset, calling @func for +each one. If @func returns %TRUE, that stops the iteration. + + + + + + Callback function + + + + data to pass to the callback function + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Modifies @orig to cover only the text after @split_index, and +returns a new item that covers the text before @split_index that +used to be in @orig. You can think of @split_index as the length of +the returned item. @split_index may not be 0, and it may not be +greater than or equal to the length of @orig (that is, there must +be at least one byte assigned to each item, you can't create a +zero-length item). +This function is similar in function to pango_item_split() (and uses +it internally.) +with pango_glyph_item_free(). + + the newly allocated item representing text before + + + + + text to which positions in @orig apply + + + + byte index of position to split item, relative to the start of the item + + + + + + Make a deep copy of an existing #PangoGlyphItem structure. +be freed with pango_glyph_item_free(), or %NULL +if @orig was %NULL. + + the newly allocated #PangoGlyphItem, which should + + + + + Frees a #PangoGlyphItem and resources to which it points. + + + + + + Splits a shaped item (PangoGlyphItem) into multiple items based +on an attribute list. The idea is that if you have attributes +that don't affect shaping, such as color or underline, to avoid +affecting shaping, you filter them out (pango_attr_list_filter()), +apply the shaping process and then reapply them to the result using +this function. +All attributes that start or end inside a cluster are applied +to that cluster; for instance, if half of a cluster is underlined +and the other-half strikethrough, then the cluster will end +up with both underline and strikethrough attributes. In these +cases, it may happen that item->extra_attrs for some of the +result items can have multiple attributes of the same type. +This function takes ownership of @glyph_item; it will be reused +as one of the elements in the list. +the list using g_slist_free(). + + a list of glyph items resulting from splitting + + + + + + + text that @list applies to + + + + a #PangoAttrList + + + + + + Adds spacing between the graphemes of @glyph_item to +give the effect of typographic letter spacing. + + + + + + text that @glyph_item corresponds to (glyph_item->item->offset is an offset from the start of @text) + + + + logical attributes for the item (the first logical attribute refers to the position before the first character in the item) + + + + amount of letter spacing to add in Pango units. May be negative, though too large negative values will give ugly results. + + + + + + Given a #PangoGlyphItem and the corresponding +text, determine the screen width corresponding to each character. When +multiple characters compose a single cluster, the width of the entire +cluster is divided equally among the characters. +See also pango_glyph_string_get_logical_widths(). + + + + + + text that @glyph_item corresponds to (glyph_item->item->offset is an offset from the start of @text) + + + + an array whose length is the number of characters in glyph_item (equal to glyph_item->item->num_chars) to be filled in with the resulting character widths. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Make a shallow copy of an existing #PangoGlyphItemIter structure. +be freed with pango_glyph_item_iter_free(), or %NULL +if @orig was %NULL. + + the newly allocated #PangoGlyphItemIter, which should + + + + + Frees a #PangoGlyphItemIter created by pango_glyph_item_iter_copy(). + + + + + + Initializes a #PangoGlyphItemIter structure to point to the +first cluster in a glyph item. +See #PangoGlyphItemIter for details of cluster orders. + + %FALSE if there are no clusters in the glyph item + + + + + the glyph item to iterate over + + + + text corresponding to the glyph item + + + + + + Initializes a #PangoGlyphItemIter structure to point to the +last cluster in a glyph item. +See #PangoGlyphItemIter for details of cluster orders. + + %FALSE if there are no clusters in the glyph item + + + + + the glyph item to iterate over + + + + text corresponding to the glyph item + + + + + + Advances the iterator to the next cluster in the glyph item. +See #PangoGlyphItemIter for details of cluster orders. +last cluster. + + %TRUE if the iterator was advanced, %FALSE if we were already on the + + + + + Moves the iterator to the preceding cluster in the glyph item. +See #PangoGlyphItemIter for details of cluster orders. +first cluster. + + %TRUE if the iterator was moved, %FALSE if we were already on the + + + + + + + + + + + + + + + + + + + Create a new #PangoGlyphString. +should be freed with pango_glyph_string_free(). + + the newly allocated #PangoGlyphString, which + + + + + Resize a glyph string to the given length. + + + + + + the new length of the string. + + + + + + Copy a glyph string and associated storage. +should be freed with pango_glyph_string_free(), +or %NULL if @string was %NULL. + + the newly allocated #PangoGlyphString, which + + + + + Free a glyph string and associated storage. + + + + + + Compute the logical and ink extents of a glyph string. See the documentation +for pango_font_get_glyph_extents() for details about the interpretation +of the rectangles. + + + + + + a #PangoFont + + + + rectangle used to store the extents of the glyph string as drawn or %NULL to indicate that the result is not needed. + + + + rectangle used to store the logical extents of the glyph string or %NULL to indicate that the result is not needed. + + + + + + Computes the logical width of the glyph string as can also be computed +using pango_glyph_string_extents(). However, since this only computes the +width, it's much faster. This is in fact only a convenience function that +computes the sum of geometry.width for each glyph in the @glyphs. + + the logical width of the glyph string. + + + + + or %NULL to indicate that the result is not needed. +or %NULL to indicate that the result is not needed. +Computes the extents of a sub-portion of a glyph string. The extents are +relative to the start of the glyph string range (the origin of their +coordinate system is at the start of the range, not at the start of the entire +glyph string). + + + + + + start index + + + + end index (the range is the set of bytes with + + + + a #PangoFont + + + + rectangle used to store the extents of the glyph string range as drawn + + + + rectangle used to store the logical extents of the glyph string range + + + + + + Given a #PangoGlyphString resulting from pango_shape() and the corresponding +text, determine the screen width corresponding to each character. When +multiple characters compose a single cluster, the width of the entire +cluster is divided equally among the characters. +See also pango_glyph_item_get_logical_widths(). + + + + + + the text corresponding to the glyphs + + + + the length of @text, in bytes + + + + the embedding level of the string + + + + an array whose length is the number of characters in text (equal to g_utf8_strlen (text, length) unless text has NUL bytes) to be filled in with the resulting character widths. + + + + + + Converts from character position to x position. (X position +is measured from the left edge of the run). Character positions +are computed by dividing up each cluster into equal portions. + + + + + + the text for the run + + + + the number of bytes (not characters) in @text. + + + + the analysis information return from pango_itemize() + + + + the byte index within @text + + + + whether we should compute the result for the beginning (%FALSE) or end (%TRUE) of the character. + + + + location to store result + + + + + + Convert from x offset to character position. Character positions +are computed by dividing up each cluster into equal portions. +In scripts where positioning within a cluster is not allowed +(such as Thai), the returned value may not be a valid cursor +position; the caller must combine the result with the logical +attributes for the text to compute the valid cursor position. + + + + + + the text for the run + + + + the number of bytes (not characters) in text. + + + + the analysis information return from pango_itemize() + + + + the x offset (in Pango units) + + + + location to store calculated byte index within @text + + + + location to store a boolean indicating whether the user clicked on the leading or trailing edge of the character. + + + + + + + + + + + + The #PangoGravity type represents the orientation of glyphs in a segment +of text. This is useful when rendering vertical text layouts. In +those situations, the layout is rotated using a non-identity PangoMatrix, +and then glyph orientation is controlled using #PangoGravity. +Not every value in this enumeration makes sense for every usage of +#PangoGravity; for example, %PANGO_GRAVITY_AUTO only can be passed to +pango_context_set_base_gravity() and can only be returned by +pango_context_get_base_gravity(). + + + + + + + + The #PangoGravityHint defines how horizontal scripts should behave in a +vertical context. That is, English excerpt in a vertical paragraph for +example. +See #PangoGravity. + + + + + + + + + + + + + + + + + + + Creates a new #PangoItem structure initialized to default values. +be freed with pango_item_free(). + + the newly allocated #PangoItem, which should + + + + + Copy an existing #PangoItem structure. +be freed with pango_item_free(), or %NULL if + + the newly allocated #PangoItem, which should + + + + + Free a #PangoItem and all associated memory. + + + + + + Modifies @orig to cover only the text after @split_index, and +returns a new item that covers the text before @split_index that +used to be in @orig. You can think of @split_index as the length of +the returned item. @split_index may not be 0, and it may not be +greater than or equal to the length of @orig (that is, there must +be at least one byte assigned to each item, you can't create a +zero-length item). @split_offset is the length of the first item in +chars, and must be provided because the text used to generate the +item isn't available, so pango_item_split() can't count the char +length of the split items itself. +should be freed with pango_item_free(). + + new item representing text before @split_index, which + + + + + byte index of position to split item, relative to the start of the item + + + + number of chars between start of @orig and @split_index + + + + + + + + Gets the RFC-3066 format string representing the given language tag. +Pango and should not be freed. + + a string representing the language tag. This is owned by + + + + + Get a string that is representative of the characters needed to +render a particular language. +The sample text may be a pangram, but is not necessarily. It is chosen to +be demonstrative of normal text in the language, as well as exposing font +feature requirements unique to the language. It is suitable for use +as sample text in a font selection dialog. +If @language is %NULL, the default language as found by +pango_language_get_default() is used. +If Pango does not have a sample string for @language, the classic +"The quick brown fox..." is returned. This can be detected by +comparing the returned pointer value to that returned for (non-existent) +language code "xx". That is, compare to: +<informalexample><programlisting> +pango_language_get_sample_string (pango_language_from_string ("xx")) +</programlisting></informalexample> +and should not be freed. + + the sample string. This value is owned by Pango + + + + + Checks if a language tag matches one of the elements in a list of +language ranges. A language tag is considered to match a range +in the list if the range is '*', the range is exactly the tag, +or the range is a prefix of the tag, and the character after it +in the tag is '-'. + + %TRUE if a match was found. + + + + + a list of language ranges, separated by ';', ':', ',', or space characters. Each element must either be '*', or a RFC 3066 language range canonicalized as by pango_language_from_string() + + + + + + Determines if @script is one of the scripts used to +write @language. The returned value is conservative; +if nothing is known about the language tag @language, +%TRUE will be returned, since, as far as Pango knows, +This routine is used in Pango's itemization process when +determining if a supplied language tag is relevant to +a particular section of text. It probably is not useful for +applications in most circumstances. +This function uses pango_language_get_scripts() internally. +to write @language or if nothing is known about @language +(including the case that @language is %NULL), +%FALSE otherwise. + + %TRUE if @script is one of the scripts used + + + + + a #PangoScript + + + + + + Determines the scripts used to to write @language. +If nothing is known about the language tag @language, +or if @language is %NULL, then %NULL is returned. +The list of scripts returned starts with the script that the +language uses most and continues to the one it uses least. +The value @num_script points at will be set to the number +of scripts in the returned array (or zero if %NULL is returned). +Most languages use only one script for writing, but there are +some that use two (Latin and Cyrillic for example), and a few +use three (Japanese for example). Applications should not make +any assumptions on the maximum number of scripts returned +though, except that it is positive if the return value is not +%NULL, and it is a small number. +The pango_language_includes_script() function uses this function +internally. +number of entries in the array stored in @num_scripts, or +%NULL if Pango does not have any information about this +particular language tag (also the case if @language is %NULL). +The returned array is owned by Pango and should not be modified +or freed. + + An array of #PangoScript values, with the + + + + + location to return number of scripts, or %NULL + + + + + + + + Create a new #PangoLayout object with attributes initialized to +default values for a particular #PangoContext. +count of one, which should be freed with +g_object_unref(). + + the newly allocated #PangoLayout, with a reference + + + + + a #PangoContext + + + + + + Does a deep copy-by-value of the @src layout. The attribute list, +tab array, and text from the original layout are all copied by +value. +count of one, which should be freed with +g_object_unref(). + + the newly allocated #PangoLayout, with a reference + + + + + Retrieves the #PangoContext used for this layout. +have an additional refcount added, so if you want to keep +a copy of this around, you must reference it yourself. + + the #PangoContext for the layout. This does not + + + + + Sets the text attributes for a layout object. +References @attrs, so the caller can unref its reference. + + + + + + a #PangoAttrList, can be %NULL + + + + + + Gets the attribute list for the layout, if any. + + a #PangoAttrList. + + + + + Sets the text of the layout. +Note that if you have used +pango_layout_set_markup() or pango_layout_set_markup_with_accel() on +the attributes set on the layout from the markup as this function does not +clear attributes. + + + + + + a valid UTF-8 string + + + + maximum length of @text, in bytes. -1 indicates that the string is nul-terminated and the length should be calculated. The text will also be truncated on encountering a nul-termination even when @length is positive. + + + + + + Gets the text in the layout. The returned text should not +be freed or modified. + + the text in the @layout. + + + + + Same as pango_layout_set_markup_with_accel(), but +the markup text isn't scanned for accelerators. + + + + + + marked-up text + + + + length of marked-up text in bytes, or -1 if @markup is nul-terminated + + + + + + Sets the layout text and attribute list from marked-up text (see +<link linkend="PangoMarkupFormat">markup format</link>). Replaces +the current text and attribute list. +If @accel_marker is nonzero, the given character will mark the +character following it as an accelerator. For example, @accel_marker +might be an ampersand or underscore. All characters marked +as an accelerator will receive a %PANGO_UNDERLINE_LOW attribute, +and the first character so marked will be returned in @accel_char. +Two @accel_marker characters following each other produce a single +literal @accel_marker character. + + + + + + marked-up text (see <link linkend="PangoMarkupFormat">markup format</link>) + + + + length of marked-up text in bytes, or -1 if @markup is nul-terminated + + + + marker for accelerators in the text + + + + return location for first located accelerator, or %NULL + + + + + + Sets the default font description for the layout. If no font +description is set on the layout, the font description from +the layout's context is used. + + + + + + the new #PangoFontDescription, or %NULL to unset the current font description + + + + + + Gets the font description for the layout, if any. +or %NULL if the font description from the layout's +context is inherited. This value is owned by the layout +and must not be modified or freed. + + a pointer to the layout's font description, + + + + + Sets the width to which the lines of the #PangoLayout should wrap or + + + + + + the desired width in Pango units, or -1 to indicate that no wrapping or ellipsization should be performed. + + + + + + Gets the width to which the lines of the #PangoLayout should wrap. + + the width in Pango units, or -1 if no width set. + + + + + Sets the height to which the #PangoLayout should be ellipsized at. There +are two different behaviors, based on whether @height is positive or +negative. +If @height is positive, it will be the maximum height of the layout. Only +lines would be shown that would fit, and if there is any text omitted, +an ellipsis added. At least one line is included in each paragraph regardless +of how small the height value is. A value of zero will render exactly one +line for the entire layout. +If @height is negative, it will be the (negative of) maximum number of lines per +paragraph. That is, the total number of lines shown may well be more than +this value if the layout contains multiple paragraphs of text. +The default value of -1 means that first line of each paragraph is ellipsized. +This behvaior may be changed in the future to act per layout instead of per +paragraph. File a bug against pango at <ulink +url="http://bugzilla.gnome.org/">http://bugzilla.gnome.org/</ulink> if your +code relies on this behavior. +Height setting only has effect if a positive width is set on +The behavior is undefined if a height other than -1 is set and +ellipsization mode is set to %PANGO_ELLIPSIZE_NONE, and may change in the +future. + + + + + + the desired height of the layout in Pango units if positive, or desired number of lines if negative. + + + + + + Gets the height of layout used for ellipsization. See +pango_layout_set_height() for details. +number of lines if negative. + + the height, in Pango units if positive, or + + + + + Sets the wrap mode; the wrap mode only has effect if a width +is set on the layout with pango_layout_set_width(). +To turn off wrapping, set the width to -1. + + + + + + the wrap mode + + + + + + Gets the wrap mode for the layout. +Use pango_layout_is_wrapped() to query whether any paragraphs +were actually wrapped. + + active wrap mode. + + + + + Queries whether the layout had to wrap any paragraphs. +This returns %TRUE if a positive width is set on @layout, +ellipsization mode of @layout is set to %PANGO_ELLIPSIZE_NONE, +and there are paragraphs exceeding the layout width that have +to be wrapped. +otherwise. + + %TRUE if any paragraphs had to be wrapped, %FALSE + + + + + + + + + + + + + + + Gets the paragraph indent width in Pango units. A negative value +indicates a hanging indentation. + + the indent in Pango units. + + + + + Sets the amount of spacing in Pango unit between the lines of the +layout. + + + + + + the amount of spacing + + + + + + Gets the amount of spacing between the lines of the layout. + + the spacing in Pango units. + + + + + Sets whether each complete line should be stretched to +fill the entire width of the layout. This stretching is typically +done by adding whitespace, but for some scripts (such as Arabic), +the justification may be done in more complex ways, like extending +the characters. +Note that this setting is not implemented and so is ignored in Pango +older than 1.18. + + + + + + whether the lines in the layout should be justified. + + + + + + Gets whether each complete line should be stretched to fill the entire +width of the layout. + + the justify. + + + + + Sets whether to calculate the bidirectional base direction +for the layout according to the contents of the layout; +when this flag is on (the default), then paragraphs in +(Arabic and Hebrew principally), will have right-to-left +layout, paragraphs with letters from other scripts will +have left-to-right layout. Paragraphs with only neutral +characters get their direction from the surrounding paragraphs. +When %FALSE, the choice between left-to-right and +right-to-left layout is done according to the base direction +of the layout's #PangoContext. (See pango_context_set_base_dir()). +When the auto-computed direction of a paragraph differs from the +base direction of the context, the interpretation of +%PANGO_ALIGN_LEFT and %PANGO_ALIGN_RIGHT are swapped. + + + + + + if %TRUE, compute the bidirectional base direction from the layout's contents. + + + + + + Gets whether to calculate the bidirectional base direction +for the layout according to the contents of the layout. +See pango_layout_set_auto_dir(). +is computed from the layout's contents, %FALSE otherwise. + + %TRUE if the bidirectional base direction + + + + + positioned within the horizontal space available. + + + + + + the alignment + + + + + + positioned within the horizontal space available. + + the alignment. + + + + + Sets the tabs to use for @layout, overriding the default tabs +(by default, tabs are every 8 spaces). If @tabs is %NULL, the default +tabs are reinstated. @tabs is copied into the layout; you must +free your copy of @tabs yourself. + + + + + + a #PangoTabArray, or %NULL + + + + + + Gets the current #PangoTabArray used by this layout. If no +#PangoTabArray has been set, then the default tabs are in use +and %NULL is returned. Default tabs are every 8 spaces. +The return value should be freed with pango_tab_array_free(). + + a copy of the tabs for this layout, or %NULL. + + + + + If @setting is %TRUE, do not treat newlines and similar characters +as paragraph separators; instead, keep all text in a single paragraph, +and display a glyph for paragraph separator characters. Used when +you want to allow editing of newlines on a single text line. + + + + + + new setting + + + + + + Obtains the value set by pango_layout_set_single_paragraph_mode(). +paragraph separator characters, %FALSE otherwise. + + %TRUE if the layout does not break paragraphs at + + + + + Sets the type of ellipsization being performed for @layout. +Depending on the ellipsization mode @ellipsize text is +removed from the start, middle, or end of text so they +fit within the width and height of layout set with +pango_layout_set_width() and pango_layout_set_height(). +If the layout contains characters such as newlines that +force it to be layed out in multiple paragraphs, then whether +each paragraph is ellipsized separately or the entire layout +is ellipsized as a whole depends on the set height of the layout. +See pango_layout_set_height() for details. + + + + + + the new ellipsization mode for @layout + + + + + + Gets the type of ellipsization being performed for @layout. +See pango_layout_set_ellipsize() +Use pango_layout_is_ellipsized() to query whether any paragraphs +were actually ellipsized. + + the current ellipsization mode for @layout. + + + + + Queries whether the layout had to ellipsize any paragraphs. +This returns %TRUE if the ellipsization mode for @layout +is not %PANGO_ELLIPSIZE_NONE, a positive width is set on @layout, +and there are paragraphs exceeding that width that have to be +ellipsized. +otherwise. + + %TRUE if any paragraphs had to be ellipsized, %FALSE + + + + + Counts the number unknown glyphs in @layout. That is, zero if +glyphs for all characters in the layout text were found, or more +than zero otherwise. +This function can be used to determine if there are any fonts +available to render all characters in a certain string, or when +used in combination with %PANGO_ATTR_FALLBACK, to check if a +certain font supports all the characters in the string. + + The number of unknown glyphs in @layout. + + + + + Forces recomputation of any state in the #PangoLayout that +might depend on the layout's context. This function should +be called if you make changes to the context subsequent +to creating the layout. + + + + + + Retrieves an array of logical attributes for each character in +the @layout. + + + + + + location to store a pointer to an array of logical attributes This value must be freed with g_free(). + + + + location to store the number of the attributes in the array. (The stored value will be one more than the total number of characters in the layout, since there need to be attributes corresponding to both the position before the first character and the position after the last character.) + + + + + + Converts from an index within a #PangoLayout to the onscreen position +corresponding to the grapheme at that index, which is represented +as rectangle. Note that <literal>pos->x</literal> is always the leading +edge of the grapheme and <literal>pos->x + pos->width</literal> the trailing +edge of the grapheme. If the directionality of the grapheme is right-to-left, +then <literal>pos->width</literal> will be negative. + + + + + + byte index within @layout + + + + rectangle in which to store the position of the grapheme + + + + + + Converts from byte @index_ within the @layout to line and X position. +(X position is measured from the left edge of the line) + + + + + + the byte index of a grapheme within the layout. + + + + an integer indicating the edge of the grapheme to retrieve the position of. If 0, the trailing edge of the grapheme, if > 0, the leading of the grapheme. + + + + location to store resulting line index. (which will between 0 and pango_layout_get_line_count(layout) - 1) + + + + location to store resulting position within line (%PANGO_SCALE units per device unit) + + + + + + Given an index within a layout, determines the positions that of the +strong and weak cursors if the insertion point is at that +index. The position of each cursor is stored as a zero-width +rectangle. The strong cursor location is the location where +characters of the directionality equal to the base direction of the +layout are inserted. The weak cursor location is the location +where characters of the directionality opposite to the base +direction of the layout are inserted. + + + + + + the byte index of the cursor + + + + location to store the strong cursor position (may be %NULL) + + + + location to store the weak cursor position (may be %NULL) + + + + + + Computes a new cursor position from an old position and +a count of positions to move visually. If @direction is positive, +then the new strong cursor position will be one position +to the right of the old cursor position. If @direction is negative, +then the new strong cursor position will be one position +to the left of the old cursor position. +In the presence of bidirectional text, the correspondence +between logical and visual order will depend on the direction +of the current run, and there may be jumps when the cursor +is moved off of the end of a run. +Motion here is in cursor positions, not in characters, so a +single call to pango_layout_move_cursor_visually() may move the +cursor over multiple characters when multiple characters combine +to form a single grapheme. + + + + + + whether the moving cursor is the strong cursor or the weak cursor. The strong cursor is the cursor corresponding to text insertion in the base direction for the layout. + + + + the byte index of the grapheme for the old index + + + + if 0, the cursor was at the trailing edge of the grapheme indicated by @old_index, if > 0, the cursor was at the leading edge. + + + + direction to move cursor. A negative value indicates motion to the left. + + + + location to store the new cursor byte index. A value of -1 indicates that the cursor has been moved off the beginning of the layout. A value of %G_MAXINT indicates that the cursor has been moved off the end of the layout. + + + + number of characters to move forward from the location returned for @new_index to get the position where the cursor should be displayed. This allows distinguishing the position at the beginning of one line from the position at the end of the preceding line. @new_index is always on the line where the cursor should be displayed. + + + + + + Converts from X and Y position within a layout to the byte +index to the character at that logical position. If the +Y position is not inside the layout, the closest position is chosen +(the position will be clamped inside the layout). If the +X position is not within the layout, then the start or the +end of the line is chosen as described for pango_layout_x_to_index(). +If either the X or Y positions were not inside the layout, then the +function returns %FALSE; on an exact hit, it returns %TRUE. + + %TRUE if the coordinates were inside text, %FALSE otherwise. + + + + + the X offset (in Pango units) from the left edge of the layout. + + + + the Y offset (in Pango units) from the top edge of the layout + + + + location to store calculated byte index + + + + location to store a integer indicating where in the grapheme the user clicked. It will either be zero, or the number of characters in the grapheme. 0 represents the trailing edge of the grapheme. + + + + + + Computes the logical and ink extents of @layout. Logical extents +are usually what you want for positioning things. Note that both extents +may have non-zero x and y. You may want to use those to offset where you +render the layout. Not doing that is a very typical bug that shows up as +right-to-left layouts not being correctly positioned in a layout with +a set width. +The extents are given in layout coordinates and in Pango units; layout +coordinates begin at the top left corner of the layout. + + + + + + rectangle used to store the extents of the layout as drawn or %NULL to indicate that the result is not needed. + + + + rectangle used to store the logical extents of the layout + + + + + + Computes the logical and ink extents of @layout in device units. +This function just calls pango_layout_get_extents() followed by +two pango_extents_to_pixels() calls, rounding @ink_rect and @logical_rect +such that the rounded rectangles fully contain the unrounded one (that is, +passes them as first argument to pango_extents_to_pixels()). + + + + + + rectangle used to store the extents of the layout as drawn or %NULL to indicate that the result is not needed. + + + + rectangle used to store the logical extents of the layout or %NULL to indicate that the result is not needed. + + + + + + Determines the logical width and height of a #PangoLayout +in Pango units (device units scaled by %PANGO_SCALE). This +is simply a convenience function around pango_layout_get_extents(). + + + + + + location to store the logical width, or %NULL + + + + location to store the logical height, or %NULL + + + + + + Determines the logical width and height of a #PangoLayout +in device units. (pango_layout_get_size() returns the width +and height scaled by %PANGO_SCALE.) This +is simply a convenience function around +pango_layout_get_pixel_extents(). + + + + + + location to store the logical width, or %NULL + + + + location to store the logical height, or %NULL + + + + + + Gets the Y position of baseline of the first line in @layout. + + baseline of first line, from top of @layout. + + + + + Retrieves the count of lines for the @layout. + + the line count. + + + + + Retrieves a particular line from a #PangoLayout. +Use the faster pango_layout_get_line_readonly() if you do not plan +to modify the contents of the line (glyphs, glyph widths, etc.). +index is out of range. This layout line can +be ref'ed and retained, but will become invalid +if changes are made to the #PangoLayout. + + the requested #PangoLayoutLine, or %NULL if the + + + + + the index of a line, which must be between 0 and <literal>pango_layout_get_line_count(layout) - 1</literal>, inclusive. + + + + + + Retrieves a particular line from a #PangoLayout. +This is a faster alternative to pango_layout_get_line(), +but the user is not expected +to modify the contents of the line (glyphs, glyph widths, etc.). +index is out of range. This layout line can +be ref'ed and retained, but will become invalid +if changes are made to the #PangoLayout. +No changes should be made to the line. + + the requested #PangoLayoutLine, or %NULL if the + + + + + the index of a line, which must be between 0 and <literal>pango_layout_get_line_count(layout) - 1</literal>, inclusive. + + + + + + Returns the lines of the @layout as a list. +Use the faster pango_layout_get_lines_readonly() if you do not plan +to modify the contents of the lines (glyphs, glyph widths, etc.). +the lines in the layout. This points to internal data of the #PangoLayout +and must be used with care. It will become invalid on any change to the layout's +text or properties. + + a #GSList containing + + + + + + + Returns the lines of the @layout as a list. +This is a faster alternative to pango_layout_get_lines(), +but the user is not expected +to modify the contents of the lines (glyphs, glyph widths, etc.). +the lines in the layout. This points to internal data of the #PangoLayout and +must be used with care. It will become invalid on any change to the layout's +text or properties. No changes should be made to the lines. + + a #GSList containing + + + + + + + Returns an iterator to iterate over the visual extents of the layout. +pango_layout_iter_free(). + + the new #PangoLayoutIter that should be freed using + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Copies a #PangLayoutIter. +be freed with pango_layout_iter_free(), or %NULL if + + the newly allocated #PangoLayoutIter, which should + + + + + Frees an iterator that's no longer in use. + + + + + + Gets the current byte index. Note that iterating forward by char +moves in visual order, not logical order, so indexes may not be +sequential. Also, the index may be equal to the length of the text +in the layout, if on the %NULL run (see pango_layout_iter_get_run()). + + current byte index. + + + + + Gets the current run. When iterating by run, at the end of each +line, there's a position with a %NULL run, so this function can return +%NULL. The %NULL run at the end of each line ensures that all lines have +at least one run, even lines consisting of only a newline. +Use the faster pango_layout_iter_get_run_readonly() if you do not plan +to modify the contents of the run (glyphs, glyph widths, etc.). + + the current run. + + + + + Gets the current run. When iterating by run, at the end of each +line, there's a position with a %NULL run, so this function can return +%NULL. The %NULL run at the end of each line ensures that all lines have +at least one run, even lines consisting of only a newline. +This is a faster alternative to pango_layout_iter_get_run(), +but the user is not expected +to modify the contents of the run (glyphs, glyph widths, etc.). + + the current run, that should not be modified. + + + + + Gets the current line. +Use the faster pango_layout_iter_get_line_readonly() if you do not plan +to modify the contents of the line (glyphs, glyph widths, etc.). + + the current line. + + + + + Gets the current line for read-only access. +This is a faster alternative to pango_layout_iter_get_line(), +but the user is not expected +to modify the contents of the line (glyphs, glyph widths, etc.). + + the current line, that should not be modified. + + + + + Determines whether @iter is on the last line of the layout. + + %TRUE if @iter is on the last line. + + + + + Gets the layout associated with a #PangoLayoutIter. + + the layout associated with @iter. + + + + + Moves @iter forward to the next character in visual order. If @iter was already at +the end of the layout, returns %FALSE. + + whether motion was possible. + + + + + Moves @iter forward to the next cluster in visual order. If @iter +was already at the end of the layout, returns %FALSE. + + whether motion was possible. + + + + + Moves @iter forward to the next run in visual order. If @iter was +already at the end of the layout, returns %FALSE. + + whether motion was possible. + + + + + Moves @iter forward to the start of the next line. If @iter is +already on the last line, returns %FALSE. + + whether motion was possible. + + + + + Gets the extents of the current character, in layout coordinates +(origin is the top left of the entire layout). Only logical extents +can sensibly be obtained for characters; ink extents make sense only +down to the level of clusters. + + + + + + rectangle to fill with logical extents + + + + + + Gets the extents of the current cluster, in layout coordinates +(origin is the top left of the entire layout). + + + + + + rectangle to fill with ink extents, or %NULL + + + + rectangle to fill with logical extents, or %NULL + + + + + + Gets the extents of the current run in layout coordinates +(origin is the top left of the entire layout). + + + + + + rectangle to fill with ink extents, or %NULL + + + + rectangle to fill with logical extents, or %NULL + + + + + + Obtains the extents of the current line. @ink_rect or @logical_rect +can be %NULL if you aren't interested in them. Extents are in layout +coordinates (origin is the top-left corner of the entire +#PangoLayout). Thus the extents returned by this function will be +the same width/height but not at the same x/y as the extents +returned from pango_layout_line_get_extents(). + + + + + + rectangle to fill with ink extents, or %NULL + + + + rectangle to fill with logical extents, or %NULL + + + + + + Divides the vertical space in the #PangoLayout being iterated over +between the lines in the layout, and returns the space belonging to +the current line. A line's range includes the line's logical +extents, plus half of the spacing above and below the line, if +pango_layout_set_spacing() has been called to set layout spacing. +The Y positions are in layout coordinates (origin at top left of the +entire layout). + + + + + + start of line + + + + end of line + + + + + + Obtains the extents of the #PangoLayout being iterated +over. @ink_rect or @logical_rect can be %NULL if you +aren't interested in them. + + + + + + rectangle to fill with ink extents, or %NULL + + + + rectangle to fill with logical extents, or %NULL + + + + + + Gets the Y position of the current line's baseline, in layout +coordinates (origin at top left of the entire layout). + + baseline of current line. + + + + + + + + + + + + + + + + + + + + + + + + + + + Increase the reference count of a #PangoLayoutLine by one. + + the line passed in. + + + + + Decrease the reference count of a #PangoLayoutLine by one. +If the result is zero, the line and all associated memory +will be freed. + + + + + + Converts from x offset to the byte index of the corresponding +character within the text of the layout. If @x_pos is outside the line, +in the line. This determination is based on the resolved direction +of the paragraph; for example, if the resolved direction is +right-to-left, then an X position to the right of the line (after it) +results in 0 being stored in @index_ and @trailing. An X position to the +left of the line results in @index_ pointing to the (logical) last +grapheme in the line and @trailing being set to the number of characters +in that grapheme. The reverse is true for a left-to-right line. + + %FALSE if @x_pos was outside the line, %TRUE if inside + + + + + the X offset (in Pango units) from the left edge of the line. + + + + location to store calculated byte index for the grapheme in which the user clicked. + + + + location to store an integer indicating where in the grapheme the user clicked. It will either be zero, or the number of characters in the grapheme. 0 represents the leading edge of the grapheme. + + + + + + Converts an index within a line to a X position. + + + + + + byte offset of a grapheme within the layout + + + + an integer indicating the edge of the grapheme to retrieve the position of. If > 0, the trailing edge of the grapheme, if 0, the leading of the grapheme. + + + + location to store the x_offset (in Pango unit) + + + + + + Gets a list of visual ranges corresponding to a given logical range. +This list is not necessarily minimal - there may be consecutive +ranges which are adjacent. The ranges will be sorted from left to +right. The ranges are with respect to the left edge of the entire +layout, not with respect to the line. + + + + + + Start byte index of the logical range. If this value is less than the start index for the line, then the first range will extend all the way to the leading edge of the layout. Otherwise it will start at the leading edge of the first character. + + + + Ending byte index of the logical range. If this value is greater than the end index for the line, then the last range will extend all the way to the trailing edge of the layout. Otherwise, it will end at the trailing edge of the last character. + + + + location to store a pointer to an array of ranges. The array will be of length <literal>2*n_ranges</literal>, with each range starting at <literal>(*ranges)[2*n]</literal> and of width <literal>(*ranges)[2*n + 1] - (*ranges)[2*n]</literal>. This array must be freed with g_free(). The coordinates are relative to the layout and are in Pango units. + + + + + + The number of ranges stored in @ranges. + + + + + + Computes the logical and ink extents of a layout line. See +pango_font_get_glyph_extents() for details about the interpretation +of the rectangles. + + + + + + rectangle used to store the extents of the glyph string as drawn, or %NULL + + + + rectangle used to store the logical extents of the glyph string, or %NULL + + + + + + Computes the logical and ink extents of @layout_line in device units. +This function just calls pango_layout_line_get_extents() followed by +two pango_extents_to_pixels() calls, rounding @ink_rect and @logical_rect +such that the rounded rectangles fully contain the unrounded one (that is, +passes them as first argument to pango_extents_to_pixels()). + + + + + + rectangle used to store the extents of the glyph string as drawn, or %NULL + + + + rectangle used to store the logical extents of the glyph string, or %NULL + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A structure specifying a transformation between user-space +coordinates and device coordinates. The transformation +is given by +<programlisting> +x_device = x_user * matrix->xx + y_user * matrix->xy + matrix->x0; +y_device = x_user * matrix->yx + y_user * matrix->yy + matrix->y0; +</programlisting> + + + + + + + + + + + + + + + + + + + + Copies a #PangoMatrix. +be freed with pango_matrix_free(), or %NULL if + + the newly allocated #PangoMatrix, which should + + + + + Free a #PangoMatrix created with pango_matrix_copy(). + + + + + + Changes the transformation represented by @matrix to be the +transformation given by first translating by (@tx, @ty) +then applying the original transformation. + + + + + + amount to translate in the X direction + + + + amount to translate in the Y direction + + + + + + Changes the transformation represented by @matrix to be the +transformation given by first scaling by @sx in the X direction +and @sy in the Y direction then applying the original +transformation. + + + + + + amount to scale by in X direction + + + + amount to scale by in Y direction + + + + + + Changes the transformation represented by @matrix to be the +transformation given by first rotating by @degrees degrees +counter-clockwise then applying the original transformation. + + + + + + degrees to rotate counter-clockwise + + + + + + Changes the transformation represented by @matrix to be the +transformation given by first applying transformation +given by @new_matrix then applying the original transformation. + + + + + + a #PangoMatrix + + + + + + Transforms the point (@x, @y) by @matrix. + + + + + + in/out X position + + + + in/out Y position + + + + + + Transforms the distance vector (@dx,@dy) by @matrix. This is +similar to pango_matrix_transform_point() except that the translation +components of the transformation are ignored. The calculation of +the returned vector is as follows: +<programlisting> +dx2 = dx1 * xx + dy1 * xy; +dy2 = dx1 * yx + dy1 * yy; +</programlisting> +Affine transformations are position invariant, so the same vector +always transforms to the same vector. If (@x1,@y1) transforms +to (@x2,@y2) then (@x1+@dx1,@y1+@dy1) will transform to +(@x1+@dx2,@y1+@dy2) for all values of @x1 and @x2. + + + + + + in/out X component of a distance vector + + + + yn/out Y component of a distance vector + + + + + + First transforms @rect using @matrix, then calculates the bounding box +of the transformed rectangle. The rectangle should be in Pango units. +This function is useful for example when you want to draw a rotated +should be and how much you should shift the layout when rendering. +If you have a rectangle in device units (pixels), use +pango_matrix_transform_pixel_rectangle(). +If you have the rectangle in Pango units and want to convert to +transformed pixel bounding box, it is more accurate to transform it first +(using this function) and pass the result to pango_extents_to_pixels(), +first argument, for an inclusive rounded rectangle. +However, there are valid reasons that you may want to convert +to pixels first and then transform, for example when the transformed +coordinates may overflow in Pango units (large matrix translation for +example). + + + + + + in/out bounding box in Pango units, or %NULL + + + + + + First transforms the @rect using @matrix, then calculates the bounding box +of the transformed rectangle. The rectangle should be in device units +(pixels). +This function is useful for example when you want to draw a rotated +should be and how much you should shift the layout when rendering. +For better accuracy, you should use pango_matrix_transform_rectangle() on +original rectangle in Pango units and convert to pixels afterward +using pango_extents_to_pixels()'s first argument. + + + + + + in/out bounding box in device units, or %NULL + + + + + + Returns the scale factor of a matrix on the height of the font. +That is, the scale factor in the direction perpendicular to the +vector that the X coordinate is mapped to. +or 1.0 if @matrix is %NULL. + + the scale factor of @matrix on the height of the font, + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + #PangoRenderPart defines different items to render for such +purposes as setting colors. + + + + + + + #PangoRenderer is a base class for objects that are used to +render Pango objects such as #PangoGlyphString and +#PangoLayout. + + Draws the glyphs in @glyphs with the specified #PangoRenderer. + + + + + + a #PangoFont + + + + a #PangoGlyphString + + + + X position of left edge of baseline, in user space coordinates in Pango units. + + + + Y position of left edge of baseline, in user space coordinates in Pango units. + + + + + + Draws an axis-aligned rectangle in user space coordinates with the +specified #PangoRenderer. +This should be called while @renderer is already active. Use +pango_renderer_activate() to activate a renderer. + + + + + + type of object this rectangle is part of + + + + X position at which to draw rectangle, in user space coordinates in Pango units + + + + Y position at which to draw rectangle, in user space coordinates in Pango units + + + + width of rectangle in Pango units in user space coordinates + + + + height of rectangle in Pango units in user space coordinates + + + + + + Draw a squiggly line that approximately covers the given rectangle +in the style of an underline used to indicate a spelling error. +(The width of the underline is rounded to an integer number +of up/down segments and the resulting rectangle is centered +in the original rectangle) +This should be called while @renderer is already active. Use +pango_renderer_activate() to activate a renderer. + + + + + + X coordinate of underline, in Pango units in user coordinate system + + + + Y coordinate of underline, in Pango units in user coordinate system + + + + width of underline, in Pango units in user coordinate system + + + + height of underline, in Pango units in user coordinate system + + + + + + + + + + + + + + + + + + + + + + Draws a trapezoid with the parallel sides aligned with the X axis +using the given #PangoRenderer; coordinates are in device space. + + + + + + type of object this trapezoid is part of + + + + Y coordinate of top of trapezoid + + + + X coordinate of left end of top of trapezoid + + + + X coordinate of right end of top of trapezoid + + + + Y coordinate of bottom of trapezoid + + + + X coordinate of left end of bottom of trapezoid + + + + X coordinate of right end of bottom of trapezoid + + + + + + Draws a single glyph with coordinates in device space. + + + + + + a #PangoFont + + + + the glyph index of a single glyph + + + + X coordinate of left edge of baseline of glyph + + + + Y coordinate of left edge of baseline of glyph + + + + + + Informs Pango that the way that the rendering is done +for @part has changed in a way that would prevent multiple +pieces being joined together into one drawing call. For +instance, if a subclass of #PangoRenderer was to add a stipple +option for drawing underlines, it needs to call +<informalexample><programlisting> +pango_renderer_part_changed (render, PANGO_RENDER_PART_UNDERLINE); +</programlisting></informalexample> +When the stipple changes or underlines with different stipples +might be joined together. Pango automatically calls this for +changes to colors. (See pango_renderer_set_color()) + + + + + + the part for which rendering has changed. + + + + + + + + + + + + + + + + + + + + + + + + + + Draws the glyphs in @glyph_item with the specified #PangoRenderer, +embedding the text associated with the glyphs in the output if the +output format supports it (PDF for example). +Note that @text is the start of the text for layout, which is then +indexed by <literal>@glyph_item->item->offset</literal>. +If @text is %NULL, this simply calls pango_renderer_draw_glyphs(). +The default implementation of this method simply falls back to +pango_renderer_draw_glyphs(). + + + + + + the UTF-8 text that @glyph_item refers to, or %NULL + + + + a #PangoGlyphItem + + + + X position of left edge of baseline, in user space coordinates in Pango units. + + + + Y position of left edge of baseline, in user space coordinates in Pango units. + + + + + + Draws @layout with the specified #PangoRenderer. + + + + + + a #PangoLayout + + + + X position of left edge of baseline, in user space coordinates in Pango units. + + + + Y position of left edge of baseline, in user space coordinates in Pango units. + + + + + + Draws @line with the specified #PangoRenderer. + + + + + + a #PangoLayoutLine + + + + X position of left edge of baseline, in user space coordinates in Pango units. + + + + Y position of left edge of baseline, in user space coordinates in Pango units. + + + + + + Draws the glyphs in @glyphs with the specified #PangoRenderer. + + + + + + a #PangoFont + + + + a #PangoGlyphString + + + + X position of left edge of baseline, in user space coordinates in Pango units. + + + + Y position of left edge of baseline, in user space coordinates in Pango units. + + + + + + Draws the glyphs in @glyph_item with the specified #PangoRenderer, +embedding the text associated with the glyphs in the output if the +output format supports it (PDF for example). +Note that @text is the start of the text for layout, which is then +indexed by <literal>@glyph_item->item->offset</literal>. +If @text is %NULL, this simply calls pango_renderer_draw_glyphs(). +The default implementation of this method simply falls back to +pango_renderer_draw_glyphs(). + + + + + + the UTF-8 text that @glyph_item refers to, or %NULL + + + + a #PangoGlyphItem + + + + X position of left edge of baseline, in user space coordinates in Pango units. + + + + Y position of left edge of baseline, in user space coordinates in Pango units. + + + + + + Draws an axis-aligned rectangle in user space coordinates with the +specified #PangoRenderer. +This should be called while @renderer is already active. Use +pango_renderer_activate() to activate a renderer. + + + + + + type of object this rectangle is part of + + + + X position at which to draw rectangle, in user space coordinates in Pango units + + + + Y position at which to draw rectangle, in user space coordinates in Pango units + + + + width of rectangle in Pango units in user space coordinates + + + + height of rectangle in Pango units in user space coordinates + + + + + + Draw a squiggly line that approximately covers the given rectangle +in the style of an underline used to indicate a spelling error. +(The width of the underline is rounded to an integer number +of up/down segments and the resulting rectangle is centered +in the original rectangle) +This should be called while @renderer is already active. Use +pango_renderer_activate() to activate a renderer. + + + + + + X coordinate of underline, in Pango units in user coordinate system + + + + Y coordinate of underline, in Pango units in user coordinate system + + + + width of underline, in Pango units in user coordinate system + + + + height of underline, in Pango units in user coordinate system + + + + + + Draws a trapezoid with the parallel sides aligned with the X axis +using the given #PangoRenderer; coordinates are in device space. + + + + + + type of object this trapezoid is part of + + + + Y coordinate of top of trapezoid + + + + X coordinate of left end of top of trapezoid + + + + X coordinate of right end of top of trapezoid + + + + Y coordinate of bottom of trapezoid + + + + X coordinate of left end of bottom of trapezoid + + + + X coordinate of right end of bottom of trapezoid + + + + + + Draws a single glyph with coordinates in device space. + + + + + + a #PangoFont + + + + the glyph index of a single glyph + + + + X coordinate of left edge of baseline of glyph + + + + Y coordinate of left edge of baseline of glyph + + + + + + Does initial setup before rendering operations on @renderer. +pango_renderer_deactivate() should be called when done drawing. +Calls such as pango_renderer_draw_layout() automatically +activate the layout before drawing on it. Calls to +pango_renderer_activate() and pango_renderer_deactivate() can +be nested and the renderer will only be initialized and +deinitialized once. + + + + + + Cleans up after rendering operations on @renderer. See +docs for pango_renderer_activate(). + + + + + + Informs Pango that the way that the rendering is done +for @part has changed in a way that would prevent multiple +pieces being joined together into one drawing call. For +instance, if a subclass of #PangoRenderer was to add a stipple +option for drawing underlines, it needs to call +<informalexample><programlisting> +pango_renderer_part_changed (render, PANGO_RENDER_PART_UNDERLINE); +</programlisting></informalexample> +When the stipple changes or underlines with different stipples +might be joined together. Pango automatically calls this for +changes to colors. (See pango_renderer_set_color()) + + + + + + the part for which rendering has changed. + + + + + + Sets the color for part of the rendering. + + + + + + the part to change the color of + + + + the new color or %NULL to unset the current color + + + + + + Gets the current rendering color for the specified part. +if it hasn't been set and should be inherited from the +environment. + + the color for the specified part, or %NULL + + + + + the part to get the color for + + + + + + Sets the transformation matrix that will be applied when rendering. + + + + + + a #PangoMatrix, or %NULL to unset any existing matrix. (No matrix set is the same as setting the identity matrix.) + + + + + + Gets the transformation matrix that will be applied when +rendering. See pango_renderer_set_matrix(). +(which is the same as the identity matrix). The returned +matrix is owned by Pango and must not be modified or +freed. + + the matrix, or %NULL if no matrix has been set + + + + + Gets the layout currently being rendered using @renderer. +Calling this function only makes sense from inside a subclass's +methods, like in its draw_shape<!---->() for example. +The returned layout should not be modified while still being +rendered. +rendered using @renderer at this time. + + the layout, or %NULL if no layout is being + + + + + Gets the layout line currently being rendered using @renderer. +Calling this function only makes sense from inside a subclass's +methods, like in its draw_shape<!---->() for example. +The returned layout line should not be modified while still being +rendered. +rendered using @renderer at this time. + + the layout line, or %NULL if no layout line is being + + + + + + + + + + + + + + + + + + + + + + + + Class structure for #PangoRenderer. + + + + + + + + + + + + + + a #PangoFont + + + + a #PangoGlyphString + + + + X position of left edge of baseline, in user space coordinates in Pango units. + + + + Y position of left edge of baseline, in user space coordinates in Pango units. + + + + + + + + + + + + + + + + type of object this rectangle is part of + + + + X position at which to draw rectangle, in user space coordinates in Pango units + + + + Y position at which to draw rectangle, in user space coordinates in Pango units + + + + width of rectangle in Pango units in user space coordinates + + + + height of rectangle in Pango units in user space coordinates + + + + + + + + + + + + + + + + X coordinate of underline, in Pango units in user coordinate system + + + + Y coordinate of underline, in Pango units in user coordinate system + + + + width of underline, in Pango units in user coordinate system + + + + height of underline, in Pango units in user coordinate system + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + type of object this trapezoid is part of + + + + Y coordinate of top of trapezoid + + + + X coordinate of left end of top of trapezoid + + + + X coordinate of right end of top of trapezoid + + + + Y coordinate of bottom of trapezoid + + + + X coordinate of left end of bottom of trapezoid + + + + X coordinate of right end of bottom of trapezoid + + + + + + + + + + + + + + + + a #PangoFont + + + + the glyph index of a single glyph + + + + X coordinate of left edge of baseline of glyph + + + + Y coordinate of left edge of baseline of glyph + + + + + + + + + + + + + + + + the part for which rendering has changed. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + the UTF-8 text that @glyph_item refers to, or %NULL + + + + a #PangoGlyphItem + + + + X position of left edge of baseline, in user space coordinates in Pango units. + + + + Y position of left edge of baseline, in user space coordinates in Pango units. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A #PangoScriptIter is used to iterate through a string +and identify ranges in different scripts. + + + + + + + + + + + + + + + + + + + + + + + + + Create a new #PangoScriptIter, used to break a string of +Unicode into runs by text. No copy is made of @text, so +the caller needs to make sure it remains valid until +the iterator is freed with pango_script_iter_free(). +to point at the first range in the text, which should be +freed with pango_script_iter_free(). If the string is +empty, it will point at an empty range. + + the new script iterator, initialized + + + + + a UTF-8 string + + + + length of @text, or -1 if @text is nul-terminated. + + + + + + Gets information about the range to which @iter currently points. +The range is the set of locations p where *start <= p < *end. +(That is, it doesn't include the character stored at *end) + + + + + + location to store start position of the range, or %NULL + + + + + + location to store end position of the range, or %NULL + + + + + + location to store script for range, or %NULL + + + + + + Advances a #PangoScriptIter to the next range. If @iter +is already at the end, it is left unchanged and %FALSE +is returned. + + %TRUE if @iter was successfully advanced. + + + + + Frees a #PangoScriptIter created with pango_script_iter_new(). + + + + + + + + + + + + + + + + + + An enumeration specifying the various slant styles possible for a font. + + + + + + + + + + Creates an array of @initial_size tab stops. Tab stops are specified in +pixel units if @positions_in_pixels is %TRUE, otherwise in Pango +units. All stops are initially at position 0. +be freed with pango_tab_array_free(). + + the newly allocated #PangoTabArray, which should + + + + + Initial number of tab stops to allocate, can be 0 + + + + whether positions are in pixel units + + + + + + This is a convenience function that creates a #PangoTabArray +and allows you to specify the alignment and position of each +tab stop. You <emphasis>must</emphasis> provide an alignment +and position for @size tab stops. +be freed with pango_tab_array_free(). + + the newly allocated #PangoTabArray, which should + + + + + number of tab stops in the array + + + + whether positions are in pixel units + + + + alignment of first tab stop + + + + position of first tab stop + + + + + + + + + + Copies a #PangoTabArray +be freed with pango_tab_array_free(). + + the newly allocated #PangoTabArray, which should + + + + + Frees a tab array and associated resources. + + + + + + Gets the number of tab stops in @tab_array. + + the number of tab stops in the array. + + + + + Resizes a tab array. You must subsequently initialize any tabs that +were added as a result of growing the array. + + + + + + new size of the array + + + + + + Sets the alignment and location of a tab stop. +implementation. + + + + + + the index of a tab stop + + + + tab alignment + + + + tab location in Pango units + + + + + + Gets the alignment and position of a tab stop. + + + + + + tab stop index + + + + location to store alignment, or %NULL + + + + location to store tab position, or %NULL + + + + + + If non-%NULL, @alignments and @locations are filled with allocated +arrays of length pango_tab_array_get_size(). You must free the +returned array. + + + + + + location to store an array of tab stop alignments, or %NULL + + + + location to store an array of tab positions, or %NULL + + + + + + Returns %TRUE if the tab positions are in pixels, %FALSE if they are +in Pango units. + + whether positions are in pixels. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Create a new background color attribute. +freed with pango_attribute_destroy(). + + the newly allocated #PangoAttribute, which should be + + + + + the red value (ranging from 0 to 65535) + + + + the green value + + + + the blue value + + + + + + Create a new font fallback attribute. +If fallback is disabled, characters will only be used from the +closest matching font on the system. No fallback will be done to +other fonts on the system that might contain the characters in the +text. +freed with pango_attribute_destroy(). + + the newly allocated #PangoAttribute, which should be + + + + + %TRUE if we should fall back on other fonts for characters the active font is missing. + + + + + + Create a new font family attribute. +freed with pango_attribute_destroy(). + + the newly allocated #PangoAttribute, which should be + + + + + the family or comma separated list of families + + + + + + Create a new foreground color attribute. +freed with pango_attribute_destroy(). + + the newly allocated #PangoAttribute, which should be + + + + + the red value (ranging from 0 to 65535) + + + + the green value + + + + the blue value + + + + + + Create a new gravity hint attribute. +freed with pango_attribute_destroy(). + + the newly allocated #PangoAttribute, which should be + + + + + the gravity hint value. + + + + + + Create a new gravity attribute. +freed with pango_attribute_destroy(). + + the newly allocated #PangoAttribute, which should be + + + + + the gravity value; should not be %PANGO_GRAVITY_AUTO. + + + + + + Create a new letter-spacing attribute. +freed with pango_attribute_destroy(). + + the newly allocated #PangoAttribute, which should be + + + + + amount of extra space to add between graphemes of the text, in Pango units. + + + + + + Create a new baseline displacement attribute. +freed with pango_attribute_destroy(). + + the newly allocated #PangoAttribute, which should be + + + + + the amount that the text should be displaced vertically, in Pango units. Positive values displace the text upwards. + + + + + + Create a new font size scale attribute. The base font for the +affected text will have its size multiplied by @scale_factor. +freed with pango_attribute_destroy(). + + the newly allocated #PangoAttribute, which should be + + + + + factor to scale the font + + + + + + Create a new font stretch attribute +freed with pango_attribute_destroy(). + + the newly allocated #PangoAttribute, which should be + + + + + the stretch + + + + + + Create a new strikethrough color attribute. This attribute +modifies the color of strikethrough lines. If not set, strikethrough +lines will use the foreground color. +freed with pango_attribute_destroy(). + + the newly allocated #PangoAttribute, which should be + + + + + the red value (ranging from 0 to 65535) + + + + the green value + + + + the blue value + + + + + + Create a new strike-through attribute. +freed with pango_attribute_destroy(). + + the newly allocated #PangoAttribute, which should be + + + + + %TRUE if the text should be struck-through. + + + + + + Create a new font slant style attribute. +freed with pango_attribute_destroy(). + + the newly allocated #PangoAttribute, which should be + + + + + the slant style + + + + + + Fetches the attribute type name passed in when registering the type using +pango_attr_type_register(). +The returned value is an interned string (see g_intern_string() for what +that means) that should not be modified or freed. +a built-in Pango attribute type or invalid. + + the type ID name (which may be %NULL), or %NULL if @type is + + + + + an attribute type ID to fetch the name for + + + + + + Allocate a new attribute type ID. The attribute type name can be accessed +later by using pango_attr_type_get_name(). + + the new type ID. + + + + + an identifier for the type + + + + + + Create a new underline color attribute. This attribute +modifies the color of underlines. If not set, underlines +will use the foreground color. +freed with pango_attribute_destroy(). + + the newly allocated #PangoAttribute, which should be + + + + + the red value (ranging from 0 to 65535) + + + + the green value + + + + the blue value + + + + + + Create a new underline-style attribute. +freed with pango_attribute_destroy(). + + the newly allocated #PangoAttribute, which should be + + + + + the underline style. + + + + + + Create a new font variant attribute (normal or small caps) +freed with pango_attribute_destroy(). + + the newly allocated #PangoAttribute, which should be + + + + + the variant + + + + + + Create a new font weight attribute. +freed with pango_attribute_destroy(). + + the newly allocated #PangoAttribute, which should be + + + + + the weight + + + + + + + + + + + + + + + + Determines possible line, word, and character breaks +for a string of Unicode text with a single analysis. For most +purposes you may want to use pango_get_log_attrs(). + + + + + + the text to process + + + + length of @text in bytes (may be -1 if @text is nul-terminated) + + + + #PangoAnalysis structure from pango_itemize() + + + + an array to store character information in + + + + size of the array passed as @attrs + + + + + + Convert data generated from pango_converage_to_bytes() back +to a #PangoCoverage +the data was invalid. + + a newly allocated #PangoCoverage, or %NULL if + + + + + binary data representing a #PangoCoverage + + + + + + the size of @bytes in bytes + + + + + + Converts extents from Pango units to device units, dividing by the +%PANGO_SCALE factor and performing rounding. +The @inclusive rectangle is converted by flooring the x/y coordinates and extending +width/height, such that the final rectangle completely includes the original +rectangle. +The @nearest rectangle is converted by rounding the coordinates +of the rectangle to the nearest device unit (pixel). +rectangle to completely contain the original rectangle, pass it in as @inclusive. +If you want two touching-but-not-overlapping rectangles stay +touching-but-not-overlapping after rounding to device units, pass them in +as @nearest. + + + + + + rectangle to round to pixels inclusively, or %NULL. + + + + rectangle to round to nearest pixels, or %NULL. + + + + + + Searches a string the first character that has a strong +direction, according to the Unicode bidirectional algorithm. +If no such character is found, then %PANGO_DIRECTION_NEUTRAL is returned. + + The direction corresponding to the first strong character. + + + + + the text to process + + + + length of @text in bytes (may be -1 if @text is nul-terminated) + + + + + + Locates a paragraph boundary in @text. A boundary is caused by +delimiter characters, such as a newline, carriage return, carriage +return-newline pair, or Unicode paragraph separator character. The +index of the run of delimiters is returned in +(index after all delimiters) is stored in @next_paragraph_start. +If no delimiters are found, both @paragraph_delimiter_index and +off the end). + + + + + + UTF-8 text + + + + length of @text in bytes, or -1 if nul-terminated + + + + return location for index of delimiter + + + + return location for start of next paragraph + + + + + + Computes a #PangoLogAttr for each character in @text. The @log_attrs +array must have one #PangoLogAttr for each position in @text; if +last position at the end of the text. @text should be an entire +paragraph; logical attributes can't be computed without context +(for example you need to see spaces on either side of a word to know +the word is a word). + + + + + + text to process + + + + length in bytes of @text + + + + embedding level, or -1 if unknown + + + + language tag + + + + array with one #PangoLogAttr per character in @text, plus one extra, to be filled in + + + + length of @log_attrs array + + + + + + If @ch has the Unicode mirrored property and there is another Unicode +character that typically has a glyph that is the mirror image of @ch's +glyph, puts that character in the address pointed to by @mirrored_ch. +Use g_unichar_get_mirror_char() instead; the docs for that function +provide full details. +filled in, %FALSE otherwise + + %TRUE if @ch has a mirrored character and @mirrored_ch is + + + + + a Unicode character + + + + location to store the mirrored character + + + + + + Finds the gravity that best matches the rotation component +in a #PangoMatrix. +%PANGO_GRAVITY_AUTO, or %PANGO_GRAVITY_SOUTH if @matrix is %NULL + + the gravity of @matrix, which will never be + + + + + a #PangoMatrix + + + + + + Based on the script, base gravity, and hint, returns actual gravity +to use in laying out a single #PangoItem. +If @base_gravity is %PANGO_GRAVITY_AUTO, it is first replaced with the +preferred gravity of @script. To get the preferred gravity of a script, +pass %PANGO_GRAVITY_AUTO and %PANGO_GRAVITY_HINT_STRONG in. +with @script. + + resolved gravity suitable to use for a run of text + + + + + #PangoScript to query + + + + base gravity of the paragraph + + + + orientation hint + + + + + + Based on the script, East Asian width, base gravity, and hint, +returns actual gravity to use in laying out a single character +or #PangoItem. +This function is similar to pango_gravity_get_for_script() except +that this function makes a distinction between narrow/half-width and +wide/full-width characters also. Wide/full-width characters always +stand <emph>upright</emph>, that is, they always take the base gravity, +whereas narrow/full-width characters are always rotated in vertical +context. +If @base_gravity is %PANGO_GRAVITY_AUTO, it is first replaced with the +preferred gravity of @script. +with @script and @wide. + + resolved gravity suitable to use for a run of text + + + + + #PangoScript to query + + + + %TRUE for wide characters as returned by g_unichar_iswide() + + + + base gravity of the paragraph + + + + orientation hint + + + + + + Converts a #PangoGravity value to its natural rotation in radians. +Note that pango_matrix_rotate() takes angle in degrees, not radians. +So, to call pango_matrix_rotate() with the output of this function +you should multiply it by (180. / G_PI). + + the rotation value corresponding to @gravity. + + + + + gravity to query + + + + + + Checks @ch to see if it is a character that should not be +normally rendered on the screen. This includes all Unicode characters +with "ZERO WIDTH" in their name, as well as <firstterm>bidi</firstterm> formatting characters, and +a few other ones. This is totally different from g_unichar_iszerowidth() +and is at best misnamed. + + %TRUE if @ch is a zero-width character, %FALSE otherwise + + + + + a Unicode character + + + + + + after @start_index. +This must be >= 0. +Breaks a piece of text into segments with consistent +directional level and shaping engine. Each byte of @text will +be contained in exactly one of the items in the returned list; +the generated list of items will be in logical order (the start +offsets of the items are ascending). +range before or containing @start_index; @cached_iter will be advanced to +the range covering the position just after @start_index + @length. +(i.e. if itemizing in a loop, just keep passing in the same @cached_iter). + + a #GList of #PangoItem structures. + + + + + + + a structure holding information that affects + + + + the text to itemize. + + + + first byte in @text to process + + + + the number of bytes (not characters) to process + + + + the set of attributes that apply to @text. + + + + Cached attribute iterator, or %NULL + + + + + + after @start_index. +This must be >= 0. +Like pango_itemize(), but the base direction to use when +computing bidirectional levels (see pango_context_set_base_dir ()), +is specified explicitly rather than gotten from the #PangoContext. +freed using pango_item_free() probably in combination with g_list_foreach(), +and the list itself using g_list_free(). + + a #GList of #PangoItem structures. The items should be + + + + + + + a structure holding information that affects + + + + base direction to use for bidirectional processing + + + + the text to itemize. + + + + first byte in @text to process + + + + the number of bytes (not characters) to process + + + + the set of attributes that apply to @text. + + + + Cached attribute iterator, or %NULL + + + + + + Take a RFC-3066 format language tag as a string and convert it to a +#PangoLanguage pointer that can be efficiently copied (copy the +pointer) and compared with other language tags (compare the +pointer.) +This function first canonicalizes the string by converting it to +lowercase, mapping '_' to '-', and stripping all characters other +than letters and '-'. +Use pango_language_get_default() if you want to get the #PangoLanguage for +the current locale of the process. +if @language was %NULL. The returned pointer will be valid +forever after, and should not be freed. + + an opaque pointer to a #PangoLanguage structure, or %NULL + + + + + a string representing a language tag, or %NULL + + + + + + Returns the #PangoLanguage for the current locale of the process. +Note that this can change over the life of an application. +On Unix systems, this is the return value is derived from +<literal>setlocale(LC_CTYPE, NULL)</literal>, and the user can +affect this through the environment variables LC_ALL, LC_CTYPE or +LANG (checked in that order). The locale string typically is in +the form lang_COUNTRY, where lang is an ISO-639 language code, and +COUNTRY is an ISO-3166 country code. For instance, sv_FI for +Swedish as written in Finland or pt_BR for Portuguese as written in +Brazil. +On Windows, the C library does not use any such environment +variables, and setting them won't affect the behavior of functions +like ctime(). The user sets the locale through the Regional Options +in the Control Panel. The C library (in the setlocale() function) +does not use country and language codes, but country and language +names spelled out in English. +However, this function does check the above environment +variables, and does return a Unix-style locale string based on +either said environment variables or the thread's current locale. +Your application should call <literal>setlocale(LC_ALL, "");</literal> +for the user settings to take effect. Gtk+ does this in its initialization +functions automatically (by calling gtk_set_locale()). +See <literal>man setlocale</literal> for more details. +freed. + + the default language as a #PangoLanguage, must not be + + + + + This will return the bidirectional embedding levels of the input paragraph +as defined by the Unicode Bidirectional Algorithm available at: +http://www.unicode.org/reports/tr9/ +If the input base direction is a weak direction, the direction of the +characters in the text will determine the final resolved direction. +character (not byte), that should be freed using g_free. + + a newly allocated array of embedding levels, one item per + + + + + + + the text to itemize. + + + + the number of bytes (not characters) to process, or -1 if @text is nul-terminated and the length should be calculated. + + + + input base direction, and output resolved direction. + + + + + + Parses an enum type and stores the result in @value. +If @str does not match the nick name of any of the possible values for the +enum and is not an integer, %FALSE is returned, a warning is issued +if @warn is %TRUE, and a +string representing the list of possible values is stored in +"none/start/middle/end". If failed and @possible_values is not %NULL, +returned string should be freed using g_free(). + + %TRUE if @str was successfully parsed. + + + + + enum type to parse, eg. %PANGO_TYPE_ELLIPSIZE_MODE. + + + + string to parse. May be %NULL. + + + + integer to store the result in, or %NULL. + + + + if %TRUE, issue a g_warning() on bad input. + + + + place to store list of possible values on failure, or %NULL. + + + + + + + + Parses marked-up text (see +<link linkend="PangoMarkupFormat">markup format</link>) to create +a plain-text string and an attribute list. +If @accel_marker is nonzero, the given character will mark the +character following it as an accelerator. For example, @accel_marker +might be an ampersand or underscore. All characters marked +as an accelerator will receive a %PANGO_UNDERLINE_LOW attribute, +and the first character so marked will be returned in @accel_char. +Two @accel_marker characters following each other produce a single +literal @accel_marker character. +If any error happens, none of the output arguments are touched except +for @error. + + %FALSE if @error is set, otherwise %TRUE + + + + + markup to parse (see <link linkend="PangoMarkupFormat">markup format</link>) + + + + length of @markup_text, or -1 if nul-terminated + + + + character that precedes an accelerator, or 0 for none + + + + address of return location for a #PangoAttrList, or %NULL + + + + address of return location for text with tags stripped, or %NULL + + + + + + address of return location for accelerator char, or %NULL + + + + + + Parses a font stretch. The allowed values are +"ultra_condensed", "extra_condensed", "condensed", +"semi_condensed", "normal", "semi_expanded", "expanded", +"extra_expanded" and "ultra_expanded". Case variations are +ignored and the '_' characters may be omitted. + + %TRUE if @str was successfully parsed. + + + + + a string to parse. + + + + a #PangoStretch to store the result in. + + + + if %TRUE, issue a g_warning() on bad input. + + + + + + Parses a font style. The allowed values are "normal", +"italic" and "oblique", case variations being +ignored. + + %TRUE if @str was successfully parsed. + + + + + a string to parse. + + + + a #PangoStyle to store the result in. + + + + if %TRUE, issue a g_warning() on bad input. + + + + + + Parses a font variant. The allowed values are "normal" +and "smallcaps" or "small_caps", case variations being +ignored. + + %TRUE if @str was successfully parsed. + + + + + a string to parse. + + + + a #PangoVariant to store the result in. + + + + if %TRUE, issue a g_warning() on bad input. + + + + + + Parses a font weight. The allowed values are "heavy", +"ultrabold", "bold", "normal", "light", "ultraleight" +and integers. Case variations are ignored. + + %TRUE if @str was successfully parsed. + + + + + a string to parse. + + + + a #PangoWeight to store the result in. + + + + if %TRUE, issue a g_warning() on bad input. + + + + + + Quantizes the thickness and position of a line, typically an +underline or strikethrough, to whole device pixels, that is integer +multiples of %PANGO_SCALE. The purpose of this function is to avoid +such lines looking blurry. +Care is taken to make sure @thickness is at least one pixel when this +function returns, but returned @position may become zero as a result +of rounding. + + + + + + pointer to the thickness of a line, in Pango units + + + + corresponding position + + + + + + From a list of items in logical order and the associated +directional levels, produce a list in visual order. +The original list is unmodified. +(Please open a bug if you use this function. +It is not a particularly convenient interface, and the code +is duplicated elsewhere in Pango for that reason.) + + a #GList of #PangoItem structures in visual order. + + + + + + + a #GList of #PangoItem in logical order. + + + + + + + + Scans an integer. +Leading white space is skipped. + + %FALSE if a parse error occurred. + + + + + in/out string position + + + + + + an int into which to write the result + + + + + + Scans a string into a #GString buffer. The string may either +be a sequence of non-white-space characters, or a quoted +string with '"'. Instead a quoted string, '\"' represents +a literal quote. Leading white space outside of quotes is skipped. + + %FALSE if a parse error occurred. + + + + + in/out string position + + + + + + a #GString into which to write the result + + + + + + Scans a word into a #GString buffer. A word consists +of [A-Za-z_] followed by zero or more [A-Za-z_0-9] +Leading white space is skipped. + + %FALSE if a parse error occurred. + + + + + in/out string position + + + + + + a #GString into which to write the result + + + + + + Looks up the #PangoScript for a particular character (as defined by +Unicode Standard Annex #24). No check is made for @ch being a +valid Unicode character; if you pass in invalid character, the +result is undefined. +As of Pango 1.18, this function simply returns the return value of +g_unichar_get_script(). + + the #PangoScript for the character. + + + + + a Unicode character + + + + + + Given a script, finds a language tag that is reasonably +representative of that script. This will usually be the +most widely spoken or used language written in that script: +for instance, the sample language for %PANGO_SCRIPT_CYRILLIC +is <literal>ru</literal> (Russian), the sample language +for %PANGO_SCRIPT_ARABIC is <literal>ar</literal>. +For some +scripts, no sample language will be returned because there +is no language that is sufficiently representative. The best +example of this is %PANGO_SCRIPT_HAN, where various different +variants of written Chinese, Japanese, and Korean all use +significantly different sets of Han characters and forms +of shared characters. No sample language can be provided +for many historical scripts as well. +As of 1.18, this function checks the environment variables +PANGO_LANGUAGE and LANGUAGE (checked in that order) first. +If one of them is set, it is parsed as a list of language tags +separated by colons or other separators. This function +will return the first language in the parsed list that Pango +believes may use @script for writing. This last predicate +is tested using pango_language_includes_script(). This can +be used to control Pango's font selection for non-primary +languages. For example, a PANGO_LANGUAGE enviroment variable +set to "en:fa" makes Pango choose fonts suitable for Persian (fa) +instead of Arabic (ar) when a segment of Arabic text is found +in an otherwise non-Arabic text. The same trick can be used to +choose a default language for %PANGO_SCRIPT_HAN when setting +context language is not feasible. +of the script, or %NULL if no such language exists. + + a #PangoLanguage that is representative + + + + + a #PangoScript + + + + + + Given a segment of text and the corresponding +#PangoAnalysis structure returned from pango_itemize(), +convert the characters into glyphs. You may also pass +in only a substring of the item from pango_itemize(). + + + + + + the text to process + + + + the length (in bytes) of @text + + + + #PangoAnalysis structure from pango_itemize() + + + + glyph string in which to store results + + + + + + Skips 0 or more characters of white space. +the position at a '\0' character. + + %FALSE if skipping the white space leaves + + + + + in/out string position + + + + + + + + Splits a %G_SEARCHPATH_SEPARATOR-separated list of files, stripping +white space and substituting ~/ with $HOME/. + + a list of strings to be freed with g_strfreev() + + + + + + + a %G_SEARCHPATH_SEPARATOR separated list of filenames + + + + + + Trims leading and trailing whitespace from a string. + + A newly-allocated string that must be freed with g_free() + + + + + a string + + + + + + Determines the inherent direction of a character; either +%PANGO_DIRECTION_LTR, %PANGO_DIRECTION_RTL, or +%PANGO_DIRECTION_NEUTRAL. +This function is useful to categorize characters into left-to-right +letters, right-to-left letters, and everything else. If full +Unicode bidirectional type of a character is needed, +pango_bidi_type_for_gunichar() can be used instead. + + the direction of the character. + + + + + a Unicode character + + + + + + it by %PANGO_SCALE and rounds to nearest integer. + + the value in Pango units. + + + + + double floating-point value + + + + + + it by %PANGO_SCALE. + + the double value. + + + + + value in Pango units + + + + + + This is similar to the macro %PANGO_VERSION except that +it returns the encoded version of Pango available at run-time, +as opposed to the version available at compile-time. +A version number can be encoded into an integer using +PANGO_VERSION_ENCODE(). +available at run time. + + The encoded version of Pango library + + + + + Checks that the Pango library in use is compatible with the +given version. Generally you would pass in the constants +%PANGO_VERSION_MAJOR, %PANGO_VERSION_MINOR, %PANGO_VERSION_MICRO +as the three arguments to this function; that produces +a check that the library in use at run-time is compatible with +the version of Pango the application or module was compiled against. +of the running library is newer than the version +the running library must be binary compatible with the +version @required_major.required_minor.@required_micro +(same major version.) +For compile-time version checking use PANGO_VERSION_CHECK(). +given version, or a string describing the version mismatch. +The returned string is owned by Pango and should not be modified +or freed. + + %NULL if the Pango library is compatible with the + + + + + the required major version. + + + + the required minor version. + + + + the required major version. + + + + + + This is similar to the macro %PANGO_VERSION_STRING except that +it returns the version of Pango available at run-time, as opposed to +the version available at compile-time. +available at run time. +The returned string is owned by Pango and should not be modified +or freed. + + A string containing the version of Pango library + + + + + diff --git a/PangoCairo-1.0.gir b/PangoCairo-1.0.gir new file mode 100644 index 0000000..760da63 --- /dev/null +++ b/PangoCairo-1.0.gir @@ -0,0 +1,872 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + #PangoCairoFont is an interface exported by fonts for +use with Cairo. The actual type of the font will depend +on the particular font technology Cairo was compiled to use. + + + + + + + + + + + + + + + + + + Gets the #cairo_scaled_font_t used by @font. +The scaled font can be referenced and kept using +cairo_scaled_font_reference(). +or %NULL if @font is %NULL. + + the #cairo_scaled_font_t used by @font, + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + #PangoCairoFontMap is an interface exported by font maps for +use with Cairo. The actual type of the font map will depend +on the particular font technology Cairo was compiled to use. + + + Sets the resolution for the fontmap. This is a scale factor between +points specified in a #PangoFontDescription and Cairo units. The +default value is 96, meaning that a 10 point font will be 13 +units high. (10 * 96. / 72. = 13.3). + + + + + + the resolution in "dots per inch". (Physical inches aren't actually involved; the terminology is conventional.) + + + + + + Gets the resolution for the fontmap. See pango_cairo_font_map_set_resolution() + + the resolution in "dots per inch" + + + + + Gets the type of Cairo font backend that @fontmap uses. + + the #cairo_font_type_t cairo font backend type + + + + + Sets a default #PangoCairoFontMap to use with Cairo. +This can be used to change the Cairo font backend that the +default fontmap uses for example. The old default font map +is unreffed and the new font map referenced. +A value of %NULL for @fontmap will cause the current default +font map to be released and a new default font +map to be created on demand, using pango_cairo_font_map_new(). + + + + + + Gets the type of Cairo font backend that @fontmap uses. + + the #cairo_font_type_t cairo font backend type + + + + + Sets the resolution for the fontmap. This is a scale factor between +points specified in a #PangoFontDescription and Cairo units. The +default value is 96, meaning that a 10 point font will be 13 +units high. (10 * 96. / 72. = 13.3). + + + + + + the resolution in "dots per inch". (Physical inches aren't actually involved; the terminology is conventional.) + + + + + + Gets the resolution for the fontmap. See pango_cairo_font_map_set_resolution() + + the resolution in "dots per inch" + + + + + Create a #PangoContext for the given fontmap. + + the newly created context; free with g_object_unref(). + + + + + + + + + + + + + + + + + + + the resolution in "dots per inch". (Physical inches aren't actually involved; the terminology is conventional.) + + + + + + + + + the resolution in "dots per inch" + + + + + + + + + + + + + the #cairo_font_type_t cairo font backend type + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Retrieves any font rendering options previously set with +pango_cairo_font_map_set_font_options(). This function does not report options +that are derived from the target surface by pango_cairo_update_context() +if no options have been set. This value is owned by the context +and must not be modified or freed. + + the font options previously set on the context, or %NULL + + + + + a #PangoContext, from a pangocairo font map + + + + + + Gets the resolution for the context. See pango_cairo_context_set_resolution() +be returned if no resolution has previously been set. + + the resolution in "dots per inch". A negative value will + + + + + a #PangoContext, from a pangocairo font map + + + + + + Sets callback function for context to use for rendering attributes +of type %PANGO_ATTR_SHAPE. See #PangoCairoShapeRendererFunc for +details. +Retrieves callback function and associated user data for rendering +attributes of type %PANGO_ATTR_SHAPE as set by +pango_cairo_context_set_shape_renderer(), if any. +if no shape rendering callback have been set. + + the shape rendering callback previously set on the context, or %NULL + + + + + a #PangoContext, from a pangocairo font map + + + + Pointer to #gpointer to return user data + + + + + + Sets the font options used when rendering text with this context. +These options override any options that pango_cairo_update_context() +derives from the target surface. + + + + + + a #PangoContext, from a pangocairo font map + + + + a #cairo_font_options_t, or %NULL to unset any previously set options. A copy is made. + + + + + + Sets the resolution for the context. This is a scale factor between +points specified in a #PangoFontDescription and Cairo units. The +default value is 96, meaning that a 10 point font will be 13 +units high. (10 * 96. / 72. = 13.3). + + + + + + a #PangoContext, from a pangocairo font map + + + + the resolution in "dots per inch". (Physical inches aren't actually involved; the terminology is conventional.) A 0 or negative value means to use the resolution from the font map. + + + + + + Sets callback function for context to use for rendering attributes +of type %PANGO_ATTR_SHAPE. See #PangoCairoShapeRendererFunc for +details. + + + + + + a #PangoContext, from a pangocairo font map + + + + Callback function for rendering attributes of type %PANGO_ATTR_SHAPE, or %NULL to disable shape rendering. + + + + User data that will be passed to @func. + + + + Callback that will be called when the context is freed to release @data, or %NULL. + + + + + + Creates a context object set up to match the current transformation +and target surface of the Cairo context. This context can then be +used to create a layout using pango_layout_new(). +This function is a convenience function that creates a context using +the default font map, then updates it to @cr. If you just need to +create a layout for use with @cr and do not need to access #PangoContext +directly, you can use pango_cairo_create_layout() instead. +g_object_unref(). + + the newly created #PangoContext. Free with + + + + + a Cairo context + + + + + + Creates a layout object set up to match the current transformation +and target surface of the Cairo context. This layout can then be +used for text measurement with functions like +pango_layout_get_size() or drawing with functions like +pango_cairo_show_layout(). If you change the transformation +or target surface for @cr, you need to call pango_cairo_update_layout() +This function is the most convenient way to use Cairo with Pango, +however it is slightly inefficient since it creates a separate +#PangoContext object for each layout. This might matter in an +application that was laying out large amounts of text. +g_object_unref(). + + the newly created #PangoLayout. Free with + + + + + a Cairo context + + + + + + Add a squiggly line to the current path in the specified cairo context that +approximately covers the given rectangle in the style of an underline used +to indicate a spelling error. (The width of the underline is rounded to an +integer number of up/down segments and the resulting rectangle is centered +in the original rectangle) + + + + + + a Cairo context + + + + The X coordinate of one corner of the rectangle + + + + The Y coordinate of one corner of the rectangle + + + + Non-negative width of the rectangle + + + + Non-negative height of the rectangle + + + + + + Gets a default #PangoCairoFontMap to use with Cairo. +Note that the type of the returned object will depend +on the particular font backend Cairo was compiled to use; +You generally should only use the #PangoFontMap and +#PangoCairoFontMap interfaces on the returned object. +The default Cairo fontmap can be changed by using +pango_cairo_font_map_set_default(). This can be used to +change the Cairo font backend that the default fontmap +uses for example. +object is owned by Pango and must not be freed. + + the default Cairo fontmap for Pango. This + + + + + Creates a new #PangoCairoFontMap object; a fontmap is used +to cache information about available fonts, and holds +certain global parameters such as the resolution. +In most cases, you can use pango_cairo_font_map_get_default() +instead. +Note that the type of the returned object will depend +on the particular font backend Cairo was compiled to use; +You generally should only use the #PangoFontMap and +#PangoCairoFontMap interfaces on the returned object. +be freed with g_object_unref(). + + the newly allocated #PangoFontMap, which should + + + + + Creates a new #PangoCairoFontMap object of the type suitable +to be used with cairo font backend of type @fonttype. +In most cases one should simply use @pango_cairo_font_map_new(), +or in fact in most of those cases, just use +which should be freed with g_object_unref(), +or %NULL if the requested cairo font backend is +not supported / compiled in. + + the newly allocated #PangoFontMap of suitable type + + + + + desired #cairo_font_type_t + + + + + + + + + + + + + + + + + + + + + + Adds the text in #PangoLayoutLine to the current path in the +specified cairo context. The origin of the glyphs (the left edge +of the line) will be at the current point of the cairo context. + + + + + + a Cairo context + + + + a #PangoLayoutLine + + + + + + Adds the text in a #PangoLayout to the current path in the +specified cairo context. The top-left corner of the #PangoLayout +will be at the current point of the cairo context. + + + + + + a Cairo context + + + + a Pango layout + + + + + + Draw a squiggly line in the specified cairo context that approximately +covers the given rectangle in the style of an underline used to indicate a +spelling error. (The width of the underline is rounded to an integer +number of up/down segments and the resulting rectangle is centered in the +original rectangle) + + + + + + a Cairo context + + + + The X coordinate of one corner of the rectangle + + + + The Y coordinate of one corner of the rectangle + + + + Non-negative width of the rectangle + + + + Non-negative height of the rectangle + + + + + + Draws the glyphs in @glyph_item in the specified cairo context, +embedding the text associated with the glyphs in the output if the +output format supports it (PDF for example), otherwise it acts +similar to pango_cairo_show_glyph_string(). +The origin of the glyphs (the left edge of the baseline) will +be drawn at the current point of the cairo context. +Note that @text is the start of the text for layout, which is then +indexed by <literal>@glyph_item->item->offset</literal>. + + + + + + a Cairo context + + + + the UTF-8 text that @glyph_item refers to + + + + a #PangoGlyphItem + + + + + + Draws the glyphs in @glyphs in the specified cairo context. +The origin of the glyphs (the left edge of the baseline) will +be drawn at the current point of the cairo context. + + + + + + a Cairo context + + + + a #PangoFont from a #PangoCairoFontMap + + + + a #PangoGlyphString + + + + + + Draws a #PangoLayout in the specified cairo context. +The top-left corner of the #PangoLayout will be drawn +at the current point of the cairo context. + + + + + + a Cairo context + + + + a Pango layout + + + + + + Draws a #PangoLayoutLine in the specified cairo context. +The origin of the glyphs (the left edge of the line) will +be drawn at the current point of the cairo context. + + + + + + a Cairo context + + + + a #PangoLayoutLine + + + + + + Updates a #PangoContext previously created for use with Cairo to +match the current transformation and target surface of a Cairo +context. If any layouts have been created for the context, +it's necessary to call pango_layout_context_changed() on those +layouts. + + + + + + a Cairo context + + + + a #PangoContext, from a pangocairo font map + + + + + + Updates the private #PangoContext of a #PangoLayout created with +pango_cairo_create_layout() to match the current transformation +and target surface of a Cairo context. + + + + + + a Cairo context + + + + a #PangoLayout, from pango_cairo_create_layout() + + + + + + diff --git a/PangoFT2-1.0.gir b/PangoFT2-1.0.gir new file mode 100644 index 0000000..3387623 --- /dev/null +++ b/PangoFT2-1.0.gir @@ -0,0 +1,674 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + #PangoFcDecoder is a virtual base class that implementations will +inherit from. It's the interface that is used to define a custom +encoding for a font. These objects are created in your code from a +function callback that was originally registered with +pango_fc_font_map_add_decoder_find_func(). Pango requires +information about the supported charset for a font as well as the +individual character to glyph conversions. Pango gets that +information via the #get_charset and #get_glyph callbacks into your +object implementation. + + Generates an #FcCharSet of supported characters for the fcfont +given. The returned #FcCharSet will be a reference to an +internal value stored by the #PangoFcDecoder and must not +be modified or freed. +or freed. + + the #FcCharset for @fcfont; must not be modified + + + + + the #PangoFcFont to query. + + + + + + Generates a #PangoGlyph for the given Unicode point using the +custom decoder. For complex scripts where there can be multiple +glyphs for a single character, the decoder will return whatever +glyph is most convenient for it. (Usually whatever glyph is directly +in the fonts character map table.) +covered by the font. + + the glyph index, or 0 if the glyph isn't + + + + + a #PangoFcFont to query. + + + + the Unicode code point to convert to a single #PangoGlyph. + + + + + + Generates an #FcCharSet of supported characters for the fcfont +given. The returned #FcCharSet will be a reference to an +internal value stored by the #PangoFcDecoder and must not +be modified or freed. +or freed. + + the #FcCharset for @fcfont; must not be modified + + + + + the #PangoFcFont to query. + + + + + + Generates a #PangoGlyph for the given Unicode point using the +custom decoder. For complex scripts where there can be multiple +glyphs for a single character, the decoder will return whatever +glyph is most convenient for it. (Usually whatever glyph is directly +in the fonts character map table.) +covered by the font. + + the glyph index, or 0 if the glyph isn't + + + + + a #PangoFcFont to query. + + + + the Unicode code point to convert to a single #PangoGlyph. + + + + + + + + + + Class structure for #PangoFcDecoder. + + + + + + + the #FcCharset for @fcfont; must not be modified + + + + + + + + the #PangoFcFont to query. + + + + + + + + + the glyph index, or 0 if the glyph isn't + + + + + + + + a #PangoFcFont to query. + + + + the Unicode code point to convert to a single #PangoGlyph. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Callback function passed to pango_fc_font_map_add_decoder_find_func(). +or %NULL if the default decoder handling should be used. + + a new reference to a custom decoder for this pattern, + + + + + a fully resolved #FcPattern specifying the font on the system + + + + user data passed to pango_fc_font_map_add_decoder_find_func() + + + + + + + Creates a #PangoFontDescription that matches the specified +Fontconfig pattern as closely as possible. Many possible Fontconfig +pattern values, such as %FC_RASTERIZER or %FC_DPI, don't make sense in +the context of #PangoFontDescription, so will be ignored. +pango_font_description_free(). + + a new #PangoFontDescription. Free with + + + + + a #FcPattern + + + + if %TRUE, the pattern will include the size from the @pattern; otherwise the resulting pattern will be unsized. (only %FC_SIZE is examined, not %FC_PIXEL_SIZE) + + + + + + Gets the FreeType <type>FT_Face</type> associated with a font, +This face will be kept around until you call +pango_fc_font_unlock_face(). + + the FreeType <type>FT_Face</type> associated with @font. + + + + + Releases a font previously obtained with +pango_fc_font_lock_face(). + + + + + + + + + + + + + + + + Clear all cached information and fontsets for this font map; +this should be called whenever there is a change in the +output of the default_substitute() virtual function of the +font map, or if fontconfig has been reinitialized to new +configuration. + + + + + + This function saves a callback method in the #PangoFcFontMap that +will be called whenever new fonts are created. If the +function returns a #PangoFcDecoder, that decoder will be used to +determine both coverage via a #FcCharSet and a one-to-one mapping of +characters to glyphs. This will allow applications to have +application-specific encodings for various fonts. + + + + + + The #PangoFcDecoderFindFunc callback function + + + + User data. + + + + A #GDestroyNotify callback that will be called when the fontmap is finalized and the decoder is released. + + + + + + Finds the decoder to use for @pattern. Decoders can be added to +a font map using pango_fc_font_map_add_decoder_find_func(). +no decoder is set for @pattern. + + a newly created #PangoFcDecoder object or %NULL if + + + + + The #FcPattern to find the decoder for. + + + + + + + + + + + + + + + + + + + + + + + + Gets the #PangoCoverage for a #PangoFT2Font. Use +pango_font_get_coverage() instead. + + a #PangoCoverage. + + + + + a #PangoFT2Font. + + + + a language tag. + + + + + + Returns the native FreeType2 <type>FT_Face</type> structure used for this #PangoFont. +This may be useful if you want to use FreeType2 functions directly. +Use pango_fc_font_lock_face() instead; when you are done with a +face from pango_fc_font_lock_face() you must call +pango_fc_font_unlock_face(). +or %NULL if @font is %NULL. + + a pointer to a <type>FT_Face</type> structure, with the size set correctly, + + + + + a #PangoFont + + + + + + Retrieves kerning information for a combination of two glyphs. +Use pango_fc_font_kern_glyphs() instead. +the given combination of glyphs. + + The amount of kerning (in Pango units) to apply for + + + + + a #PangoFont + + + + the left #PangoGlyph + + + + the right #PangoGlyph + + + + + + + + + + + + + + + + + + + Return the index of a glyph suitable for drawing unknown characters with +If you want to draw an unknown-box for a character that is not covered +by the font, +use PANGO_GET_UNKNOWN_GLYPH() instead. + + a glyph index into @font, or %PANGO_GLYPH_EMPTY + + + + + a #PangoFont + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/PangoXft-1.0.gir b/PangoXft-1.0.gir new file mode 100644 index 0000000..5a38da2 --- /dev/null +++ b/PangoXft-1.0.gir @@ -0,0 +1,538 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Create a new #PangoXftRenderer to allow rendering Pango objects +with the Xft library. You must call pango_xft_renderer_set_draw() before +using the renderer. +be freed with g_object_unref(). + + the newly created #PangoXftRenderer, which should + + + + + an X display + + + + the index of the screen for @display to which rendering will be done + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Sets the #XftDraw object that the renderer is drawing to. +The renderer must not be currently active. + + + + + + a #XftDraw + + + + + + Sets the default foreground color for a #XftRenderer. + + + + + + the default foreground color + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Retrieves a #PangoContext appropriate for rendering with +Xft fonts on the given screen of the given display. +pango_font_map_create_context() instead. + + the new #PangoContext. + + + + + an X display. + + + + an X screen. + + + + + + Returns the #PangoXftFontmap for the given display and screen. +The fontmap is owned by Pango and will be valid until +the display is closed. + + a #PangoFontMap object, owned by Pango. + + + + + an X display + + + + the screen number of a screen within @display + + + + + + Renders a #PangoGlyphString onto an Xrender <type>Picture</type> object. + + + + + + an X display + + + + the source picture to draw the string with + + + + the destination picture to draw the string onto + + + + the font in which to draw the string + + + + the glyph string to draw + + + + the x position of start of string (in pixels) + + + + the y position of baseline (in pixels) + + + + + + Renders a #PangoGlyphString onto an <type>XftDraw</type> object wrapping an X drawable. + + + + + + the <type>XftDraw</type> object. + + + + the color in which to draw the string + + + + the font in which to draw the string + + + + the glyph string to draw + + + + the x position of start of string (in pixels) + + + + the y position of baseline (in pixels) + + + + + + Render a #PangoLayout onto a #XftDraw + + + + + + an #XftDraw + + + + the foreground color in which to draw the layout (may be overridden by color attributes) + + + + a #PangoLayout + + + + the X position of the left of the layout (in Pango units) + + + + the Y position of the top of the layout (in Pango units) + + + + + + Render a #PangoLayoutLine onto a #XftDraw + + + + + + an #XftDraw + + + + the foreground color in which to draw the layout line (may be overridden by color attributes) + + + + a #PangoLayoutLine + + + + the x position of start of string (in Pango units) + + + + the y position of baseline (in Pango units) + + + + + + Renders a #PangoGlyphString onto a #XftDraw, possibly +transforming the layed-out coordinates through a transformation +matrix. Note that the transformation matrix for @font is not +changed, so to produce correct rendering results, the @font +must have been loaded using a #PangoContext with an identical +transformation matrix to that passed in to this function. + + + + + + an #XftDraw + + + + the color in which to draw the glyphs + + + + a #PangoMatrix, or %NULL to use an identity transformation + + + + the font in which to draw the string + + + + the glyph string to draw + + + + the x position of the start of the string (in Pango units in user space coordinates) + + + + the y position of the baseline (in Pango units in user space coordinates) + + + + + + Sets a function that will be called to do final configuration +substitution on a #FcPattern before it is used to load +the font. This function can be used to do things like set +hinting and antialiasing options. + + + + + + an X Display + + + + the screen number of a screen within @display + + + + function to call to to do final config tweaking on #FcPattern objects. + + + + data to pass to @func + + + + function to call when @data is no longer used. + + + + + + Release any resources that have been cached for the +combination of @display and @screen. Note that when the +X display is closed, resources are released automatically, +without needing to call this function. + + + + + + an X display + + + + the screen number of a screen within @display + + + + + + Call this function any time the results of the +default substitution function set with +pango_xft_set_default_substitute() change. +That is, if your substitution function will return different +results for the same input pattern, you must call this function. + + + + + + an X Display + + + + the screen number of a screen within @display + + + + + + diff --git a/Peas-1.0.gir b/Peas-1.0.gir new file mode 100644 index 0000000..0023c09 --- /dev/null +++ b/Peas-1.0.gir @@ -0,0 +1,940 @@ + + + + + + + + + + + Activates the extension on the given object. + + + + + + The #GObject on which the plugin should be activated. + + + + + + Deactivates the plugin on the given object. + + + + + + A #GObject. + + + + + + Triggers an update of the plugin's internal state to take into account +state changes in the targetted object, due to a plugin or user action. + + + + + + A #GObject. + + + + + + Activates the extension on the given object. + + + + + + The #GObject on which the plugin should be activated. + + + + + + Deactivates the plugin on the given object. + + + + + + A #GObject. + + + + + + Triggers an update of the plugin's internal state to take into account +state changes in the targetted object, due to a plugin or user action. + + + + + + A #GObject. + + + + + + + + + + + + + + + + + + + + The #GObject on which the plugin should be activated. + + + + + + + + + + + + + + + + A #GObject. + + + + + + + + + + + + + + + + A #GObject. + + + + + + + + Engine at the heart of the Peas plugin system. + + Returns a new #PeasEngine object. +See the properties description for more information about the parameters. + + a newly created #PeasEngine object. + + + + + The name of the application + + + + The base directory for language modules + + + + The paths where to look for plugins + + + + + + + + Disable a loader, avoiding using the plugins written using the +related language to be loaded. This method must be called before +any plugin relying on the loader @loader_id has been loaded. +For instance, the following code will prevent any python plugin +from being loaded: +|[ +peas_engine_disable_loader (engine, "python"); +]| + + + + + + The id of the loader to inhibit. + + + + + + Rescan all the registered directories to find new or updated plugins. +Calling this function will make the newly installed plugin infos to be +loaded by the engine, so the new plugins can actually be used without +restarting the application. + + + + + + Returns the list of #PeasPluginInfo known to the engine. +#PeasPluginInfo. Note that the list belongs to the engine and should +not be freed. + + a #GList of + + + + + + + Returns the list of the names of all the loaded plugins, or %NULL if there +is no plugin currently loaded. Please note that the returned array is a + + A newly-allocated NULL-terminated array of strings, or %NULL. + + + + + + + Sets the list of loaded plugins for @engine. When this function is called, +the #PeasEngine will load all the plugins whose names are in @plugin_names, +and ensures all other active plugins are unloaded. + + + + + + A %NULL-terminated array of plugin names. + + + + + + + + + the #PeasPluginInfo corresponding with a given plugin name. + + + + + A plugin name. + + + + + + Loads the plugin corresponding to @info if it's not currently loaded. + + whether the plugin has been successfuly loaded. + + + + + A #PeasPluginInfo. + + + + + + Unloads the plugin corresponding to @info. + + whether the plugin has been successfuly unloaded. + + + + + A #PeasPluginInfo. + + + + + + This function triggers garbage collection on all the loaders currently +owned by the #PeasEngine. This can be used to force the loaders to destroy +managed objects that still hold references to objects that are about to +disappear. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The application name. Filename extension and section header for +#PeasPluginInfo files are actually derived from this value. +For instance, if app-name is "Gedit", then info files will have +the .gedit-plugin extension, and the engine will look for a +"Gedit Plugin" section in it to load the plugin data. + + + + The base application directory for binding modules lookup. +Each loader module will load its modules from a subdirectory of +the base module directory. For instance, the python loader will +look for python modules in "${base-module-dir}/python/". + + + + The list of path where to look for plugins. +A so-called "search path" actually consists on a couple of both a +module directory (where the shared libraries or language modules +lie) and a data directory (where the plugin data is). +The #PeasPlugin will be able to use a correct data dir depending on +where it is installed, hence allowing to keep the plugin agnostic +installed both in the system path or in the user's home directory, +without taking other special care than using +egg_plugin_get_data_dir() when looking for its data files. +Concretely, this property contains a NULL-terminated array of +strings, whose even-indexed strings are module directories, and +odd-indexed ones are the associated data directories. Here is an +example of such an array: +|[ +gchar const * const search_paths[] = { +// Plugins in ~/.config +g_build_filename (g_get_user_config_dir (), "example/plugins", NULL), +g_build_filename (g_get_user_config_dir (), "example/plugins", NULL), +// System plugins +EXAMPLE_PREFIX "/lib/example/plugins/", +EXAMPLE_PREFIX "/share/example/plugins/", +NULL +}; +]| + + + + + + + + + + The load-plugin signal is emitted when a plugin is being loaded. + + + + + + A #PeasPluginInfo. + + + + + + The unload-plugin signal is emitted when a plugin is being unloaded. + + + + + + A #PeasPluginInfo. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Base class for plugins. + + Call a method of the object behind @extension. + + %TRUE on successful call. + + + + + the name of the method that should be called. + + + + + + + + + + + + + + Base class for C extensions. + + Get information relative to @extbase. + + the #PeasPluginInfo relative to the #PeasExtensionBase. + + + + + Get the path of the directory where the plugin should look for +its data files. +directory where the plugin should look for its data files + + A newly allocated string with the path of the + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Create an #ExtensionSet for all the @exten_type extensions defined in +the plugins loaded in @engine. + + + + + + A #PeasEngine. + + + + the extension #GType. + + + + + + Call a method on all the #PeasExtension instances contained in @set. + + %TRUE on successful call. + + + + + the name of the method that should be called. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Register an implementation for an extension type through a factory +function @factory_func which will instantiate the extension when +requested. +This method is primarily meant to be used by native bindings (like gtkmm), +creatint native types which cannot be instantiated correctly using +g_object_new(). For other uses, you will usually prefer relying on +peas_object_module_register_extension_type(). + + + + + + The #GType of the extension interface you implement. + + + + The #PeasFactoryFunc that will create the @iface_type instance when requested. + + + + Data to pass to @func calls. + + + + A #GDestroyNotify for @user_data. + + + + + + Register an extension type which implements the extension interface + + + + + + The #GType of the extension interface you implement. + + + + The #GType of your implementation of @iface_type. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Boxed type for the information related to a plugin. + + Check if the plugin is loaded. + + %TRUE if the plugin is loaded. + + + + + Check if the plugin is available. A plugin is marked as not available when +there is no loader available to load it, or when there has been an error +when trying to load it previously. + + %TRUE if the plugin is available. + + + + + Gets the module name. + + the module name. + + + + + Gets the module directory. + + the module directory. + + + + + Gets the data dir of the plugin. + + the plugin's data dir. + + + + + Gets the name of the plugin. + + the plugin's name. + + + + + Gets the description of the plugin. + + the plugin's description. + + + + + Gets a NULL-terminated array of strings with the authors of the plugin. + + the plugin's author list. + + + + + + + Gets the website of the plugin. + + the plugin's associated website. + + + + + Gets the copyright of the plugin. + + the plugin's copyright information. + + + + + Gets the version of the plugin. + + the plugin's version. + + + + + Gets the interface age of the plugin. + + the interface age of the plugin or %0 if not known. + + + + + Gets a hash table of string keys present and #GValue values, +present in the plugin information file, but not handled +by libpeas. Note that libpeas only handles booleans and +strings, and that strings that are recognised as booleans, +as done by #g_key_file_get_boolean, will be of boolean type. +not free or destroy any data in this hashtable. + + a #GHashTable of string keys and #GValue values. Do + + + + + Sets whether the plugin should be visible in the +plugin manager. + + + + + + visibility of the plugin + + + + + + Gets the visibility of the plugin. +if not. + + %TRUE if the plugin should be visible, %FALSE + + + + + + diff --git a/Polkit-1.0.gir b/Polkit-1.0.gir new file mode 100644 index 0000000..bfeba34 --- /dev/null +++ b/Polkit-1.0.gir @@ -0,0 +1,1775 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Flags describing features supported by the Authority implementation. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Possible flags when checking authorizations. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Possible error when using PolicyKit. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + An interface for identities. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Possible implicit authorizations. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + An interface for subjects. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Poppler-0.8.gir b/Poppler-0.8.gir new file mode 100644 index 0000000..8242a96 --- /dev/null +++ b/Poppler-0.8.gir @@ -0,0 +1,2726 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Soup-2.4.gir b/Soup-2.4.gir new file mode 100644 index 0000000..dabb31a --- /dev/null +++ b/Soup-2.4.gir @@ -0,0 +1,7863 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/SoupGNOME-2.4.gir b/SoupGNOME-2.4.gir new file mode 100644 index 0000000..bd45275 --- /dev/null +++ b/SoupGNOME-2.4.gir @@ -0,0 +1,147 @@ + + + + + + + + + + + + + + + + + + Creates a #SoupCookieJarSqlite. +cookies. If @read_only is %FALSE, then the non-session cookies will +be written to @filename when the 'changed' signal is emitted from +the jar. (If @read_only is %TRUE, then the cookie jar will only be +used for this session, and changes made to it will be lost when the +jar is destroyed.) + + the new #SoupCookieJar + + + + + the filename to read to/write from, or %NULL + + + + %TRUE if @filename is read-only + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/TelepathyGLib-0.12.gir b/TelepathyGLib-0.12.gir new file mode 100644 index 0000000..680652b --- /dev/null +++ b/TelepathyGLib-0.12.gir @@ -0,0 +1,13330 @@ + + + + + + + + + + + + + + + + + + + + + The Telepathy Account Manager stores the user's configured real-time +communication accounts. This object represents a stored account. +If this account is deleted from the account manager, the +#TpProxy::invalidated signal will be emitted +with the domain %TP_DBUS_ERRORS and the error code +%TP_DBUS_ERROR_OBJECT_REMOVED. +One can connect to the #GObject::notify signal to get change notifications +for many of the properties on this object. Refer to each property's +documentation for whether it can be used in this way. + + Convenience function to create a new account proxy. The returned #TpAccount +is not guaranteed to be ready at the point of return. +not valid + + a new reference to an account proxy, or %NULL if @object_path is + + + + + Proxy for the D-Bus daemon + + + + The non-NULL object path of this account + + + + + + <!-- --> +#TpAccount + + the quark used for representing the core feature of a + + + + + Validates and parses a Telepathy Account's object path, extracting the +connection manager's name, the protocol, and the account's unique identifier +from the path. This includes replacing underscores with hyphens in the +protocol name, as defined in the Account specification. +Any of the out parameters may be %NULL if not needed. If %TRUE is returned, +the caller is responsible for freeing the strings stored in any non-%NULL +out parameters, using g_free(). + + %TRUE if @object_path was successfully parsed; %FALSE and sets + + + + + a Telepathy Account's object path + + + + location at which to store the account's connection manager's name + + + + location at which to store the account's protocol + + + + location at which to store the account's unique identifier + + + + + + Ensure that the known interfaces for TpAccount have been set up. +This is done automatically when necessary, but for correct +overriding of library interfaces by local extensions, you should +call this function before calling +tp_proxy_or_subclass_hook_on_interface_add() with first argument +%TP_TYPE_ACCOUNT. + + + + + + <!-- --> + + connection property + + + + + Set the connection of the account by specifying the connection object path. +This function does not return a new ref and it is not guaranteed that the +returned #TpConnection object is ready. +The use-case for this function is in a HandleChannels callback and you +already know the object path for the connection, so you can let @account +create its #TpConnection and return it for use. +the object path @path is invalid or it is the null-value "/" + + the connection of the account, or %NULL if either + + + + + the path to connection object for #TpAccount + + + + + + <!-- --> + + the same as the #TpAccount:display-name property + + + + + <!-- --> + + the same as the #TpAccount:connection-manager property + + + + + <!-- --> + + the same as the #TpAccount:protocol property + + + + + <!-- --> + + the same as the #TpAccount:service property + + + + + <!-- --> + + the same as the #TpAccount:icon-name property + + + + + Requests an asynchronous set of the Enabled property of @account. When the +operation is finished, @callback will be called. You can then call +tp_account_set_enabled_finish() to get the result of the operation. + + + + + + the new enabled value of @account + + + + a callback to call when the request is satisfied + + + + data to pass to @callback + + + + + + Finishes an async set of the Enabled property. + + %TRUE if the set was successful, otherwise %FALSE + + + + + a #GAsyncResult + + + + + + Requests an asynchronous reconnect of @account. When the operation is +finished, @callback will be called. You can then call +tp_account_reconnect_finish() to get the result of the operation. + + + + + + a callback to call when the request is satisfied + + + + data to pass to @callback + + + + + + Finishes an async reconnect of @account. + + %TRUE if the reconnect call was successful, otherwise %FALSE + + + + + a #GAsyncResult + + + + + + <!-- --> + + the same as the #TpAccount:enabled property + + + + + <!-- --> + + the same as the #TpAccount:valid property + + + + + Requests an asynchronous update of parameters of @account. When the +operation is finished, @callback will be called. You can then call +tp_account_update_parameters_finish() to get the result of the operation. + + + + + + new parameters to set on @account + + + + + + + list of parameters to unset on @account + + + + + + a callback to call when the request is satisfied + + + + data to pass to @callback + + + + + + Finishes an async update of the parameters on @account. + + %TRUE if the request succeeded, otherwise %FALSE + + + + + a #GAsyncResult + + + + a #GStrv to fill with properties that need a reconnect to take effect + + + + + + Requests an asynchronous removal of @account. When the operation is +finished, @callback will be called. You can then call +tp_account_remove_finish() to get the result of the operation. + + + + + + a callback to call when the request is satisfied + + + + data to pass to @callback + + + + + + Finishes an async removal of @account. + + %TRUE if the operation was successful, otherwise %FALSE + + + + + a #GAsyncResult + + + + + + Requests an asynchronous set of the DisplayName property of @account. When +the operation is finished, @callback will be called. You can then call +tp_account_set_display_name_finish() to get the result of the operation. + + + + + + a new display name, or %NULL to unset the display name + + + + a callback to call when the request is satisfied + + + + data to pass to @callback + + + + + + Finishes an async set of the DisplayName property. + + %TRUE if the call was successful, otherwise %FALSE + + + + + a #GAsyncResult + + + + + + Requests an asynchronous set of the Icon property of @account. When +the operation is finished, @callback will be called. You can then call +tp_account_set_icon_name_finish() to get the result of the operation. + + + + + + a new icon name, or %NULL to unset the icon name + + + + a callback to call when the request is satisfied + + + + data to pass to @callback + + + + + + Finishes an async set of the Icon parameter. + + %TRUE if the operation was successful, otherwise %FALSE + + + + + a #GAsyncResult + + + + + + Requests an asynchronous set of the Service property on @self. When +the operation is finished, @callback will be called. You can then call +tp_account_set_service_finish() to get the result of the operation. + + + + + + a new service name, or %NULL or the empty string to unset the service name (which will result in the #TpAccount:service property becoming the same as #TpAccount:protocol) + + + + a callback to call when the request is satisfied + + + + data to pass to @callback + + + + + + Finishes an async set of the Service parameter. + + %TRUE if the operation was successful, otherwise %FALSE + + + + + a #GAsyncResult + + + + + + Requests an asynchronous change of presence on @account. When the +operation is finished, @callback will be called. You can then call +tp_account_request_presence_finish() to get the result of the operation. + + + + + + the requested presence + + + + a status message to set, or %NULL + + + + a message for the change, or %NULL + + + + a callback to call when the request is satisfied + + + + data to pass to @callback + + + + + + Finishes an async presence change request on @account. + + %TRUE if the operation was successful, otherwise %FALSE + + + + + a #GAsyncResult + + + + + + <!-- --> + + the same as the #TpAccount:connect-automatically property + + + + + Requests an asynchronous set of the ConnectAutomatically property of +then call tp_account_set_display_name_finish() to get the result of the +operation. + + + + + + new value for the parameter + + + + a callback to call when the request is satisfied + + + + data to pass to @callback + + + + + + Finishes an async set of the ConnectAutomatically property. + + %TRUE if the call was successful, otherwise %FALSE + + + + + a #GAsyncResult + + + + + + <!-- --> + + the same as the #TpAccount:has-been-online property + + + + + Gets the connection status and reason from @account. The two values +are the same as the #TpAccount:connection-status and +#TpAccount:connection-status-reason properties. + + the same as the #TpAccount:connection-status property + + + + + a #TpConnectionStatusReason to fill, or %NULL + + + + + + If the account's connection is not connected, return the D-Bus error name +with which it last disconnected or failed to connect (in particular, this +is %TP_ERROR_STR_CANCELLED if it was disconnected by a user request). +This is the same as #TpAccount:connection-error. +If @details is not %NULL, it will be used to return additional details about +the error (the same as #TpAccount:connection-error-details). +Otherwise, return %NULL, without altering @details. +The returned string and @details may become invalid when the main loop is +re-entered or the account is destroyed. + + a D-Bus error name, or %NULL. + + + + + optionally used to return a map from string to #GValue, which must not be modified, destroyed or unreffed by the caller + + + + + + + + + Gets the current presence, status and status message of @account. These +values are the same as the #TpAccount:current-presence-type, +#TpAccount:current-status and #TpAccount:current-status-message properties. + + the same as the #TpAccount:current-presence-type property + + + + + return location for the current status + + + + return location for the current status message + + + + + + Gets the requested presence, status and status message of @account. These +values are the same as the #TpAccount:requested-presence-type, +#TpAccount:requested-status and #TpAccount:requested-status-message +properties. + + the same as the #TpAccount:requested-presence-type property + + + + + return location for the requested status + + + + return location for the requested status message + + + + + + Returns the parameters of the account, in a hash table where each string +is the parameter name (account, password, require-encryption etc.), and +each value is a #GValue. Using the tp_asv_get family of functions +(tp_asv_get_uint32(), tp_asv_get_string() etc.) to access the parameters is +recommended. +The allowed parameters depend on the connection manager, and can be found +via tp_connection_manager_get_protocol() and +tp_connection_manager_protocol_get_param(). Well-known parameters are +listed +<ulink url="http://telepathy.freedesktop.org/spec/org.freedesktop.Telepathy.ConnectionManager.html#org.freedesktop.Telepathy.ConnectionManager.RequestConnection">in +the Telepathy D-Bus Interface Specification</ulink>. +parameters on @account + + the hash table of + + + + + + + + <!-- --> + + the same as the #TpAccount:nickname property + + + + + Requests an asynchronous change of the Nickname parameter on @account. When +the operation is finished, @callback will be called. You can then call +tp_account_set_nickname_finish() to get the result of the operation. + + + + + + a new nickname to set + + + + a callback to call when the request is satisfied + + + + data to pass to @callback + + + + + + Finishes an async nickname change request on @account. + + %TRUE if the operation was successful, otherwise %FALSE + + + + + a #GAsyncResult + + + + + + Requests an asynchronous get of @account's avatar. When +the operation is finished, @callback will be called. You can then call +tp_account_get_avatar_finish() to get the result of the operation. + + + + + + a callback to call when the request is satisfied + + + + data to pass to @callback + + + + + + Finishes an async get operation of @account's avatar. +containing the bytes of the account's avatar, or %NULL on failure + + a #GArray of #guchar + + + + + + + a #GAsyncResult + + + + + + <!-- --> + + the same thing as tp_proxy_is_prepared() + + + + + a feature which is required + + + + + + Requests an asynchronous preparation of @account with the features specified +by @features. When the operation is finished, @callback will be called. You +can then call tp_account_prepare_finish() to get the result of the +operation. +If @features is %NULL, then @callback will be called when the implied +%TP_ACCOUNT_FEATURE_CORE feature is ready. +If %NULL is given to @callback, then no callback will be called when the +operation is finished. Instead, it will simply set @features on @manager. +Note that if @callback is %NULL, then @user_data must also be %NULL. +Since 0.11.3, this is equivalent to calling the new function +tp_proxy_prepare_async() with the same arguments. + + + + + + a 0-terminated list of features, or %NULL + + + + a callback to call when the request is satisfied + + + + data to pass to @callback + + + + + + Finishes an async preparation of the account @account. + + %TRUE if the preparation was successful, otherwise %FALSE + + + + + a #GAsyncResult + + + + + + Requests an asynchronous change of the Avatar parameter on @self. When +the operation is finished, @callback will be called. You can then call +tp_account_set_avatar_finish() to get the result of the operation. +If @len equals 0, the avatar is cleared. + + + + + + a new avatar to set; can be %NULL only if @len equals 0 + + + + + + the length of the new avatar + + + + the MIME type of the new avatar; can be %NULL only if @len equals 0 + + + + a callback to call when the request is satisfied + + + + data to pass to @callback + + + + + + Finishes an async avatar change request on @account. + + %TRUE if the operation was successful, otherwise %FALSE + + + + + a #GAsyncResult + + + + + + <!-- --> + + the same as the #TpAccount:changing-presence property + + + + + %TRUE if an attempt is currently being made to change the account's +presence (#TpAccount:current-presence-type, #TpAccount:current-status +and #TpAccount:current-status-message) to match its requested presence +(#TpAccount:requested-presence-type, #TpAccount:requested-status +and #TpAccount:requested-status-message). +One can receive change notifications on this property by connecting +to the #GObject::notify signal and using this property as the signal +detail. +This is not guaranteed to have been retrieved until +tp_proxy_prepare_async() has finished; until then, the value is +%FALSE. + + + + Whether the account should connect automatically or not. To change this +property, use tp_account_set_connect_automatically_async(). +One can receive change notifications on this property by connecting +to the #GObject::notify signal and using this property as the signal +detail. +This is not guaranteed to have been retrieved until +tp_proxy_prepare_async() has finished; until then, the value is +%FALSE. + + + + The connection of the account, or NULL if account is offline. +It is not guaranteed that the returned #TpConnection object is ready. +One can receive change notifications on this property by connecting +to the #GObject::notify signal and using this property as the signal +detail. +This is not guaranteed to have been retrieved until +tp_proxy_prepare_async() has finished; until then, the value is +%NULL. + + + + The D-Bus error name for the last disconnection or connection failure, +(in particular, %TP_ERROR_STR_CANCELLED if it was disconnected by user +request), or %NULL if the account is connected. +One can receive change notifications on this property by connecting +to the #TpAccount::status-changed signal, or by connecting +to the #GObject::notify signal and using this property as the signal +detail. +This is not guaranteed to have been retrieved until +tp_proxy_prepare_async() has finished; until then, the value is +%NULL. + + + + A map from string to #GValue containing extensible error details +related to #TpAccount:connection-error. Functions like tp_asv_get_string() +can be used to read from this map. +The keys for this map are defined by +<ulink url="http://telepathy.freedesktop.org/spec/">the Telepathy D-Bus +Interface Specification</ulink>. They will typically include +<literal>debug-message</literal>, which is a debugging message in the C +locale, analogous to #GError.message. +One can receive change notifications on this property by connecting +to the #TpAccount::status-changed signal, or by connecting +to the #GObject::notify signal and using this property as the signal +detail. +This is not guaranteed to have been retrieved until +tp_proxy_prepare_async() has finished; until then, the value is +an empty map. + + + + The account's connection manager name. + + + + The account's connection status type (a %TpConnectionStatus). +One can receive change notifications on this property by connecting +to the #TpAccount::status-changed signal, or by connecting +to the #GObject::notify signal and using this property as the signal +detail. +This is not guaranteed to have been retrieved until +tp_proxy_prepare_async() has finished; until then, the value is +%TP_CONNECTION_STATUS_DISCONNECTED. + + + + The account's connection status reason (a %TpConnectionStatusReason). +One can receive change notifications on this property by connecting +to the #TpAccount::status-changed signal, or by connecting +to the #GObject::notify signal and using this property as the signal +detail. +This is not guaranteed to have been retrieved until +tp_proxy_prepare_async() has finished; until then, the value is +%TP_CONNECTION_STATUS_REASON_NONE_SPECIFIED. + + + + The account connection's current presence type +(a %TpConnectionPresenceType). +One can receive change notifications on this property by connecting +to the #GObject::notify signal and using this property as the signal +detail. +This is not guaranteed to have been retrieved until +tp_proxy_prepare_async() has finished; until then, the value is +%TP_CONNECTION_PRESENCE_TYPE_UNSET. + + + + The current Status string of the account. +One can receive change notifications on this property by connecting +to the #GObject::notify signal and using this property as the signal +detail. +This is not guaranteed to have been retrieved until +tp_proxy_prepare_async() has finished; until then, the value is +%NULL. + + + + The current status message message of the account. +One can receive change notifications on this property by connecting +to the #GObject::notify signal and using this property as the signal +detail. +This is not guaranteed to have been retrieved until +tp_proxy_prepare_async() has finished; until then, the value is +%NULL. + + + + The account's display name, from the DisplayName property. +One can receive change notifications on this property by connecting +to the #GObject::notify signal and using this property as the signal +detail. +This is not guaranteed to have been retrieved until +tp_proxy_prepare_async() has finished; until then, the value is +%NULL. + + + + Whether this account is enabled or not. +One can receive change notifications on this property by connecting +to the #GObject::notify signal and using this property as the signal +detail. +This is not guaranteed to have been retrieved until +tp_proxy_prepare_async() has finished; until then, the value is FALSE. + + + + Whether this account has been online or not. +One can receive change notifications on this property by connecting +to the #GObject::notify signal and using this property as the signal +detail. +This is not guaranteed to have been retrieved until +tp_proxy_prepare_async() has finished; until then, the value is +%FALSE. + + + + The account's icon name. To change this propery, use +tp_account_set_icon_name_async(). +One can receive change notifications on this property by connecting +to the #GObject::notify signal and using this property as the signal +detail. +This is not guaranteed to have been retrieved until +tp_proxy_prepare_async() has finished; until then, the value is +%NULL. + + + + + + + The account's machine-readable protocol name, such as "jabber", "msn" or +"local-xmpp". Recommended names for most protocols can be found in the +Telepathy D-Bus Interface Specification. + + + + The account's requested presence type (a #TpConnectionPresenceType). +One can receive change notifications on this property by connecting +to the #GObject::notify signal and using this property as the signal +detail. + + + + The requested Status string of the account. +One can receive change notifications on this property by connecting +to the #GObject::notify signal and using this property as the signal +detail. + + + + The requested status message message of the account. +One can receive change notifications on this property by connecting +to the #GObject::notify signal and using this property as the signal +detail. + + + + A machine-readable name identifying a specific service to which this +account connects, or a copy of #TpAccount:protocol if there is no more +specific service. +Well-known names for various services can be found in the Telepathy D-Bus +Interface Specification. +For instance, accounts for the "jabber" protocol should have the service +names "google-talk", "ovi-chat", "facebook" and "lj-talk" for accounts +that connect to Google Talk, Ovi Chat, Facebook and Livejournal, +respectively, and this property will be "jabber" for accounts that +connect to a generic Jabber server. +To change this property, use +tp_account_set_service_async(). + + + + Whether this account is valid. +One can receive change notifications on this property by connecting +to the #GObject::notify signal and using this property as the signal +detail. +This is not guaranteed to have been retrieved until +tp_proxy_prepare_async() has finished; until then, the value is +%FALSE. + + + + + + + + + + Emitted when the presence of the account changes. + + + + + + the new presence + + + + the new presence status + + + + the new presence status message + + + + + + Emitted when the connection status on the account changes. +The @dbus_error_name and @details parameters were present, but +non-functional (always %NULL), in older versions. They have been +available with their current behaviour since version 0.11.7. + + + + + + old #TpAccount:connection-status + + + + new #TpAccount:connection-status + + + + the #TpAccount:connection-status-reason + + + + connection-error + + + + the #TpAccount:connection-error-details + + + + + + + + + + Data structure representing a #TpAccountChannelRequest object. + + Convenience function to create a new #TpAccountChannelRequest object. + + a new #TpAccountChannelRequest object + + + + + a #TpAccount + + + + the requested properties of the channel (see #TpAccountChannelRequest:request) + + + + + + + the time of the user action that caused this request, or one of the special values %TP_USER_ACTION_TIME_NOT_USER_ACTION or %TP_USER_ACTION_TIME_CURRENT_TIME (see #TpAccountChannelRequest:user-action-time) + + + + + + Return the #TpAccountChannelRequest:account construct-only property + + account + + + + + Return the #TpAccountChannelRequest:request construct-only property + + request + + + + + Return the #TpAccountChannelRequest:user-action-time construct-only property + + the value of #TpAccountChannelRequest:user-action-time + + + + + Asynchronously calls CreateChannel on the ChannelDispatcher to create a +channel with the properties defined in #TpAccountChannelRequest:request +that you are going to handle yourself. +When the operation is finished, @callback will be called. You can then call +tp_account_channel_request_create_and_handle_channel_finish() to get the +result of the operation. +(Behind the scenes, this works by creating a temporary #TpBaseClient, then +acting like tp_account_channel_request_create_channel_async() with the +temporary #TpBaseClient as the @preferred_handler.) + + + + + + optional #GCancellable object, %NULL to ignore + + + + a callback to call when the request is satisfied + + + + data to pass to @callback + + + + + + Finishes an async channel creation started using +tp_account_channel_request_create_and_handle_channel_async(). +See tp_account_channel_request_ensure_and_handle_channel_finish() +for details of how @context can be used. +channel was successfully created and you are handling it, otherwise %NULL. + + a new reference on a #TpChannel if the + + + + + a #GAsyncResult + + + + pointer used to return a reference to the context of the HandleChannels() call, or %NULL + + + + + + Asynchronously calls EnsureChannel on the ChannelDispatcher to create a +channel with the properties defined in #TpAccountChannelRequest:request +that you are going to handle yourself. +When the operation is finished, @callback will be called. You can then call +tp_account_channel_request_ensure_and_handle_channel_finish() to get the +result of the operation. +If the channel already exists and is already being handled, or if a +newly created channel is sent to a different handler, this operation +will fail with the error %TP_ERROR_NOT_YOURS. The other handler +will be notified that the channel was requested again (for instance +with #TpAccountChannelRequest::re-handled, +#TpBaseClientClassHandleChannelsImpl or #TpSimpleHandler:callback), +and can move its window to the foreground, if applicable. +(Behind the scenes, this works by creating a temporary #TpBaseClient, then +acting like tp_account_channel_request_ensure_channel_async() with the +temporary #TpBaseClient as the @preferred_handler.) + + + + + + optional #GCancellable object, %NULL to ignore + + + + a callback to call when the request is satisfied + + + + data to pass to @callback + + + + + + Finishes an async channel creation started using +tp_account_channel_request_ensure_and_handle_channel_async(). +If the channel already exists and is already being handled, or if a +newly created channel is sent to a different handler, this operation +will fail with the error %TP_ERROR_NOT_YOURS. +via tp_handle_channels_context_get_handler_info(), and any similar methods +that are added in future. It is not valid for the caller of this method +to call tp_handle_channels_context_accept(), +tp_handle_channels_context_delay() or tp_handle_channels_context_fail(). +channel was successfully created and you are handling it, otherwise %NULL. + + a new reference on a #TpChannel if the + + + + + a #GAsyncResult + + + + pointer used to return a reference to the context of the HandleChannels() call, or %NULL + + + + + + Asynchronously calls CreateChannel on the ChannelDispatcher to create a +channel with the properties defined in #TpAccountChannelRequest:request +and let the ChannelDispatcher dispatch it to an handler. +or the request has failed. +You can then call tp_account_channel_request_create_channel_finish() to +get the result of the operation. + + + + + + Either the well-known bus name (starting with %TP_CLIENT_BUS_NAME_BASE) of the preferred handler for the channel, or %NULL to indicate that any handler would be acceptable. + + + + optional #GCancellable object, %NULL to ignore + + + + a callback to call when the request is satisfied + + + + data to pass to @callback + + + + + + Finishes an async channel creation started using +tp_account_channel_request_create_channel_async(). +otherwise %FALSE. + + %TRUE if the channel was successfully created and dispatched, + + + + + a #GAsyncResult + + + + + + Asynchronously calls EnsureChannel on the ChannelDispatcher to create a +channel with the properties defined in #TpAccountChannelRequest:request +and let the ChannelDispatcher dispatch it to an handler. +If a suitable channel already existed, its handler will be notified that +the channel was requested again (for instance with +#TpAccountChannelRequest::re-handled, #TpBaseClientClassHandleChannelsImpl +or #TpSimpleHandler:callback), and can move its window to the foreground, +if applicable. Otherwise, a new channel will be created and dispatched to +a handler. +notified, a new channel has been created and dispatched, or the request +has failed. +You can then call tp_account_channel_request_ensure_channel_finish() to +get the result of the operation. + + + + + + Either the well-known bus name (starting with %TP_CLIENT_BUS_NAME_BASE) of the preferred handler for the channel, or %NULL to indicate that any handler would be acceptable. + + + + optional #GCancellable object, %NULL to ignore + + + + a callback to call when the request is satisfied + + + + data to pass to @callback + + + + + + Finishes an async channel creation started using +tp_account_channel_request_ensure_channel_async(). +otherwise %FALSE. + + %TRUE if the channel was successfully ensured and (re-)dispatched, + + + + + a #GAsyncResult + + + + + + The #TpAccount used to request the channel. +Read-only except during construction. +This property can't be %NULL. + + + + The user action time that will be passed to the channel dispatcher when +requesting the channel. +This may be the time at which user action occurred, or one of the special +values %TP_USER_ACTION_TIME_NOT_USER_ACTION or +%TP_USER_ACTION_TIME_CURRENT_TIME. +If %TP_USER_ACTION_TIME_NOT_USER_ACTION, the action doesn't involve any +user action. Clients should avoid stealing focus when presenting the +channel. +If %TP_USER_ACTION_TIME_CURRENT_TIME, clients SHOULD behave as though the +user action happened at the current time, e.g. a client may +request that its window gains focus. +On X11-based systems, Gdk 2.x, Clutter 1.0 etc., +tp_user_action_time_from_x11() can be used to convert an X11 timestamp to +a Telepathy user action time. +If the channel request succeeds, this user action time will be passed on +to the channel's handler. If the handler is a GUI, it may use +tp_user_action_time_should_present() to decide whether to bring its +window to the foreground. + + + + Emitted when the channel created using @self has been "re-handled". +This means that a Telepathy client has made another request for a +matching channel using an "ensure" API like +tp_account_channel_request_ensure_channel_async(), while the channel +still exists. Instead of creating a new channel, the channel dispatcher +notifies the existing handler of @channel, resulting in this signal. +Most GUI handlers should respond to this signal by checking +via tp_handle_channels_context_get_handler_info(), and any similar methods +that are added in future. It is not valid for the receiver of this signal +to call tp_handle_channels_context_accept(), +tp_handle_channels_context_delay() or tp_handle_channels_context_fail(). + + + + + + the #TpChannel being re-handled + + + + the time at which user action occurred, or one of the special values %TP_USER_ACTION_TIME_NOT_USER_ACTION or %TP_USER_ACTION_TIME_CURRENT_TIME; see #TpAccountChannelRequest:user-action-time + + + + a #TpHandleChannelsContext representing the context of the HandleChannels() call. + + + + + + + The class of a #TpAccountChannelRequest. + + + + + The class of a #TpAccount. + + + + + + + + + + + + + + + + The Telepathy Account Manager stores real-time communication accounts and +their configuration, places accounts online on request, and manipulates +accounts' presence, nicknames and avatars. + + Convenience function to create a new account manager proxy. The returned +#TpAccountManager is not guaranteed to be ready on return. +Use tp_account_manager_dup() instead if you want an account manager proxy +on the starter or session bus (which is almost always the right thing for +Telepathy). + + a new reference to an account manager proxy + + + + + Proxy for the D-Bus daemon + + + + + + <!-- --> +#TpAccountManager + + the quark used for representing the core feature of a + + + + + Returns an account manager proxy on the D-Bus daemon on which this +process was activated (if it was launched by D-Bus service activation), or +the session bus (otherwise). +The returned #TpAccountManager is cached; the same #TpAccountManager object +will be returned by this function repeatedly, as long as at least one +reference exists. Note that the returned #TpAccountManager is not guaranteed +to be ready on return. +if it wasn't possible to get a dbus daemon proxy for the +appropriate bus + + an account manager proxy on the starter or session bus, or %NULL + + + + + Ensure that the known interfaces for TpAccountManager have been set up. +This is done automatically when necessary, but for correct +overriding of library interfaces by local extensions, you should +call this function before calling +tp_proxy_or_subclass_hook_on_interface_add() with first argument +%TP_TYPE_ACCOUNT_MANAGER. + + + + + + Lookup an account in the account manager @manager. If the desired account +has already been ensured then the same object will be returned, otherwise +it will create a new #TpAccount and add it to @manager. As a result, if +to be ready on return. +The caller must keep a ref to the returned object using g_object_ref() if +it is to be kept. + + a new #TpAccount at @path + + + + + the object path for an account + + + + + + Returns a newly allocated #GList of valid accounts in @manager. The list +must be freed with g_list_free() after used. None of the accounts in the +returned list are guaranteed to be ready. +Note that the #TpAccount<!-- -->s in the returned #GList are not reffed +before returning from this function. One could ref every item in the list +like the following example: +|[ +GList *accounts; +account = tp_account_manager_get_valid_accounts (manager); +g_list_foreach (accounts, (GFunc) g_object_ref, NULL); +]| +The list of valid accounts returned is not guaranteed to have been retrieved +until %TP_ACCOUNT_MANAGER_FEATURE_CORE is prepared +(tp_proxy_prepare_async() has returned). Until this feature has +been prepared, an empty list (%NULL) will be returned. + + a newly allocated #GList of valid accounts in @manager + + + + + + + Iterates through the accounts in @manager and requests the presence +(@type, @status and @message). Note that the presence requested here is +merely a request, and if might not be satisfiable. +You can find the most available presence across all accounts by calling +tp_account_manager_get_most_available_presence(). +Setting a requested presence on all accounts will have no effect +until tp_proxy_prepare_async() +(or the older tp_account_manager_prepare_async()) has finished. + + + + + + a presence type to request + + + + a status to request + + + + a status message to request + + + + + + Gets the most available presence over all accounts in @manager. This +function does not average presences across all accounts, but it merely +finds the "most available" presence. As a result, there is a guarantee +that there exists at least one account in @manager with the returned +presence. +If no accounts are enabled or valid the output will be +(%TP_CONNECTION_PRESENCE_TYPE_OFFLINE, "offline", ""). +The return value of this function is not guaranteed to have been retrieved +until tp_proxy_prepare_async() has finished; until then, the +value will be the same as if no accounts are enabled or valid. + + the most available presence across all accounts + + + + + a string to fill with the actual status + + + + a string to fill with the actual status message + + + + + + Requests an asynchronous create of an account on the account manager +then call tp_account_manager_create_account_finish() to get the result of +the operation. +%TP_ACCOUNT_FEATURE_CORE feature ready on it, so when calling +tp_account_manager_create_account_finish(), one can guarantee this feature +will be ready. + + + + + + the name of a connection manager + + + + the name of a protocol + + + + the display name for the account + + + + parameters for the new account + + + + + + + properties for the new account + + + + + + + a callback to call when the request is satisfied + + + + data to pass to @callback + + + + + + Finishes an async create account operation, and returns a new #TpAccount +object, with the %TP_ACCOUNT_FEATURE_CORE feature ready on it. +The caller must keep a ref to the returned object using g_object_ref() if +it is to be kept. +success, otherwise %NULL + + a new #TpAccount which was just created on + + + + + a #GAsyncResult + + + + + + <!-- --> + + the same thing as tp_proxy_is_prepared() + + + + + a feature which is required + + + + + + Requests an asynchronous preparation of @manager with +%TP_ACCOUNT_MANAGER_FEATURE_CORE, plus any features specified +by @features. When the operation is finished, @callback will be called. You +can then call tp_account_manager_prepare_finish() to get the result of the +operation. +If %NULL is given to @callback, then no callback will be called when the +operation is finished. Instead, it will simply set @features on @manager. +Note that if @callback is %NULL, then @user_data must also be %NULL. +In version 0.11.3 or later, this is equivalent to calling +tp_proxy_prepare_async() with the same arguments. + + + + + + a 0-terminated list of features, or %NULL + + + + a callback to call when the request is satisfied + + + + data to pass to @callback + + + + + + Finishes an async preparation of the account manager @manager. + + %TRUE if the preparation was successful, otherwise %FALSE + + + + + a #GAsyncResult + + + + + + Enable autostarting the account manager D-Bus service. This means +that the account manager will be restarted if it disappears from +the bus. + + + + + + + + + + + + Emitted when an account from @manager is disabled. + + + + + + a #TpAccount + + + + + + Emitted when an account from @manager is enabled. +Note that the returned #TpAccount @account is not guaranteed to have any +features pre-prepared, including %TP_ACCOUNT_FEATURE_CORE. + + + + + + a #TpAccount + + + + + + Emitted when an account is removed from @manager. + + + + + + a #TpAccount + + + + + + Emitted when the validity on @account changes. @account is not guaranteed +to be ready when this signal is emitted. + + + + + + a #TpAccount + + + + %TRUE if the account is now valid + + + + + + Emitted when the most available presence on @manager changes. + + + + + + new presence type + + + + new status + + + + new status message + + + + + + + The class of a #TpAccount. + + + + + + + + + + + + + + + + + + + + Data structure representing the context of a Approver.AddDispatchOperation() +call. + + Called by #TpBaseClientClassAddDispatchOperationImpl when it's done so +the D-Bus method can return. + + + + + + Called by #TpBaseClientClassAddDispatchOperationImpl to raise a D-Bus error. + + + + + + the error to return from the method + + + + + + Called by #TpBaseClientClassAddDispatchOperationImpl to indicate that it +implements the method in an async way. The caller must take a reference +to the #TpAddDispatchOperationContext before calling this function, and +is responsible for calling either +tp_add_dispatch_operation_context_accept() or +tp_add_dispatch_operation_context_fail() later. + + + + + + A #TpAccount object representing the Account of the DispatchOperation +that has been passed to AddDispatchOperation. +Read-only except during construction. +This property can't be %NULL. + + + + A #GPtrArray containing #TpChannel objects representing the channels +that have been passed to AddDispatchOperation. +Read-only except during construction. +This property can't be %NULL. + + + + A #TpConnection object representing the Connection of the DispatchOperation +that has been passed to AddDispatchOperation. +Read-only except during construction. +This property can't be %NULL. + + + + The #DBusGMethodInvocation representing the D-Bus context of the +AddDispatchOperation call. +Can only be written during construction. + + + + A #TpChannelDispatchOperation object representing the +ChannelDispatchOperation that has been passed to AddDispatchOperation. +Read-only except during construction. +This property can't be %NULL. + + + + + The class of a #TpAddDispatchOperationContext. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Data structure representing a generic #TpSvcClient implementation. + + Called by subclasses to define the actual implementation of the +ObserveChannels() D-Bus method. +Since 0.11.13 this is exactly equivalent to setting the +#TpBaseClientClass.observe_channels function pointer. + + + + + + the #TpBaseClientClass of the object + + + + the #TpBaseClientClassObserveChannelsImpl function implementing ObserveChannels() + + + + + + Called by subclasses to define the actual implementation of the +AddDispatchOperation() D-Bus method. +Since 0.11.13 this is exactly equivalent to setting the +#TpBaseClientClass.add_dispatch_operation function pointer. + + + + + + the #TpBaseClientClass of the object + + + + the #TpBaseClientClassAddDispatchOperationImpl function implementing AddDispatchOperation() + + + + + + Called by subclasses to define the actual implementation of the +HandleChannels() D-Bus method. +Since 0.11.13 this is exactly equivalent to setting the +#TpBaseClientClass.handle_channels function pointer. + + + + + + the #TpBaseClientClass of the object + + + + the #TpBaseClientClassHandleChannelsImpl function implementing HandleCHannels() + + + + + + Register a new channel class as Observer.ObserverChannelFilter. +The #TpBaseClientClass.observe_channels virtual method will be called +whenever a new channel's properties match the ones in @filter. +This method may only be called before tp_base_client_register() is +called, and may only be called on objects whose class implements +#TpBaseClientClass.observe_channels. + + + + + + a %TP_HASH_TYPE_CHANNEL_CLASS + + + + + + + + + The same as tp_base_client_add_observer_filter(), but ownership of @filter +is taken by @self. This makes it convenient to call using tp_asv_new(): +|[ +tp_base_client_take_observer_filter (client, +tp_asv_new ( +TP_PROP_CHANNEL_CHANNEL_TYPE, G_TYPE_STRING, +TP_IFACE_CHANNEL_TYPE_TEXT, +TP_PROP_CHANNEL_TARGET_HANDLE_TYPE, G_TYPE_UINT, +TP_HANDLE_TYPE_CONTACT, +...)); +]| + + + + + + a %TP_HASH_TYPE_CHANNEL_CLASS, ownership of which is taken by @self + + + + + + + + + Set whether the channel dispatcher should attempt to recover +this Observer if it crashes. (This is implemented by setting +the value of its Recover D-Bus property.) +Normally, Observers are only notified when new channels +appear. If an Observer is set to recover, when it registers with +tp_base_client_register(), it will also be told about any channels +that already existed before it started. +For Observers that are activatable as a D-Bus service, if the +Observer exits or crashes while there are any channels that match +its filter, it will automatically be restarted by service-activation. +This method may only be called before tp_base_client_register() is +called, and may only be called on objects whose class implements +#TpBaseClientClass.observe_channels. + + + + + + the value of the Observer.Recover property + + + + + + Register a new channel class as Approver.ApproverChannelFilter. +The #TpBaseClientClass.add_dispatch_operation virtual method will be called +whenever a new channel's properties match the ones in @filter. +This method may only be called before tp_base_client_register() is +called, and may only be called on objects whose class implements +#TpBaseClientClass.add_dispatch_operation. + + + + + + a %TP_HASH_TYPE_CHANNEL_CLASS + + + + + + + + + The same as tp_base_client_add_approver_filter(), but ownership of @filter +is taken by @self. This makes it convenient to call using tp_asv_new(): +|[ +tp_base_client_take_approver_filter (client, +tp_asv_new ( +TP_PROP_CHANNEL_CHANNEL_TYPE, G_TYPE_STRING, +TP_IFACE_CHANNEL_TYPE_TEXT, +TP_PROP_CHANNEL_TARGET_HANDLE_TYPE, G_TYPE_UINT, +TP_HANDLE_TYPE_CONTACT, +...)); +]| + + + + + + a %TP_HASH_TYPE_CHANNEL_CLASS, ownership of which is taken by @self + + + + + + + + + Register @self as a ChannelHandler with an empty list of filter. +This is useful if you want to create a client that only handle channels +for which it's the PreferredHandler. +This method may only be called before tp_base_client_register() is +called, and may only be called on objects whose class has called +#TpBaseClientClass.handle_channels. + + + + + + Register a new channel class as Handler.HandlerChannelFilter. +The #TpBaseClientClass.handle_channels virtual method will be called +whenever a new channel's properties match the ones in @filter. +This method may only be called before tp_base_client_register() is +called, and may only be called on objects whose class implements +#TpBaseClientClass.handle_channels. + + + + + + a %TP_HASH_TYPE_CHANNEL_CLASS + + + + + + + + + The same as tp_base_client_add_handler_filter(), but ownership of @filter +is taken by @self. This makes it convenient to call using tp_asv_new(): +|[ +tp_base_client_take_handler_filter (client, +tp_asv_new ( +TP_PROP_CHANNEL_CHANNEL_TYPE, G_TYPE_STRING, +TP_IFACE_CHANNEL_TYPE_TEXT, +TP_PROP_CHANNEL_TARGET_HANDLE_TYPE, G_TYPE_UINT, +TP_HANDLE_TYPE_CONTACT, +...)); +]| + + + + + + a %TP_HASH_TYPE_CHANNEL_CLASS, ownership of which is taken by @self + + + + + + + + + Set whether the channels destined for this handler are automatically +handled, without invoking approvers. +(This is implemented by setting the value of its BypassApproval +D-Bus property.) +This method may only be called before tp_base_client_register() is +called, and may only be called on objects whose class implements +#TpBaseClientClass.handle_channels. + + + + + + the value of the Handler.BypassApproval property + + + + + + Indicate that @self is a Handler willing to be notified about requests for +channels that it is likely to be asked to handle. +That means the TpBaseClient::request-added and TpBaseClient::request-removed: +signals will be fired and tp_base_client_get_pending_requests() will +return the list of pending requests. +This method may only be called before tp_base_client_register() is +called, and may only be called on objects whose class implements +#TpBaseClientClass.handle_channels. + + + + + + Add one capability token to this client, as if via +tp_base_client_add_handler_capabilities(). +This method may only be called before tp_base_client_register() is +called, and may only be called on objects whose class implements +#TpBaseClientClass.handle_channels. + + + + + + a capability token as defined by the Telepathy D-Bus API Specification + + + + + + Add several capability tokens to this client. These are used to signal +that Telepathy connection managers should advertise certain capabilities +to other contacts, such as the ability to receive audio/video calls using +particular streaming protocols and codecs. +This method may only be called before tp_base_client_register() is +called, and may only be called on objects whose class implements +#TpBaseClientClass.handle_channels. + + + + + + capability tokens as defined by the Telepathy D-Bus API Specification + + + + + + + + Convenience C API equivalent to calling +tp_base_client_add_handler_capability() for each capability token. +This method may only be called before tp_base_client_register() is +called, and may only be called on objects whose class implements +#TpBaseClientClass.handle_channels. + + + + + + a capability token from the Telepathy D-Bus API Specification + + + + + + + + + + Request that the given features are prepared on each #TpAccount (in +addition to %TP_ACCOUNT_FEATURE_CORE) before calling +#TpBaseClient.observe_channels, #TpBaseClient.add_dispatch_operation or +#TpBaseClient.handle_channels, or emitting #TpBaseClient::request-added. + + + + + + the features + + + + + + the number of features, or -1 if @features is 0-terminated + + + + + + The same as tp_base_client_add_account_features(), but with a more +convenient calling convention from C. + + + + + + the first feature + + + + + + + + + + Request that the given features are prepared on each #TpChannel (in +addition to %TP_CHANNEL_FEATURE_CORE) before calling +#TpBaseClient.observe_channels, #TpBaseClient.add_dispatch_operation or +#TpBaseClient.handle_channels. + + + + + + the features + + + + + + the number of features, or -1 if @features is 0-terminated + + + + + + The same as tp_base_client_add_channel_features(), but with a more +convenient calling convention from C. + + + + + + the first feature + + + + + + + + + + Request that the given features are prepared on each #TpConnection (in +addition to %TP_CONNECTION_FEATURE_CORE) before calling +#TpBaseClient.observe_channels, #TpBaseClient.add_dispatch_operation or +#TpBaseClient.handle_channels. + + + + + + the features + + + + + + the number of features, or -1 if @features is 0-terminated + + + + + + The same as tp_base_client_add_connection_features(), but with a more +convenient calling convention from C. + + + + + + the first feature + + + + + + + + + + Publish @self as an available client. After this method is called, as long +as it continues to exist, it will receive and process whatever events were +requested via the various filters. +Methods that set the filters and other immutable state, such as +tp_base_client_add_observer_filter(), cannot be called after this one. + + %TRUE if the client was registered successfully + + + + + Only works if tp_base_client_set_handler_request_notification() has been +called. +Returns the list of requests @self is likely be asked to handle. +#GList of #TpChannelRequest + + a + + + + + + + Returns the set of channels currently handled by this base client or by any +other #TpBaseClient with which it shares a unique name. +handled channels + + the + + + + + + + Return the #TpBaseClient:name construct-only property, which is used as +part of the bus name and object path. + + the value of #TpBaseClient:name + + + + + Return the #TpBaseClient:uniquify-name construct-only property; if this +is true, the bus name and object path will be made unique by appending +a suffix that includes the D-Bus unique name and a per-process counter. + + the value of #TpBaseClient:uniquify-name + + + + + Return the bus name of @self. Note that doesn't mean the client is +actually owning this name; for example if tp_base_client_register() +has not been called yet or failed. + + the bus name of the client + + + + + Return the object path of @self. Note that doesn't mean the client is +actually registered on this path; for example if tp_base_client_register() +has not been called yet or failed. + + the object path of the client + + + + + Return the #TpBaseClient:dbus-daemon construct-only property, which +represents the D-Bus connection used to export this client object. +The returned object's reference count is not incremented, so it is not +necessarily valid after @self is destroyed. + + dbus-daemon + + + + + Return the #TpBaseClient:account-manager construct-only property, which +is the account manager used to look up or create #TpAccount objects. +The returned object's reference count is not incremented, so it is not +necessarily valid after @self is destroyed. +It is not guaranteed that any particular features are prepared on this +object; enable and wait for features with tp_proxy_prepare_async(). + + account-manager + + + + + Remove this client object from D-Bus, if tp_base_client_register() +has already been called. +If the object is not registered, this method may be called, but has +no effect. +Releasing the last reference to the object also has the same effect +as calling this method, but this method should be preferred, as it +has more deterministic behaviour. +If the object still exists, tp_base_client_register() may be used to +attempt to register it again. + + + + + + Account manager for this base client, used to look up or create +#TpAccount objects. This may be specified in the constructor in order +to get existing #TpAccount objects. +It is not guaranteed that any of its features have been prepared, and +it is not necessary to wait for any features before specifying this +property in the constructor. +Clients that interact with the #TpAccount should usually +set this property instead of #TpBaseClient:dbus-daemon. Doing this +will ensure that each account, connection or contact is represented by +a single #TpAccount, #TpConnection or #TpContact object, shared between +all the cooperating modules that have the same #TpAccountManager. +If the #TpBaseClient:dbus-daemon is set to the result of +tp_dbus_daemon_dup(), then this property defaults to +the result of tp_account_manager_dup(). +This property may be %NULL initially, but will always be non-%NULL +after the #TpBaseClient has been constructed. +It is an error to specify both a non-%NULL account manager, and a +non-%NULL #TpBaseClient:dbus-daemon that is not the same as the +account manager's #TpProxy:dbus-daemon. + + + + #TpDBusDaemon object encapsulating this object's connection to D-Bus. +Read-only except during construction. +This property can't be %NULL after construction. +Since 0.11.14 this property may be %NULL or unspecified in +g_object_new(), but only if #TpBaseClient:account-manager is provided +instead, in which case its #TpProxy:dbus-daemon property will be +used. + + + + The name of the client. This is used to register the D-Bus service name +and object path of the service. +This property can't be %NULL. + + + + If %TRUE, tp_base_client_register() will append an unique token to the +service bus name and object path to ensure they are unique. + + + + + + + + + + Emitted when a channels have been requested, and that if the +request is successful, they will probably be handled by this Handler. +This signal is only fired if +tp_base_client_set_handler_request_notification() has been called +on @self previously. + + + + + + the #TpAccount on which the request was made, with %TP_ACCOUNT_FEATURE_CORE, and any other features added via tp_base_client_add_account_features(), prepared if possible + + + + a #TpChannelRequest having its object-path defined but is not guaranteed to be prepared. + + + + + + Emitted when a request has failed and should be disregarded. +This signal is only fired if +tp_base_client_set_handler_request_notification() has been called +on @self previously. + + + + + + the #TpChannelRequest being removed + + + + the name of the D-Bus error with which the request failed. + + + + any message supplied with the D-Bus error. + + + + + + + The class of a #TpBaseClient. +The virtual methods @observe_channels, @add_dispatch_operation and +tp_base_client_implement_observe_channels(), +tp_base_client_implement_add_dispatch_operation() and +tp_base_client_implement_handle_channels(). This is compatible with +telepathy-glib versions older than 0.11.13. + + + + + + + + + + + + + + + + + + + + + + + + + + Signature of the implementation of the AddDispatchOperation method. +This function must call either tp_add_dispatch_operation_context_accept(), +tp_add_dispatch_operation_context_delay() or +tp_add_dispatch_operation_context_fail() on @context before it returns. +The implementation can then use +tp_channel_dispatch_operation_handle_with_async() to approve handling of the +channels, or tp_channel_dispatch_operation_claim_async() to take +responsibility for handling or closing them". + + + + + + a #TpBaseClient instance + + + + a #TpAccount with %TP_ACCOUNT_FEATURE_CORE, and any other features added via tp_base_client_add_account_features(), prepared if possible + + + + a #TpConnection with %TP_CONNECTION_FEATURE_CORE, and any other features added via tp_base_client_add_connection_features(), prepared if possible + + + + a #GList of #TpChannel, each with %TP_CHANNEL_FEATURE_CORE, and any other features added via tp_base_client_add_channel_features(), prepared if possible + + + + + + a #TpChannelDispatchOperation having %TP_CHANNEL_DISPATCH_OPERATION_FEATURE_CORE prepared if possible + + + + a #TpObserveChannelsContext representing the context of this D-Bus call + + + + + + Signature of the implementation of the HandleChannels method. +This function must call either tp_handle_channels_context_accept(), +tp_handle_channels_context_delay() or tp_handle_channels_context_fail() +on @context before it returns. + + + + + + a #TpBaseClient instance + + + + a #TpAccount with %TP_ACCOUNT_FEATURE_CORE, and any other features added via tp_base_client_add_account_features(), prepared if possible + + + + a #TpConnection with %TP_CONNECTION_FEATURE_CORE, and any other features added via tp_base_client_add_connection_features(), prepared if possible + + + + a #GList of #TpChannel, each with %TP_CHANNEL_FEATURE_CORE, and any other features added via tp_base_client_add_channel_features(), prepared if possible + + + + + + a #GList of #TpChannelRequest having their object-path defined but are not guaranteed to be prepared. + + + + + + the time at which user action occurred, or one of the special values %TP_USER_ACTION_TIME_NOT_USER_ACTION or %TP_USER_ACTION_TIME_CURRENT_TIME (see #TpAccountChannelRequest:user-action-time for details) + + + + a #TpHandleChannelsContext representing the context of this D-Bus call + + + + + + Signature of the implementation of the ObserveChannels method. +This function must call either tp_observe_channels_context_accept(), +tp_observe_channels_context_delay() or tp_observe_channels_context_fail() +on @context before it returns. + + + + + + a #TpBaseClient instance + + + + a #TpAccount with %TP_ACCOUNT_FEATURE_CORE, and any other features added via tp_base_client_add_account_features(), prepared if possible + + + + a #TpConnection with %TP_CONNECTION_FEATURE_CORE, and any other features added via tp_base_client_add_connection_features(), prepared if possible + + + + a #GList of #TpChannel, each with %TP_CHANNEL_FEATURE_CORE, and any other features added via tp_base_client_add_channel_features(), prepared if possible + + + + + + a #TpChannelDispatchOperation or %NULL; the dispatch_operation is not guaranteed to be prepared + + + + a #GList of #TpChannelRequest having their object-path defined but are not guaranteed to be prepared. + + + + + + a #TpObserveChannelsContext representing the context of this D-Bus call + + + + + + + + + + Data structure representing a generic #TpSvcConnection implementation. +In addition to the fields documented here, there are four gpointer fields +which must currently be %NULL (a meaning may be defined for these in a +future version of telepathy-glib), and a pointer to opaque private data. + + Implements D-Bus method RequestHandles on interface +org.freedesktop.Telepathy.Connection. Exported so subclasses can +use it as a basis for their own implementations (for instance, +at the time of writing Gabble's GabbleConnection does its own processing +for room handles, in order to validate them asynchronously, but delegates +to this implementation for all other types). + + + + + + A pointer to #TpBaseConnection, cast to a pointer to #TpSvcConnection + + + + The handle type (#TpHandleType) as a guint + + + + A strv of handle names + + + + + + The dbus-glib method invocation context + + + + + + Initializes an iterator over the #TpChannelManager objects known to +<informalexample><programlisting> +TpChannelManagerIter iter; +TpChannelManager *manager; +tp_base_connection_channel_manager_iter_init (&amp;iter, base_conn); +while (tp_base_connection_channel_manager_iter_next (&amp;iter, &amp;manager)) +{ +...do something with manager... +} +</programlisting></informalexample> + + + + + + an uninitialized #TpChannelManagerIter + + + + a connection + + + + + + Advances @iter, and retrieves the #TpChannelManager it now points to. If +there are no more channel managers, @manager_out is not set and %FALSE is +returned. + + %FALSE if there are no more channel managers; else %TRUE. + + + + + an initialized #TpChannelManagerIter + + + + a location to store the channel manager, or %NULL. + + + + + + <!----> +handle type, or #NULL if it's unsupported or invalid. + + the handle repository corresponding to the given + + + + + The handle type + + + + + + Make the connection object appear on the bus, returning the bus +name and object path used. If %TRUE is returned, the connection owns the +bus name, and will release it when destroyed. +Since 0.11.11, @bus_name and @object_path may be %NULL if the +strings are not needed. + + %TRUE on success, %FALSE on error. + + + + + The name of the connection manager in the Telepathy protocol + + + + Used to return the bus name corresponding to the connection if %TRUE is returned. To be freed by the caller. + + + + Used to return the object path of the connection if %TRUE is returned. To be freed by the caller. + + + + + + Change the status of the connection to %TP_CONNECTION_STATUS_DISCONNECTED, +as if by a call to tp_base_connection_change_status(). Before doing so, +emit the ConnectionError D-Bus signal to give more details of the error. +"debug-message", whose value should have type G_TYPE_STRING. + + + + + + The D-Bus error with which the connection changed status to Disconnected + + + + Further details of the error, as a hash table where the keys are strings as defined in the Telepathy specification, and the values are GValues. %NULL is allowed, and treated as empty. + + + + The reason code to use in the StatusChanged signal (a less specific, non-extensible version of @error_name) + + + + + + Change the status of the connection. The allowed state transitions are: +<itemizedlist> +<listitem>NEW -> CONNECTING</listitem> +<listitem>CONNECTING -> CONNECTED</listitem> +<listitem>NEW -> CONNECTED (equivalent to both of the above one after the +other - see below)</listitem> +<listitem>(anything except DISCONNECTED) -> DISCONNECTED</listitem> +</itemizedlist> +Before the transition to CONNECTED, the implementation must have discovered +the handle for the local user, obtained a reference to that handle and +stored it in the @self_handle member of #TpBaseConnection. +Changing from NEW to CONNECTED is implemented by doing the transition from +NEW to CONNECTING, followed by the transition from CONNECTING to CONNECTED; +it's exactly equivalent to calling tp_base_connection_change_status for +those two transitions one after the other. +Any other valid transition does the following, in this order: +<itemizedlist> +<listitem>Update the @status member of #TpBaseConnection</listitem> +<listitem>If the new state is DISCONNECTED, call the close_all_channels +callback on all channel factories</listitem> +<listitem>Emit the D-Bus StatusChanged signal</listitem> +<listitem>Call the subclass' status change callback</listitem> +<listitem>Call the channel factories' status change callbacks</listitem> +<listitem>If the new state is DISCONNECTED, call the subclass' +</itemizedlist> +previously set to 0 at this stage. It now remains non-zero until the object +is disposed. + + + + + + The new status + + + + The reason for the status change + + + + + + Returns the #TpBaseConnection:self-handle property, which is guaranteed not +to be 0 once the connection has moved to the CONNECTED state. + + the current self handle of the connection. + + + + + Sets the #TpBaseConnection:self-handle property. self_handle may not be 0 +once the connection has moved to the CONNECTED state. + + + + + + The new self handle for the connection. + + + + + + Tell the connection manager that this Connection has been disconnected, +has emitted StatusChanged and is ready to be removed from D-Bus. + + + + + + Add some interfaces to the list supported by this Connection. If you're +going to call this function at all, you must do so before moving to state +CONNECTED (or DISCONNECTED); if you don't call it, only the set of +interfaces always present (@interfaces_always_present in +#TpBaseConnectionClass) will be supported. + + + + + + A %NULL-terminated array of D-Bus interface names, which must remain valid at least until the connection enters state #TP_CONNECTION_STATUS_DISCONNECTED (in practice, you should either use static strings, or use strdup'd strings and free them in the dispose callback). + + + + + + + + Register the Connection interface with the Contacts interface to make it +inspectable. The Contacts mixin should be initialized before this function +is called + + + + + + <!-- --> +#TpBaseConnectionManager:dbus-daemon property. The caller must reference +the returned object with g_object_ref() if it will be kept. + + the value of the + + + + + #TpDBusDaemon object encapsulating this object's connection to D-Bus. +Read-only except during construction. +If this property is %NULL or omitted during construction, the object will +automatically attempt to connect to the starter or session bus with +tp_dbus_daemon_dup() just after it is constructed; if this fails, this +property will remain %NULL, and tp_base_connection_register() will fail. + + + + The Connection.Status as visible on D-Bus, which is the same as +#TpBaseConnection.status except that %TP_INTERNAL_CONNECTION_STATUS_NEW +is replaced by %TP_CONNECTION_STATUS_DISCONNECTED. +The #GObject::notify signal is not currently emitted for this property. + + + + The set of D-Bus interfaces available on this Connection, other than +Connection itself. + + + + Identifier used in the Telepathy protocol when this connection's protocol +name is required. + + + + The handle of type %TP_HANDLE_TYPE_CONTACT representing the local user. +Must be set nonzero by the subclass before moving to state CONNECTED. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Emitted by tp_base_connection_finish_shutdown() when the underlying +network connection has been closed; #TpBaseConnectionManager listens +for this signal and removes connections from its table of active +connections when it is received. + + + + + + + The class of a #TpBaseConnection. Many members are virtual methods etc. +to be filled in in the subclass' class_init function. +In addition to the fields documented here, there are three gpointer fields +which must currently be %NULL (a meaning may be defined for these in a +future version of telepathy-glib), and a pointer to opaque private data. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Signature of an implementation of the create_channel_factories method +of #TpBaseConnection. +which, between them, implement all channel types this Connection +supports. + + a GPtrArray of objects implementing #TpChannelFactoryIface + + + + + + + The implementation, a subclass of TpBaseConnection + + + + + + Signature of an implementation of the create_channel_managers method +of #TpBaseConnection. +which, between them, implement all channel types this Connection +supports. + + a GPtrArray of objects implementing #TpChannelManager + + + + + + + The implementation, a subclass of TpBaseConnection + + + + + + Signature of an implementation of the create_handle_repos method +of #TpBaseConnection. + + + + + + The connection object + + + + An array of pointers to be filled in; the implementation may assume all are initially NULL. + + + + + + Signature of the @get_unique_connection_name virtual method +on #TpBaseConnection. +connection manager process, as a string which the caller must free +with #g_free. + + a name for this connection which will be unique within this + + + + + The implementation, a subclass of TpBaseConnection + + + + + + + + Signature of a virtual method on #TpBaseConnection that takes no +additional parameters and returns nothing. + + + + + + The connection object + + + + + + Signature of an implementation of the start_connecting method +of #TpBaseConnection. +On entry, the implementation may assume that it is in state NEW. +If %TRUE is returned, the Connect D-Bus method succeeds; the +implementation must either have already set the status to CONNECTED by +calling tp_base_connection_change_status(), or have arranged for a +status change to either state DISCONNECTED or CONNECTED to be signalled by +calling tp_base_connection_change_status() at some later time. +If the status is still NEW after returning %TRUE, #TpBaseConnection will +automatically change it to CONNECTING for reason REQUESTED. +If %FALSE is returned, the error will be raised from Connect as an +exception. If the status is not DISCONNECTED after %FALSE is returned, +#TpBaseConnection will automatically change it to DISCONNECTED +with a reason appropriate to the error; NetworkError results in +NETWORK_ERROR, PermissionDenied results in AUTHENTICATION_FAILED, and all +other errors currently result in NONE_SPECIFIED. +All except the simplest connection managers are expected to implement this +asynchronously, returning %TRUE in most cases and changing the status +to CONNECTED or DISCONNECTED later. + + %FALSE if failure has already occurred, else %TRUE. + + + + + The connection object + + + + + + + + + + + + + + + + + + Describes possible sources of information on connection managers' +supported protocols. +Since 0.11.5, there is a corresponding #GEnumClass type, +%TP_TYPE_CM_INFO_SOURCE. + + + + + + + + + + + + + + + + + + An object representing capabilities a #TpConnection or #TpContact supports. + + <!-- --> +#TpCapabilities:channel-classes property + + the same #GPtrArray as the + + + + + + + <!-- --> + + the same #gboolean as the #TpCapabilities:contact-specific property + + + + + Return whether private text channels can be established by providing +a contact identifier. +If the protocol is such that text chats can be established, but only via a +more elaborate D-Bus API than normal (because more information is needed), +then this method will return %FALSE. +HandleTypeContact as TargetHandleType and a contact identifier can be +expected to work, %FALSE otherwise. + + %TRUE if a channel request containing Text as ChannelType, + + + + + If the #TpCapabilities:contact-specific property is %FALSE, this function +checks if named text chatrooms can be joined by providing a chatroom +identifier. +If the #TpCapabilities:contact-specific property is %TRUE, this function +checks if the contact associated with this #TpCapabilities can be invited +to named text chatrooms. +If the protocol is such that chatrooms can be joined or contacts can be +invited, but only via a more elaborate D-Bus API than normal +(because more information is needed), then this method will return %FALSE. +HandleTypeRoom as TargetHandleType and a channel identifier can be +expected to work, %FALSE otherwise. + + %TRUE if a channel request containing Text as ChannelType, + + + + + Whether this object accurately describes the capabilities of a particular +contact, or if it's only a guess based on the capabilities of the +underlying connection. + + + + + + + + + A proxy object for a Telepathy channel. +A proxy object for a Telepathy channel. There are no interesting +public struct fields. +(Changed in 0.7.12: the layout of the structure is visible, allowing +subclassing.) + + <!-- --> + + a new channel proxy, or %NULL on invalid arguments. + + + + + a connection; may not be %NULL + + + + the object path of the channel; may not be %NULL + + + + the channel type if already known, or %NULL if not + + + + the handle type if already known, or %TP_UNKNOWN_HANDLE_TYPE if not + + + + the handle if already known, or 0 if not (if @optional_handle_type is %TP_UNKNOWN_HANDLE_TYPE or %TP_HANDLE_TYPE_NONE, this must be 0) + + + + + + <!-- --> + + a new channel proxy, or %NULL on invalid arguments + + + + + a connection; may not be %NULL + + + + the object path of the channel; may not be %NULL + + + + the immutable properties of the channel, as signalled by the NewChannel D-Bus signal or returned by the CreateChannel and EnsureChannel D-Bus methods: a mapping from strings (D-Bus interface name + "." + property name) to #GValue instances + + + + + + + + + Ensure that the known interfaces for TpChannel have been set up. +This is done automatically when necessary, but for correct +overriding of library interfaces by local extensions, you should +call this function before calling +tp_proxy_or_subclass_hook_on_interface_add() with first argument +%TP_TYPE_CHANNEL. + + + + + + + + + + + + + + + + + + + + + If @self is ready for use (introspection has finished, etc.), return +immediately. Otherwise, re-enter the main loop until the channel either +becomes invalid or becomes ready for use, or until the main loop stored +via @loop is cancelled. +%FALSE if the channel has become invalid. +or restructure your program in such a way as to avoid re-entering the +main loop. + + %TRUE if the channel has been introspected and is ready for use, + + + + + if not %NULL and %FALSE is returned, used to raise an error + + + + if not %NULL, a #GMainLoop is placed here while it is being run (so calling code can call g_main_loop_quit() to abort), and %NULL is placed here after the loop has been run + + + + + + If @self is ready for use or has been invalidated, call @callback +immediately, then return. Otherwise, arrange +for @callback to be called when @self either becomes ready for use +or becomes invalid. +This is a less general form of tp_proxy_prepare_async(), which should be +used in new code. (One important difference is that this function can call +calls @callback from the main loop.) + + + + + + called when the channel becomes ready or invalidated, whichever happens first + + + + arbitrary user-supplied data passed to the callback + + + + + + Returns the same thing as the #TpChannel:channel-ready property. +New code should use tp_proxy_is_prepared(), which is a more general form of +this method. +For group channels, this method is equivalent to checking for the +combination of %TP_CHANNEL_FEATURE_CORE and %TP_CHANNEL_FEATURE_GROUP; for +non-group channels, it's equivalent to checking for +%TP_CHANNEL_FEATURE_CORE. +One important difference is that after #TpProxy::invalidated is +signalled, #TpChannel:channel-ready keeps its current value - which might +be %TRUE, if the channel was successfully prepared before it became +invalidated - but tp_proxy_is_prepared() returns %FALSE for all features. + + %TRUE if introspection has completed + + + + + Get the D-Bus interface name representing this channel's type, +if it has been discovered. +This is the same as the #TpChannelIface:channel-type property; it isn't +guaranteed to be non-%NULL until the %TP_CHANNEL_FEATURE_CORE feature has +been prepared. +type or %NULL, if the channel is not yet ready. + + the channel type, if the channel is ready; either the channel + + + + + Get the D-Bus interface name representing this channel's type, as a GQuark, +if it has been discovered. +This is the same as the #TpChannelIface:channel-type property, except that it +is a GQuark rather than a string. It isn't guaranteed to be nonzero until +the %TP_CHANNEL_FEATURE_CORE property is ready. +type or 0, if the channel is not yet ready. + + the channel type, if the channel is ready; either the channel + + + + + Get the handle representing the contact, chatroom, etc. with which this +channel communicates for its whole lifetime, or 0 if there is no such +handle or it has not yet been discovered. +This is the same as the #TpChannelIface:handle property. It isn't +guaranteed to have its final value until the %TP_CHANNEL_FEATURE_CORE +feature is ready. +If %handle_type is not %NULL, the type of handle is written into it. +This will be %TP_UNKNOWN_HANDLE_TYPE if the handle has not yet been +discovered, or %TP_HANDLE_TYPE_NONE if there is no handle with which this +channel will always communicate. This is the same as the +#TpChannelIface:handle-type property. + + the handle + + + + + if not %NULL, used to return the type of this handle + + + + + + This channel's associated identifier, or the empty string if no identifier +or unknown. +This is the same as the #TpChannel:identifier property, and isn't guaranteed +to be set until the %TP_CHANNEL_FEATURE_CORE property is ready. +previously either be %NULL or the empty string if there was no suitable +value. It is now non-%NULL in all cases. + + the identifier + + + + + Returns the connection for this channel. The returned pointer is only valid +while this channel is valid - reference it with g_object_ref() if needed. + + connection + + + + + Returns the immutable D-Bus properties of this channel, the same as +#TpChannel:channel-properties. +The returned hash table should not be altered, and is not necessarily +valid after the main loop is next re-entered. Copy it with +g_boxed_copy() (its type is %TP_HASH_TYPE_QUALIFIED_PROPERTY_VALUE_MAP) +if a copy that remains valid must be kept. +If the #TpChannel:channel-properties property was not set during +construction (e.g. by calling tp_channel_new_from_properties()), a +reasonable but possibly incomplete version will be made up from the values +of individual properties; reading this property repeatedly may yield +progressively more complete values until the %TP_CHANNEL_FEATURE_CORE +feature is prepared. +where the keys are strings, +D-Bus interface name + "." + property name, and the values are #GValue +instances + + a #GHashTable + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Return the chat state for the given contact. If tp_proxy_is_prepared() +would return %FALSE for the feature %TP_CHANNEL_FEATURE_CHAT_STATES, +the result will always be %TP_CHANNEL_CHAT_STATE_INACTIVE. +if their chat state is not known + + the chat state for @contact, or %TP_CHANNEL_CHAT_STATE_INACTIVE + + + + + a contact handle + + + + + + Initially %FALSE; changes to %TRUE when tp_proxy_prepare_async() has +finished preparing %TP_CHANNEL_FEATURE_CORE, and if the channel is a +group, %TP_CHANNEL_FEATURE_GROUP. +This is a less general form of tp_proxy_is_prepared(), which should be +used in new code. +One important difference is that after #TpProxy::invalidated is +signalled, #TpChannel:channel-ready keeps its current value - which might +be %TRUE, if the channel was successfully prepared before it became +invalidated - but tp_proxy_is_prepared() returns %FALSE for all features. +Change notification is via notify::channel-ready. + + + + The #TpConnection to which this #TpChannel belongs. Used for e.g. +handle manipulation. + + + + If the %TP_CHANNEL_FEATURE_GROUP feature has been prepared successfully, +#TpChannelGroupFlags indicating the capabilities and behaviour of that +group. +Otherwise, this may be 0. +Change notification is via notify::group-flags or +TpChannel::group-flags-changed. + + + + If this channel is a group and %TP_CHANNEL_FEATURE_GROUP has been +prepared, and the user is a member of the group, the #TpHandle +representing them in this group. +Otherwise, the result may be either a handle representing the user, or 0. +Change notification is via notify::group-self-handle. + + + + This channel's associated identifier, or the empty string if it has +handle type %TP_HANDLE_TYPE_NONE. +For channels where #TpChannelIface:handle is non-zero, this is the result +of inspecting #TpChannelIface:handle. +This is not guaranteed to be set until tp_proxy_prepare_async() has +finished preparing %TP_CHANNEL_FEATURE_CORE; until then, it may be +the empty string. +it was %NULL before an identifier was known, or when a channel +with no TargetID D-Bus property had TargetHandleType %TP_HANDLE_TYPE_NONE. + + + + + + + + + + Emitted when a contact's chat state changes after tp_proxy_prepare_async() +has finished preparing the feature %TP_CHANNEL_FEATURE_CHAT_STATES. + + + + + + a contact handle for the local user or another contact + + + + the new #TpChannelChatState for the contact + + + + + + Emitted when the #TpChannel:group-flags property changes while the +channel is ready. + + + + + + #TpChannelGroupFlags which are newly set + + + + #TpChannelGroupFlags which are no longer set + + + + + + Emitted when the group members change in a Group channel that is ready. + + + + + + an optional textual message + + + + a #GArray of #guint containing the full members added + + + + a #GArray of #guint containing the members (full, local-pending or remote-pending) removed + + + + a #GArray of #guint containing the local-pending members added + + + + a #GArray of #guint containing the remote-pending members added + + + + the #TpHandle of the contact causing the change, or 0 + + + + the reason for the change as a #TpChannelGroupChangeReason + + + + + + Emitted when the group members change in a Group channel that is ready. +Contains a superset of the information in the +TpChannel::group-members-changed signal, and is emitted at the same time; +applications can connect to this signal and ignore the other. + + + + + + a #GArray of #guint containing the full members added + + + + + + a #GArray of #guint containing the members (full, local-pending or remote-pending) removed + + + + + + a #GArray of #guint containing the local-pending members added + + + + + + a #GArray of #guint containing the remote-pending members added + + + + + + a #GHashTable mapping (gchar *) to #GValue containing details about the change, as described in the specification of the MembersChangedDetailed signal. + + + + + + + + + + + + + + + + + + + + + + + + + The class of a #TpChannel. In addition to @parent_class there are four +pointers reserved for possible future use. +(Changed in 0.7.12: the layout of the structure is visible, allowing +subclassing.) + + + + + + + + + + + + + + + + + + + + + + + + + One of the channel dispatcher's functions is to offer incoming channels to +Approver clients for approval. An approver should generally ask the user +whether they want to participate in the requested communication channels +(join the chat or chatroom, answer the call, accept the file transfer, or +whatever is appropriate). A collection of channels offered in this way +is represented by a ChannelDispatchOperation object. +If the user wishes to accept the communication channels, the approver +should call tp_cli_channel_dispatch_operation_call_handle_with() to +indicate the user's or approver's preferred handler for the channels (the +empty string indicates no particular preference, and will cause any +suitable handler to be used). +If the user wishes to reject the communication channels, or if the user +accepts the channels and the approver will handle them itself, the approver +should call tp_cli_channel_dispatch_operation_call_claim(). If this method +succeeds, the approver immediately has control over the channels as their +primary handler, and may do anything with them (in particular, it may close +them in whatever way seems most appropriate). +There are various situations in which the channel dispatch operation will +be closed, causing the #TpProxy::invalidated signal to be emitted. If this +happens, the approver should stop prompting the user. +Because all approvers are launched simultaneously, the user might respond +to another approver; if this happens, the #TpProxy::invalidated signal +will be emitted with the domain %TP_DBUS_ERRORS and the error code +%TP_DBUS_ERROR_OBJECT_REMOVED. +If a channel closes, the #TpChannelDispatchOperation::channel-lost signal +is emitted. If all channels +close, there is nothing more to dispatch, so the #TpProxy::invalidated +signal will be emitted with the domain %TP_DBUS_ERRORS and the error code +%TP_DBUS_ERROR_OBJECT_REMOVED. +If the channel dispatcher crashes or exits, the #TpProxy::invalidated +signal will be emitted with the domain %TP_DBUS_ERRORS and the error code +%TP_DBUS_ERROR_NAME_OWNER_LOST. In a high-quality implementation, the +dispatcher should be restarted, at which point it will create new +channel dispatch operations for any undispatched channels, and the approver +will be notified again. +be added in a later version of telepathy-glib, along with a mechanism +similar to tp_connection_call_when_ready(). + + Convenience function to create a new channel dispatch operation proxy. +The @immutable_properties argument is not yet used. +running + + a new reference to an channel dispatch operation proxy, or %NULL if + + + + + Proxy for the D-Bus daemon + + + + The non-NULL object path of this channel dispatch operation + + + + As many as are known of the immutable D-Bus properties of this channel dispatch operation, or %NULL if none are known + + + + + + Ensure that the known interfaces for TpChannelDispatchOperation have been +set up. This is done automatically when necessary, but for correct +overriding of library interfaces by local extensions, you should +call this function before calling +tp_proxy_or_subclass_hook_on_interface_add() with first argument +%TP_TYPE_CHANNEL_DISPATCH_OPERATION. + + + + + + + + + + + Returns the #TpConnection of this ChannelDispatchOperation. +The returned pointer is only valid while @self is valid - reference +it with g_object_ref() if needed. + + connection + + + + + Returns the #TpAccount of this ChannelDispatchOperation. +The returned pointer is only valid while @self is valid - reference +it with g_object_ref() if needed. + + account + + + + + Returns a #GPtrArray containing the #TpChannel of this +ChannelDispatchOperation. +The returned array and its #TpChannel are only valid while @self is +valid - copy array and reference channels with g_object_ref() if needed. + + channels + + + + + + + Returns a #GStrv containing the possible handlers of this +ChannelDispatchOperation. +The returned array and its strings are only valid while @self is +valid - copy it with g_strdupv if needed. +#TpChannelDispatchOperation:possible-handlers + + the value of + + + + + + + Returns the immutable D-Bus properties of this channel. +The returned hash table is only valid while @self is valid - reference +it with g_hash_table_ref() if needed. +#TpChannelDispatchOperation:cdo-properties + + the value of + + + + + + + + Called by an approver to accept a channel bundle and request that the +given handler be used to handle it. +If successful, this method will cause the #TpProxy::invalidated signal +to be emitted with the TP_DBUS_ERROR_OBJECT_REMOVED error code. +However, this method may fail because the dispatch has already been +completed and the object has already gone. If this occurs, it indicates +that another approver has asked for the bundle to be handled by a +particular handler. The approver MUST NOT attempt to interact with +the channels further in this case, unless it is separately +invoked as the handler. +Approvers which are also channel handlers SHOULD use +tp_channel_dispatch_operation_claim_async() instead +of tp_channel_dispatch_operation_handle_with_async() to request +that they can handle a channel bundle themselves. + + + + + + The well-known bus name (starting with #TP_CLIENT_BUS_NAME_BASE) of the channel handler that should handle the channel, or %NULL if the client has no preferred channel handler + + + + a callback to call when the call returns + + + + data to pass to @callback + + + + + + Finishes an async call to HandleWith(). + + %TRUE if the HandleWith() call was successful, otherwise %FALSE + + + + + a #GAsyncResult + + + + + + Called by an approver to claim channels for handling internally. +If this method is called successfully, the process calling this +method becomes the handler for the channel. +If successful, this method will cause the #TpProxy::invalidated signal +to be emitted, in the same wayas for +tp_channel_dispatch_operation_handle_with_async(). +This method may fail because the dispatch operation has already +been completed. Again, see tp_channel_dispatch_operation_claim_async() +for more details. The approver MUST NOT attempt to interact with +the channels further in this case. + + + + + + a callback to call when the call returns + + + + data to pass to @callback + + + + + + Finishes an async call to Claim(). + + %TRUE if the Claim() call was successful, otherwise %FALSE + + + + + a #GAsyncResult + + + + + + A variant of tp_channel_dispatch_operation_handle_with_async() +allowing the approver to pass an user action time. +This timestamp will be passed to the Handler when HandleChannels is called. +If an X server timestamp for the user action causing this method call is +available, @user_action_time should be this timestamp (for instance, the +result of gdk_event_get_time() if it is not %GDK_CURRENT_TIME). Otherwise, it +may be %TP_USER_ACTION_TIME_NOT_USER_ACTION to behave as if there was no +user action or it happened a long time ago, or +%TP_USER_ACTION_TIME_CURRENT_TIME to have the Handler behave as though the +user action had just happened (resembling, but not numerically equal to, +%GDK_CURRENT_TIME). +This method has been introduced in telepathy-mission-control 5.5.0. + + + + + + The well-known bus name (starting with #TP_CLIENT_BUS_NAME_BASE) of the channel handler that should handle the channel, or %NULL if the client has no preferred channel handler + + + + the time at which user action occurred, or one of the special values %TP_USER_ACTION_TIME_NOT_USER_ACTION or %TP_USER_ACTION_TIME_CURRENT_TIME + + + + a callback to call when the call returns + + + + data to pass to @callback + + + + + + Finishes an async call to HandleWithTime(). + + %TRUE if the HandleWithTime() call was successful, otherwise %FALSE + + + + + a #GAsyncResult + + + + + + The #TpAccount with which the connection and channels are associated. +Read-only except during construction. +This is not guaranteed to be set until tp_proxy_prepare_async() has +finished preparing %TP_CHANNEL_DISPATCH_OPERATION_FEATURE_CORE. + + + + A #GPtrArray containing the #TpChannel to be dispatched. +Read-only. +This is not guaranteed to be set until tp_proxy_prepare_async() has +finished preparing %TP_CHANNEL_DISPATCH_OPERATION_FEATURE_CORE. + + + + The #TpConnection with which the channels are associated. +Read-only except during construction. +This is not guaranteed to be set until tp_proxy_prepare_async() has +finished preparing %TP_CHANNEL_DISPATCH_OPERATION_FEATURE_CORE. + + + + A #GStrv containing the well known bus names (starting +with TP_CLIENT_BUS_NAME_BASE) of the possible Handlers for +the channels +Read-only except during construction. +This is not guaranteed to be set until tp_proxy_prepare_async() has +finished preparing %TP_CHANNEL_DISPATCH_OPERATION_FEATURE_CORE. + + + + + + + + + + Emitted when a channel has closed before it could be claimed or handled. + + + + + + the #TpChannel that closed + + + + domain of a #GError indicating why the channel has been closed + + + + error code of a #GError indicating why the channel has been closed + + + + a message associated with the error + + + + + + + The class of a #TpChannelDispatchOperation. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + An iterator over the #TpChannelManager objects known to a #TpBaseConnection. +It has no public fields. +Use tp_base_connection_channel_manager_iter_init() to start iteration and +tp_base_connection_channel_manager_iter_next() to continue. + + + + + + + + + + + + + + + + + + + + + + + + + + + Requesting a channel from the channel dispatcher can take some time, so an +object is created in the channel dispatcher to represent each request. This +proxy represents one of those objects. +Any client can call tp_cli_channel_request_call_cancel() at any time to +attempt to cancel the request. +On success, the #TpChannelRequest::succeeded signal will be emitted. +Immediately after that, the #TpProxy::invalidated signal will be emitted, +with the domain %TP_DBUS_ERRORS and the error code +%TP_DBUS_ERROR_OBJECT_REMOVED (this is not an error condition, it merely +indicates that the channel request no longer exists). +On failure, the #TpProxy::invalidated signal will be emitted with some +other suitable error, usually from the %TP_ERRORS domain. +If the channel dispatcher crashes or exits, the #TpProxy::invalidated +signal will be emitted with the domain %TP_DBUS_ERRORS and the error code +%TP_DBUS_ERROR_NAME_OWNER_LOST. +UserActionTime, PreferredHandler, Requests and Interfaces properties will +be added in a later version of telepathy-glib, along with a mechanism +similar to tp_connection_call_when_ready(). +Until suitable convenience methods are implemented, the generic +tp_cli_dbus_properties_call_get_all() method can be used to get those +properties. + + Convenience function to create a new channel request proxy. +If the channel request was newly created, the client making the request +is responsible for calling tp_cli_channel_request_call_proceed() when it +is ready for the channel request to proceed. +The @immutable_properties argument is not yet used. +not running + + a new reference to an channel request proxy, or %NULL if + + + + + Proxy for the D-Bus daemon + + + + The non-NULL object path of this channel request + + + + As many as are known of the immutable D-Bus properties of this channel request, or %NULL if none are known + + + + + + Ensure that the known interfaces for TpChannelRequest have been set up. +This is done automatically when necessary, but for correct +overriding of library interfaces by local extensions, you should +call this function before calling +tp_proxy_or_subclass_hook_on_interface_add() with first argument +%TP_TYPE_CHANNEL_REQUEST. + + + + + + + + + + + + Emitted when the channel request succeeds. + + + + + + + The class of a #TpChannelRequest. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Signature of a callback passed to tp_channel_call_when_ready(), which +will be called exactly once, when the channel becomes ready or +invalid (whichever happens first) + + + + + + the channel (which may be in the middle of being disposed, if error is non-%NULL, error->domain is TP_DBUS_ERRORS and error->code is TP_DBUS_ERROR_PROXY_UNREFERENCED) + + + + %NULL if the channel is ready for use, or the error with which it was invalidated if it is now invalid + + + + whatever was passed to tp_channel_call_when_ready() + + + + + + + + + + + + + A proxy object for a Telepathy connection. There are no interesting +public struct fields. +(Changed in 0.7.12: the layout of the structure is visible, allowing +subclassing.) + + <!-- --> +fails or on invalid arguments + + a new connection proxy, or %NULL if unique-name resolution + + + + + a D-Bus daemon; may not be %NULL + + + + the well-known or unique name of the connection process; if well-known, this function will make a blocking call to the bus daemon to resolve the unique name. May be %NULL if @object_path is not, in which case a well-known name will be derived from @object_path. + + + + the object path of the connection process. May be %NULL if @bus_name is a well-known name, in which case the object path will be derived from @bus_name. + + + + + + Ensure that the known interfaces for TpConnection have been set up. +This is done automatically when necessary, but for correct +overriding of library interfaces by local extensions, you should +call this function before calling +tp_proxy_or_subclass_hook_on_interface_add() with first argument +%TP_TYPE_CONNECTION. + + + + + + Compares @p1 and @p2 like strcmp(). @p1 > @p2 means @p1 is more available +than @p2. +unknown > unset + + -1, 0 or 1, if @p1 is <, == or > than @p2. + + + + + a #TpConnectionPresenceType + + + + a #TpConnectionPresenceType + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + If @reason is not %NULL it is set to the reason why "status" changed to its +current value, or %TP_CONNECTION_STATUS_REASON_NONE_SPECIFIED if unknown. +don't know yet. + + This connection's status, or %TP_UNKNOWN_CONNECTION_STATUS if we + + + + + a TpConnectionStatusReason, or %NULL + + + + + + Return the %TP_HANDLE_TYPE_CONTACT handle of the local user on this +connection, or 0 if the self-handle is not known yet or the connection +has become invalid (the TpProxy::invalidated signal). +The returned handle is not necessarily valid forever (the +notify::self-handle signal will be emitted if it changes, which can happen +on protocols such as IRC). Construct a #TpContact object if you want to +track the local user's identifier in the protocol, or other information +like their presence status, over time. + + the value of the TpConnection:self-handle property + + + + + <!-- --> +#TpConnection:capabilities property + + the same #TpCapabilities as the + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Returns the same thing as the #TpConnection:connection-ready property. + + %TRUE if introspection has completed + + + + + If @self is connected and ready for use, return immediately. Otherwise, +call Connect() (unless @connect is %FALSE) and re-enter the main loop +until the connection becomes invalid, the connection connects successfully +and is introspected, or the main loop stored via @loop is cancelled. +%FALSE if the connection has become invalid. +or restructure your program in such a way as to avoid re-entering the +main loop. + + %TRUE if the connection is now connected and ready for use, + + + + + if %TRUE, call Connect() if it appears to be necessary; if %FALSE, rely on Connect() to be called by another client + + + + if not %NULL and %FALSE is returned, used to raise an error + + + + if not %NULL, a #GMainLoop is placed here while it is being run (so calling code can call g_main_loop_quit() to abort), and %NULL is placed here after the loop has been run + + + + + + If @self is ready for use or has been invalidated, call @callback +immediately, then return. Otherwise, arrange +for @callback to be called when @self either becomes ready for use +or becomes invalid. +Note that if the connection is not in state CONNECTED, the callback will +not be called until the connection either goes to state CONNECTED +or is invalidated (e.g. by going to state DISCONNECTED or by becoming +unreferenced). In particular, this method does not call Connect(). +Call tp_cli_connection_call_connect() too, if you want to do that. + + + + + + called when the connection becomes ready or invalidated, whichever happens first + + + + arbitrary user-supplied data passed to the callback + + + + + + If the object path of @connection is in the correct form, set +return FALSE. + + TRUE if the object path was correctly parsed, FALSE otherwise. + + + + + If not NULL, used to return the protocol of the connection + + + + If not NULL, used to return the connection manager name of the connection + + + + + + If the connection has disconnected, return the D-Bus error name with which +it disconnected (in particular, this is %TP_ERROR_STR_CANCELLED if it was +disconnected by a user request). +Otherwise, return %NULL, without altering @details. + + a D-Bus error name, or %NULL. + + + + + optionally used to return a map from string to #GValue, which must not be modified or destroyed by the caller + + + + + + + + + Hold (ensure a reference to) the given handles, if they are valid. +If they are valid, the callback will later be called with the given +handles; if not all of them are valid, the callback will be called with +an error. +This function, along with tp_connection_unref_handles(), +tp_connection_get_contact_attributes() and #TpContact, keeps a client-side +reference count of handles; you should not use the RequestHandles, +HoldHandles and GetContactAttributes D-Bus methods directly as well as these +functions. + + + + + + the timeout in milliseconds, or -1 to use the default + + + + the handle type + + + + the number of handles in @handles (must be at least 1) + + + + an array of handles + + + + + + called on success or failure (unless @weak_object has become unreferenced) + + + + arbitrary user-supplied data + + + + called to destroy @user_data after calling @callback, or when + + + + if not %NULL, an object to be weakly referenced: if it is destroyed, @callback will not be called + + + + + + Request the handles corresponding to the given identifiers, and if they +are valid, hold (ensure a reference to) the corresponding handles. +If they are valid, the callback will later be called with the given +handles; if not all of them are valid, the callback will be called with +an error. + + + + + + the timeout in milliseconds, or -1 to use the default + + + + the handle type + + + + an array of string identifiers for which handles are required, terminated by %NULL (must not be %NULL or empty) + + + + + + called on success or failure (unless @weak_object has become unreferenced) + + + + arbitrary user-supplied data + + + + called to destroy @user_data after calling @callback, or when + + + + if not %NULL, an object to be weakly referenced: if it is destroyed, @callback will not be called + + + + + + Release the reference to the handles in @handles that was obtained by +calling tp_connection_hold_handles() or tp_connection_request_handles(). +This function might release any references held by calling +tp_cli_connection_call_request_handles(), +tp_cli_connection_run_request_handles(), +tp_cli_connection_call_hold_handles(), +tp_cli_connection_run_hold_handles(), +tp_cli_connection_interface_contacts_call_get_contact_attributes() or +tp_cli_connection_interface_contacts_run_get_contact_attributes() directly. +Those functions should be avoided in favour of using #TpContact, +tp_connection_hold_handles(), tp_connection_request_handles() and +tp_connection_get_contact_attributes(), which along with this function +perform client-side reference counting of handles. +If @self has already become invalid, this function does nothing. + + + + + + a handle type + + + + the number of handles in @handles + + + + an array of @n_handles handles + + + + + + + + + + + + + Return (via a callback) any number of attributes of the given handles, and +if they are valid and @hold is TRUE, hold a reference to them. +This is a thin wrapper around the GetContactAttributes D-Bus method, and +should be used in preference to +tp_cli_connection_interface_contacts_call_get_contact_attributes(); mixing this +function, tp_connection_hold_handles(), tp_connection_unref_handles(), and +#TpContact with direct use of the RequestHandles, HoldHandles and +GetContactAttributes D-Bus methods is unwise, as #TpConnection and +#TpContact perform client-side reference counting of handles. +The #TpContact API provides a higher-level abstraction which should +usually be used instead. +handles that were valid. Invalid handles are simply omitted from the +parameter to the callback. +If @hold is %TRUE, the @callback is given one reference to each handle +that appears as a key in the callback's @attributes parameter. + + + + + + the timeout in milliseconds, or -1 to use the default + + + + the number of handles in @handles (must be at least 1) + + + + an array of handles + + + + + + a #GStrv of interfaces + + + + + + if %TRUE, the callback will hold one reference to each valid handle + + + + called on success or failure (unless @weak_object has become unreferenced) + + + + arbitrary user-supplied data + + + + called to destroy @user_data after calling @callback, or when + + + + if not %NULL, an object to be weakly referenced: if it is destroyed, @callback will not be called + + + + + + Requests to refresh the #TpContact:contact-info property on each contact from +cached locally. "notify::contact-info" will be emitted when the contact's +information are updated. +If %TP_CONTACT_FEATURE_CONTACT_INFO is not yet set on a contact, it will be +set before its property gets updated. + + + + + + The number of contacts in @contacts (must be at least 1) + + + + An array of #TpContact objects associated with @self + + + + + + + + Create a number of #TpContact objects and make asynchronous method calls +to hold their handles and ensure that all the features specified in +It is not an error to put features in @features even if the connection +manager doesn't support them - users of this method should have a static +list of features they would like to use if possible, and use it for all +connection managers. + + + + + + The number of handles in @handles (must be at least 1) + + + + An array of handles of type %TP_HANDLE_TYPE_CONTACT representing the desired contacts + + + + + + The number of features in @features (may be 0) + + + + An array of features that must be ready for use (if supported) before the callback is called (may be %NULL if @n_features is 0) + + + + + + A user callback to call when the contacts are ready + + + + Data to pass to the callback + + + + Called to destroy @user_data either after @callback has been called, or if the operation is cancelled + + + + An object to pass to the callback, which will be weakly referenced; if this object is destroyed, the operation will be cancelled + + + + + + Given several #TpContact objects, make asynchronous method calls +ensure that all the features specified in @features are ready for use +(if they are supported at all). +It is not an error to put features in @features even if the connection +manager doesn't support them - users of this method should have a static +list of features they would like to use if possible, and use it for all +connection managers. + + + + + + The number of contacts in @contacts (must be at least 1) + + + + An array of #TpContact objects associated with @self + + + + + + The number of features in @features (must be at least 1) + + + + An array of features that must be ready for use (if supported) before the callback is called + + + + + + A user callback to call when the contacts are ready + + + + Data to pass to the callback + + + + Called to destroy @user_data either after @callback has been called, or if the operation is cancelled + + + + An object to pass to the callback, which will be weakly referenced; if this object is destroyed, the operation will be cancelled + + + + + + Create a number of #TpContact objects and make asynchronous method calls +to obtain their handles and ensure that all the features specified in +It is not an error to put features in @features even if the connection +manager doesn't support them - users of this method should have a static +list of features they would like to use if possible, and use it for all +connection managers. + + + + + + The number of IDs in @ids (must be at least 1) + + + + An array of strings representing the desired contacts by their identifiers in the IM protocol (XMPP JIDs, SIP URIs, MSN Passports, AOL screen-names etc.) + + + + + + The number of features in @features (may be 0) + + + + An array of features that must be ready for use (if supported) before the callback is called (may be %NULL if @n_features is 0) + + + + + + A user callback to call when the contacts are ready + + + + Data to pass to the callback + + + + Called to destroy @user_data either after @callback has been called, or if the operation is cancelled + + + + An object to pass to the callback, which will be weakly referenced; if this object is destroyed, the operation will be cancelled + + + + + + The %TpCapabilities object representing the capabilities of this +connection, or NULL if we don't know yet. +To wait for valid capability information, call tp_proxy_prepare_async() +with the feature %TP_CONNECTION_FEATURE_CAPABILITIES. + + + + Initially %FALSE; changes to %TRUE when the connection has gone to +CONNECTED status, introspection has finished and it's ready for use. +By the time this property becomes %TRUE, any extra interfaces will +have been set up and the #TpProxy:interfaces property will have been +populated. +This is similar to %TP_CONNECTION_FEATURE_CONNECTED, except that once +it has changed to %TRUE, it remains %TRUE even if the connection has +been invalidated. + + + + The %TP_HANDLE_TYPE_CONTACT handle of the local user on this connection, +or 0 if we don't know yet or if the connection has become invalid. +To wait for a valid self-handle (and other properties), call +tp_proxy_prepare_async() with the feature +%TP_CONNECTION_FEATURE_CONNECTED. + + + + This connection's status, or %TP_UNKNOWN_CONNECTION_STATUS if we don't +know yet. +To wait for a valid status (and other properties), call +tp_proxy_prepare_async() with the feature %TP_CONNECTION_FEATURE_CORE. +Since version 0.11.3, the change to status +%TP_CONNECTION_STATUS_CONNECTED is delayed slightly, until introspection +of the connection has finished. + + + + To wait for a valid status (and other properties), call +tp_proxy_prepare_async() with the feature %TP_CONNECTION_FEATURE_CORE. +The reason why #TpConnection:status changed to its current value, +or TP_CONNECTION_STATUS_REASON_NONE_SPECIFIED if unknown. +know yet. + + + + + + + + + + + + + + + + + + The class of a #TpConnection. In addition to @parent_class there are four +pointers reserved for possible future use. +(Changed in 0.7.12: the layout of the structure is visible, allowing +subclassing.) + + + + + + + + + + + + + + + + + + Signature of a callback used to receive the result of +tp_connection_get_contacts_by_handle(). +If an unrecoverable error occurs (for instance, if @connection +becomes disconnected) the whole operation fails, and no contacts or +invalid handles are returned. +If some or even all of the @handles passed to +tp_connection_get_contacts_by_handle() were not valid, this is not +considered to be a failure. @error will be %NULL in this situation, +valid (possibly none of them), and @invalid will contain the handles +that were not valid. + + + + + + The connection + + + + The number of TpContact objects successfully created (one per valid handle), or 0 on unrecoverable errors + + + + An array of @n_contacts TpContact objects (this callback is not given a reference to any of these objects, and must call g_object_ref() on any that it will keep), or %NULL on unrecoverable errors + + + + + + The number of invalid handles that were passed to tp_connection_get_contacts_by_handle() (or on unrecoverable errors, the total number of handles that were given) + + + + An array of @n_failed handles that were passed to tp_connection_get_contacts_by_handle() but turned out to be invalid (or on unrecoverable errors, all the handles that were given) + + + + + + %NULL on success, or an unrecoverable error that caused everything to fail + + + + the @user_data that was passed to tp_connection_get_contacts_by_handle() + + + + the @weak_object that was passed to tp_connection_get_contacts_by_handle() + + + + + + Signature of a callback used to receive the result of +tp_connection_get_contacts_by_id(). +The normalized form of requested_ids[i] is +tp_contact_get_identifier (contacts[i]). +If some or even all of the @ids passed to +tp_connection_get_contacts_by_id() were not valid, this is not +considered to be a fatal error. @error will be %NULL in this situation, +valid (it may be empty), and @failed_id_errors will map the IDs +that were not valid to a corresponding #GError (if the connection manager +complies with the Telepathy spec, it will have domain %TP_ERRORS and code +%TP_ERROR_INVALID_HANDLE). +If an unrecoverable error occurs (for instance, if @connection +becomes disconnected) the whole operation fails, and no contacts +or requested IDs are returned. @failed_id_errors will contain all the IDs +that were requested, mapped to a corresponding #GError (either one +indicating that the ID was invalid, if that was determined before the +fatal error occurred, or a copy of @error). + + + + + + The connection + + + + The number of TpContact objects successfully created (one per valid ID), or 0 on unrecoverable errors + + + + An array of @n_contacts TpContact objects (this callback is not given a reference to any of these objects, and must call g_object_ref() on any that it will keep), or %NULL on unrecoverable errors + + + + + + An array of @n_contacts valid IDs (JIDs, SIP URIs etc.) that were passed to tp_connection_get_contacts_by_id(), in an order corresponding to @contacts, or %NULL on unrecoverable errors + + + + + + A hash table in which the keys are IDs and the values are errors (#GError) + + + + + + + %NULL on success, or an unrecoverable error that caused everything to fail + + + + the @user_data that was passed to tp_connection_get_contacts_by_id() + + + + the @weak_object that was passed to tp_connection_get_contacts_by_id() + + + + + + Signature of the callback called when tp_connection_hold_handles() succeeds +or fails. +On success, the caller has one reference to each handle in @handles, which +may be released later with tp_connection_unref_handles(). If not +released, the handles will remain valid until @connection becomes invalid +(signalled by #TpProxy::invalidated). +For convenience, the handle type and handles requested by the caller are +passed through to this callback on success, so the caller does not have to +include them in @user_data. + + + + + + the connection + + + + the handle type that was passed to tp_connection_hold_handles() + + + + the number of handles that were passed to tp_connection_hold_handles() on success, or 0 on failure + + + + a copy of the array of @n_handles handles that was passed to tp_connection_hold_handles() on success, or %NULL on failure + + + + %NULL on success, or an error on failure + + + + the same arbitrary pointer that was passed to tp_connection_hold_handles() + + + + the same object that was passed to tp_connection_hold_handles() + + + + + + A proxy object for a Telepathy connection manager. +This might represent a connection manager which is currently running +(in which case it can be introspected) or not (in which case its +capabilities can be read from .manager files in the filesystem). +Accordingly, this object never emits #TpProxy::invalidated unless all +references to it are discarded. +Various fields and methods on this object do not work until +%TP_CONNECTION_MANAGER_FEATURE_CORE is prepared. Use +tp_proxy_prepare_async() to wait for this to happen. +Note that the @protocols may be freed and reallocated (based on new +information) whenever the main loop is entered. Since 0.11.3, each protocol +struct can be copied with tp_connection_manager_protocol_copy() if a +private copy is needed. + + Convenience function to create a new connection manager proxy. If +its protocol and parameter information are required, you should call +tp_connection_manager_call_when_ready() on the result. +is set. + + a new reference to a connection manager proxy, or %NULL if @error + + + + + Proxy for the D-Bus daemon + + + + The connection manager name (such as "gabble") + + + + manager-file property, which may (and generally should) be %NULL. + + + + + + Check that the given string is a valid connection manager name, i.e. that +it consists entirely of ASCII letters, digits and underscores, and starts +with a letter. + + %TRUE if @name is valid + + + + + a possible connection manager name + + + + + + Check that the given string is a valid protocol name, i.e. that +it consists entirely of ASCII letters, digits and hyphen/minus, and starts +with a letter. + + %TRUE if @name is valid + + + + + a possible protocol name + + + + + + Ensure that the known interfaces for TpConnectionManager have been set up. +This is done automatically when necessary, but for correct +overriding of library interfaces by local extensions, you should +call this function before calling +tp_proxy_or_subclass_hook_on_interface_add() with first argument +%TP_TYPE_CONNECTION_MANAGER. + + + + + + + + + + + Attempt to run and introspect the connection manager, asynchronously. +Since 0.7.26 this function is not generally very useful, since +the connection manager will now be activated automatically if necessary. +If the CM was already running, do nothing and return %FALSE. +On success, emit #TpConnectionManager::activated when the CM appears +on the bus, and #TpConnectionManager::got-info when its capabilities +have been (re-)discovered. +On failure, emit #TpConnectionManager::exited without first emitting +activated. +if the connection manager was already running and no additional signals +will be emitted. + + %TRUE if activation was needed and is now in progress, %FALSE + + + + + Call the @callback from the main loop when information about @cm's +supported protocols and parameters has been retrieved. + + + + + + callback to call when information has been retrieved or on error + + + + arbitrary data to pass to the callback + + + + called to destroy @user_data + + + + object to reference weakly; if it is destroyed, @callback will not be called, but @destroy will still be called + + + + + + Return the internal name of this connection manager in the Telepathy +D-Bus API, e.g. "gabble" or "haze". This is often the name of the binary +without the "telepathy-" prefix. +The returned string is valid as long as @self is. Copy it with g_strdup() +if a longer lifetime is required. + + the #TpConnectionManager:connection-manager property + + + + + If protocol and parameter information has been obtained from the connection +manager or the cache in the .manager file, return %TRUE. Otherwise, +return %FALSE. +This may change from %FALSE to %TRUE at any time that the main loop is +running; the #GObject::notify signal is emitted for the +#TpConnectionManager:info-source property. +%TP_CM_INFO_SOURCE_NONE + + %TRUE, unless the #TpConnectionManager:info-source property is + + + + + Return %TRUE if this connection manager currently appears to be running. +This may change at any time that the main loop is running; the +#TpConnectionManager::activated and #TpConnectionManager::exited signals +are emitted. + + whether the connection manager is currently running + + + + + If protocol and parameter information has been obtained from the connection +manager, return %TP_CM_INFO_SOURCE_LIVE; if it has been obtained from the +cache in the .manager file, return %TP_CM_INFO_SOURCE_FILE. If this +information has not yet been obtained, or obtaining it failed, return +%TP_CM_INFO_SOURCE_NONE. +This may increase at any time that the main loop is running; the +#GObject::notify signal is emitted. + + the value of the #TpConnectionManager:info-source property + + + + + Returns a list of protocol names supported by this connection manager. +These are the internal protocol names used by the Telepathy specification +(e.g. "jabber" and "msn"), rather than user-visible names in any particular +locale. +If this function is called before the connection manager information has +been obtained, the result is always %NULL. Use +tp_connection_manager_call_when_ready() to wait for this. +The result is copied and must be freed by the caller, but it is not +necessarily still true after the main loop is re-entered. + + a #GStrv of protocol names + + + + + + + Return whether @protocol is supported by this connection manager. +If this function is called before the connection manager information has +been obtained, the result is always %FALSE. Use +tp_connection_manager_call_when_ready() to wait for this. + + %TRUE if this connection manager supports @protocol + + + + + the name of a protocol as defined in the Telepathy D-Bus API, e.g. "jabber" or "msn" + + + + + + Returns a structure representing a protocol, or %NULL if this connection +manager does not support the specified protocol. +Since 0.11.11, you can get a #GObject version with more +functionality by calling tp_connection_manager_get_protocol_object(). +If this function is called before the connection manager information has +been obtained, the result is always %NULL. Use +tp_connection_manager_call_when_ready() to wait for this. +The result is not necessarily valid after the main loop is re-entered. +Since 0.11.3, it can be copied with tp_connection_manager_protocol_copy() +if a permanently-valid copy is needed. + + a structure representing the protocol + + + + + the name of a protocol as defined in the Telepathy D-Bus API, e.g. "jabber" or "msn" + + + + + + Returns an object representing a protocol, or %NULL if this connection +manager does not support the specified protocol. +If this function is called before the connection manager information has +been obtained, the result is always %NULL. Use tp_proxy_prepare_async() +to wait for this. +The result should be referenced with g_object_ref() if it will be kept. + + an object representing the protocol, or %NULL + + + + + the name of a protocol as defined in the Telepathy D-Bus API, e.g. "jabber" or "msn" + + + + + + If %TRUE, always introspect the connection manager as it comes online, +even if we already have its info from a .manager file. Default %FALSE. + + + + The name of the connection manager, e.g. "gabble" (read-only). + + + + Where we got the current information on supported protocols +(a #TpCMInfoSource). +Since 0.7.26, the #GObject::notify signal is emitted for this +property. +(Note that this is of type %G_TYPE_UINT, not %TP_TYPE_CM_INFO_SOURCE, +for historical reasons.) + + + + The absolute path of the .manager file. If set to %NULL (the default), +the XDG data directories will be searched for a .manager file of the +correct name. +If set to the empty string, no .manager file will be read. + + + + + + + + + + + + + + + + + + + + + + + + + + + + Emitted when the connection manager's well-known name appears on the bus. + + + + + + Emitted when the connection manager's well-known name disappears from +the bus or when activation fails. + + + + + + Emitted when the connection manager's capabilities have been discovered. +This signal is not very helpful. Since 0.7.26, using +tp_connection_manager_call_when_ready() instead is recommended. + + + + + + a #TpCMInfoSource + + + + + + + The class of a #TpConnectionManager. + + + + + + + + + Signature of the callback supplied to tp_list_connection_managers(). +Since 0.11.3, tp_list_connection_managers() will +wait for %TP_CONNECTION_MANAGER_FEATURE_CORE to be prepared on each +connection manager passed to @callback, unless an error occurred while +launching that connection manager. + + + + + + %NULL-terminated array of #TpConnectionManager (the objects will be unreferenced and the array will be freed after the callback returns, so the callback must reference any CMs it stores a pointer to), or %NULL on error + + + + + + number of connection managers in @cms (not including the final %NULL) + + + + %NULL on success, or an error that occurred + + + + user-supplied data + + + + user-supplied weakly referenced object + + + + + + Structure representing a connection manager parameter. + + + + + + + + + + + + + + + + + <!-- --> + + the name of the parameter + + + + + <!-- --> + + the D-Bus signature of the parameter + + + + + <!-- --> + + %TRUE if the parameter is normally required + + + + + <!-- --> +(by setting the special "register" parameter to %TRUE) + + %TRUE if the parameter is required when registering a new account + + + + + <!-- --> + + %TRUE if the parameter's value is a password or other secret + + + + + <!-- --> + + %TRUE if the parameter represents a D-Bus property of the same name + + + + + Get the default value for this parameter, if there is one. If %FALSE is +returned, @value is left uninitialized. + + %TRUE if there is a default value + + + + + pointer to an unset (all zeroes) #GValue into which the default's type and value are written + + + + + + <!-- Returns: says it all --> +tp_connection_manager_param_free() + + a newly (slice) allocated #TpConnectionManagerParam, free with + + + + + Frees @param, which was copied with tp_connection_manager_param_copy(). + + + + + + + + + Structure representing a protocol supported by a connection manager. +Note that the size of this structure may change, so its size must not be +relied on. + + + + + + + + + + + Returns a list of parameter names supported by this connection manager +for this protocol. +The result is copied and must be freed by the caller with g_strfreev(). + + a #GStrv of protocol names + + + + + + + <!-- no more to say --> + + %TRUE if @protocol supports the parameter @param. + + + + + a parameter name + + + + + + <!-- no more to say --> +supported + + a structure representing the parameter @param, or %NULL if not + + + + + a parameter name + + + + + + Return whether a new account can be registered on this protocol, by setting +the special "register" parameter to %TRUE. + + %TRUE if @protocol supports the parameter "register" + + + + + <!-- Returns: says it all --> +tp_connection_manager_protocol_free() + + a newly (slice) allocated #TpConnectionManagerProtocol, free with + + + + + Frees @proto, which was copied with tp_connection_manager_protocol_copy(). + + + + + + + Called as the result of tp_connection_manager_call_when_ready(). If the +connection manager's protocol and parameter information could be retrieved, +non-%NULL and @cm is not ready. + + + + + + a connection manager + + + + %NULL on success, or the reason why tp_connection_manager_is_ready() would return %FALSE + + + + the @user_data passed to tp_connection_manager_call_when_ready() + + + + the @weak_object passed to tp_connection_manager_call_when_ready() + + + + + + Signature of the callback supplied to tp_list_connection_names(). + + + + + + %NULL-terminated array of @n connection bus names, or %NULL on error + + + + + + number of names (not including the final %NULL), or 0 on error + + + + %NULL-terminated array of @n connection manager names (e.g. "gabble") in the same order as @names, or %NULL on error + + + + + + %NULL-terminated array of same order as @names, or %NULL on error + + + + + + %NULL on success, or an error that occurred + + + + user-supplied data + + + + user-supplied weakly referenced object + + + + + + + + + + + + + + + + + + + Signature of the callback called when tp_connection_request_handles() +succeeds or fails. +On success, the caller has one reference to each handle in @handles, which +may be released later with tp_connection_unref_handles(). If not +released, the handles will remain valid until @connection becomes invalid +(signalled by TpProxy::invalidated). +For convenience, the handle type and IDs requested by the caller are +passed through to this callback, so the caller does not have to include +them in @user_data. + + + + + + the connection + + + + the handle type that was passed to tp_connection_request_handles() + + + + the number of IDs that were passed to tp_connection_request_handles() on success, or 0 on failure + + + + the @n_handles handles corresponding to @ids, in the same order, or %NULL on failure + + + + + + a copy of the array of @n_handles IDs that was passed to tp_connection_request_handles() on success, or %NULL on failure + + + + + + %NULL on success, or an error on failure + + + + the same arbitrary pointer that was passed to tp_connection_request_handles() + + + + the same object that was passed to tp_connection_request_handles() + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Signature of a callback used to receive the result of +tp_connection_upgrade_contacts(). +If an unrecoverable error occurs (for instance, if @connection becomes +disconnected) it is indicated by @error, but the contacts in @contacts +are still provided. + + + + + + The connection + + + + The number of TpContact objects for which an upgrade was requested + + + + An array of @n_contacts TpContact objects (this callback is not given an extra reference to any of these objects, and must call g_object_ref() on any that it will keep) + + + + An unrecoverable error, or %NULL if the connection remains valid + + + + the @user_data that was passed to tp_connection_upgrade_contacts() + + + + the @weak_object that was passed to tp_connection_upgrade_contacts() + + + + + + Signature of a callback passed to tp_connection_call_when_ready(), which +will be called exactly once, when the connection becomes ready or +invalid (whichever happens first) + + + + + + the connection (which may be in the middle of being disposed, if error is non-%NULL, error->domain is TP_DBUS_ERRORS and error->code is TP_DBUS_ERROR_PROXY_UNREFERENCED) + + + + %NULL if the connection is ready for use, or the error with which it was invalidated if it is now invalid + + + + whatever was passed to tp_connection_call_when_ready() + + + + + + An object representing a contact on a #TpConnection. +Contact objects support tracking a number of attributes of contacts, as +described by the #TpContactFeature flags. Features can be specified when +instantiating contact objects (with tp_connection_get_contacts_by_id() or +tp_connection_get_contacts_by_handle()), or added to an existing contact +object with tp_connection_upgrade_contacts(). For example, a client wishing +to keep track of a contact's alias would set #TP_CONTACT_FEATURE_ALIAS, and +then listen for the "notify::alias" signal, emitted whenever the +#TpContact:alias property changes. +Note that releasing a #TpContact object might release handle references +held by calling tp_cli_connection_call_request_handles(), +tp_cli_connection_run_request_handles(), +tp_cli_connection_call_hold_handles(), +tp_cli_connection_run_hold_handles(), +tp_cli_connection_interface_contacts_call_get_contact_attributes() or +tp_cli_connection_interface_contacts_run_get_contact_attributes() directly. +Those functions should be avoided in favour of using #TpContact, +tp_connection_hold_handles(), tp_connection_request_handles() and +tp_connection_get_contact_attributes(). + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <!-- nothing more to say --> +(it must be referenced with g_object_ref if it must remain valid +longer than the contact) + + connection + + + + + Return the contact's handle, which is of type %TP_HANDLE_TYPE_CONTACT, +or 0 if the #TpContact:connection has become invalid. +This handle is referenced using the Telepathy D-Bus API and remains +referenced for as long as @self exists and the +#TpContact:connection remains valid. +However, the caller of this function does not gain an additional reference +to the handle. + + the same handle as the #TpContact:handle property + + + + + Return the contact's identifier. This remains valid for as long as @self +exists; if the caller requires a string that will persist for longer than +that, it must be copied with g_strdup(). + + the same non-%NULL identifier as the #TpContact:identifier property + + + + + <!-- --> + + %TRUE if @self has been set up to track the feature @feature + + + + + a desired feature + + + + + + Return the contact's alias. This remains valid until the main loop +is re-entered; if the caller requires a string that will persist for +longer than that, it must be copied with g_strdup(). + + the same non-%NULL alias as the #TpContact:alias + + + + + Return the contact's avatar token. This remains valid until the main loop +is re-entered; if the caller requires a string that will persist for +longer than that, it must be copied with g_strdup(). +(possibly %NULL) + + the same token as the #TpContact:avatar-token property + + + + + If this object has been set up to track %TP_CONTACT_FEATURE_PRESENCE +and the underlying connection supports either the Presence or +SimplePresence interfaces, return the type of the contact's presence. +Otherwise, return %TP_CONNECTION_PRESENCE_TYPE_UNSET. + + the same presence type as the #TpContact:presence-type property + + + + + Return the name of the contact's presence status, or an empty string. +This remains valid until the main loop is re-entered; if the caller +requires a string that will persist for longer than that, it must be +copied with g_strdup(). +property + + the same non-%NULL status name as the #TpContact:presence-status + + + + + Return the contact's user-defined status message, or an empty string. +This remains valid until the main loop is re-entered; if the caller +requires a string that will persist for longer than that, it must be +copied with g_strdup(). +property + + the same non-%NULL message as the #TpContact:presence-message + + + + + Return the contact's user-defined location or %NULL if the location is +unspecified. +This remains valid until the main loop is re-entered; if the caller +requires a hash table that will persist for longer than that, it must be +reffed with g_hash_table_ref(). +#GHashTable (or %NULL) as the #TpContact:location property + + the same + + + + + + + + <!-- --> +#TpContact:capabilities property + + the same #TpCapabilities (or %NULL) as the + + + + + Return the contact's avatar file. This remains valid until the main loop +is re-entered; if the caller requires a #GFile that will persist for +longer than that, it must be reffed with g_object_ref(). +(possibly %NULL) + + avatar-file property + + + + + Return the contact's avatar MIME type. This remains valid until the main loop +is re-entered; if the caller requires a string that will persist for +longer than that, it must be copied with g_strdup(). +(possibly %NULL) + + the same MIME type as the #TpContact:avatar-mime-type property + + + + + Returns a newly allocated #GList of contact's vCard fields. The list must be +freed with g_list_free() after used. +Note that the #TpContactInfoField<!-- -->s in the returned #GList are not +dupped before returning from this function. One could copy every item in the +list using tp_contact_info_field_copy(). +Same as the #TpContact:contact-info property. +a #GList of #TpContactInfoField, or %NULL if the feature is not yet +prepared. + + + + + + + + Requests an asynchronous request of the contact info of @self. When +the operation is finished, @callback will be called. You can then call +tp_contact_request_contact_info_finish() to get the result of the operation. +If the operation is successful, the #TpContact:contact-info property will be +updated (emitting "notify::contact-info" signal) before @callback is called. +That means you can call tp_contact_get_contact_info() to get the new vCard +inside @callback. +Note that requesting the vCard from the network can take significant time, so +a bigger timeout is set on the underlying D-Bus call. @cancellable can be +cancelled to free resources used in the D-Bus call if the caller is no longer +interested in the vCard. +If %TP_CONTACT_FEATURE_CONTACT_INFO is not yet set on @self, it will be +set before its property gets updated and @callback is called. + + + + + + optional #GCancellable object, %NULL to ignore. + + + + a callback to call when the request is satisfied + + + + data to pass to @callback + + + + + + Finishes an async request of @self info. If the operation was successful, +the contact's vCard can be accessed using tp_contact_get_contact_info(). + + %TRUE if the request call was successful, otherwise %FALSE + + + + + a #GAsyncResult + + + + + + The contact's alias if available, falling back to their +#TpContact:identifier if no alias is available or if the #TpContact has +not been set up to track %TP_CONTACT_FEATURE_ALIAS. +This alias may have been supplied by the contact themselves, or by the +local user, so it does not necessarily unambiguously identify the contact. +However, it is suitable for use as a main "display name" for the contact. +This is never %NULL for contact objects that are visible to library-user +code. + + + + #GFile to the latest cached avatar image, or %NULL if this contact has +no avatar, or if the avatar data is not yet retrieved. +When #TpContact:avatar-token changes, this property is not updated +immediately, but will be updated when the new avatar data is retrieved and +stored in cache. Until then, the file will keep its old value of the latest +cached avatar image. +This is set to %NULL if %TP_CONTACT_FEATURE_AVATAR_DATA is not set on this +contact. Note that setting %TP_CONTACT_FEATURE_AVATAR_DATA will also +implicitly set %TP_CONTACT_FEATURE_AVATAR_TOKEN. + + + + MIME type of the latest cached avatar image, or %NULL if this contact has +no avatar, or if the avatar data is not yet retrieved. +This is always the MIME type of the image given by #TpContact:avatar-file. + + + + An opaque string representing state of the contact's avatar (depending on +the protocol, this might be a hash, a timestamp or something else), or +an empty string if there is no avatar. +This may be %NULL if it is not known whether this contact has an avatar +or not (either for network protocol reasons, or because this #TpContact +has not been set up to track %TP_CONTACT_FEATURE_AVATAR_TOKEN). + + + + The capabilities supported by this contact. If the underlying Connection +doesn't support the ContactCapabilities interface, this property will +contain the capabilities supported by the connection. +Use tp_capabilities_is_specific_to_contact() to check if the capabilities +are specific to this #TpContact or not. +This may be %NULL if this #TpContact object has not been set up to track +%TP_CONTACT_FEATURE_CAPABILITIES. + + + + The #TpConnection to which this contact belongs. + + + + A #GList of #TpContactInfoField representing the vCard of this contact. +This is set to %NULL if %TP_CONTACT_FEATURE_CONTACT_INFO is not set on this +contact. + + + + The contact's handle in the Telepathy D-Bus API, a handle of type +%TP_HANDLE_TYPE_CONTACT representing the string +given by #TpContact:identifier. +This handle is referenced using the Telepathy D-Bus API and remains +referenced for as long as the #TpContact exists and the +#TpContact:connection remains valid. +However, getting this property does not cause an additional reference +to the handle to be held. +If the #TpContact:connection becomes invalid, this property is no longer +meaningful and will be set to 0. + + + + The contact's identifier in the instant messaging protocol (e.g. +XMPP JID, SIP URI, AOL screenname or IRC nick - whatever the underlying +protocol uses to identify a user). +This is never %NULL for contact objects that are visible to library-user +code. + + + + If this contact has set a user-defined status message, that message; +if not, an empty string (which user interfaces may replace with a +localized form of the #TpContact:presence-status or +#TpContact:presence-type). +This may be an empty string even if the contact has set a message, +if this #TpContact object has not been set up to track +%TP_CONTACT_FEATURE_PRESENCE. It is never %NULL. + + + + A string representing the presence status of this contact. This may be +a well-known string from the Telepathy specification, like "available", +or a connection-manager-specific string, like "out-to-lunch". +This may be an empty string if this #TpContact object has not been set up +to track %TP_CONTACT_FEATURE_PRESENCE. It is never %NULL. + + + + The #TpConnectionPresenceType representing the type of presence status +for this contact. +This is provided so even unknown values for #TpContact:presence-status +can be classified into their fundamental types. +This may be %TP_CONNECTION_PRESENCE_TYPE_UNSET if this #TpContact +has not been set up to track %TP_CONTACT_FEATURE_PRESENCE. + + + + Emitted when this contact's presence changes. + + + + + + The new value of #TpContact:presence-type + + + + The new value of #TpContact:presence-status + + + + The new value of #TpContact:presence-message + + + + + + + + + Enumeration representing the features a #TpContact can optionally support. +When requesting a #TpContact, library users specify the desired features; +the #TpContact code will only initialize state for those features, to +avoid unwanted D-Bus round-trips and signal connections. +Since 0.11.5, there is a corresponding #GEnumClass type, +%TP_TYPE_CONTACT_FEATURE. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Structure to be included in the instance structure of objects that +use this mixin. Initialize it with tp_contacts_mixin_init(). +There are no public fields. + + + + + + Structure to be included in the class structure of objects that +use this mixin. Initialize it with tp_contacts_mixin_class_init(). +There are no public fields. + + + + + + + + This function is called to supply contact attributes pertaining to +a particular interface, for a list of contacts. +All the handles in @contacts are guaranteed to be valid and +referenced. + + + + + + An object implementing the Contacts interface with this mixin + + + + The contact handles for which attributes are requested + + + + + + hash of handle => hash of attributes, containing all the contacts in the contacts array + + + + + + + + A subclass of #TpProxy that represents the D-Bus daemon. It mainly provides +functionality to manage well-known names on the bus. + + Returns a proxy for signals and method calls on a particular bus +connection. +Use tp_dbus_daemon_dup() instead if you just want a connection to the +starter or session bus (which is almost always the right thing for +Telepathy). +to which @connection is connected + + a new proxy for signals and method calls on the bus daemon + + + + + a connection to D-Bus + + + + + + Returns a proxy for signals and method calls on the D-Bus daemon on which +this process was activated (if it was launched by D-Bus service +activation), or the session bus (otherwise). +If it is not possible to connect to the appropriate bus, raise an error +and return %NULL. +The returned #TpDBusDaemon is cached; the same #TpDBusDaemon object will +be returned by this function repeatedly, as long as at least one reference +exists. +daemon, or %NULL + + a reference to a proxy for signals and method calls on the bus + + + + + Ensure that the known interfaces for TpDBusDaemon have been set up. +This is done automatically when necessary, but for correct +overriding of library interfaces by local extensions, you should +call this function before calling +tp_proxy_or_subclass_hook_on_interface_add() with first argument +%TP_TYPE_DBUS_DAEMON. + + + + + + Arrange for @callback to be called with the owner of @name as soon as +possible (which might even be before this function returns!), then +again every time the ownership of @name changes. +If multiple watches are registered for the same @name, they will be called +in the order they were registered. + + + + + + The name whose ownership is to be watched + + + + Callback to call when the ownership is discovered or changes + + + + Arbitrary data to pass to @callback + + + + Called to destroy @user_data when the name owner watch is cancelled due to tp_dbus_daemon_cancel_name_owner_watch() + + + + + + If there was a previous call to tp_dbus_daemon_watch_name_owner() +with exactly the given @name, @callback and @user_data, remove it. +If more than one watch matching the details provided was active, remove +only the most recently added one. + + %TRUE if there was such a watch, %FALSE otherwise + + + + + the name that was being watched + + + + the callback that was called + + + + the user data that was provided + + + + + + Claim the given well-known name without queueing, allowing replacement +or replacing an existing name-owner. This makes a synchronous call to the +bus daemon. +an error occurred. + + %TRUE if @well_known_name was claimed, or %FALSE and sets @error if + + + + + a well-known name to acquire + + + + whether to consider it to be a success if this process already owns the name + + + + + + Release the given well-known name. This makes a synchronous call to the bus +daemon. +if an error occurred. + + %TRUE if @well_known_name was released, or %FALSE and sets @error + + + + + a well-known name owned by this process to release + + + + + + <!-- Returns: is enough --> +as long as this #TpDBusDaemon is + + the unique name of this connection to the bus, which is valid for + + + + + Call the ListNames method on the bus daemon, asynchronously. The @callback +will be called from the main loop with a list of all the names (either +unique or well-known) that exist on the bus. +In versions of telepathy-glib that have it, this should be preferred +instead of calling tp_cli_dbus_daemon_call_list_names(), since that +function will result in wakeups for every NameOwnerChanged signal. + + + + + + timeout for the call + + + + callback to be called on success or failure; must not be %NULL + + + + opaque user-supplied data to pass to the callback + + + + if not %NULL, called with @user_data as argument after the call has succeeded or failed, or after @weak_object has been destroyed + + + + if not %NULL, a GObject which will be weakly referenced; if it is destroyed, @callback will not be called at all + + + + + + Call the ListActivatableNames method on the bus daemon, asynchronously. +The @callback will be called from the main loop with a list of all the +well-known names that are available for service-activation on the bus. +In versions of telepathy-glib that have it, this should be preferred +instead of calling tp_cli_dbus_daemon_call_list_activatable_names(), since +that function will result in wakeups for every NameOwnerChanged signal. + + + + + + timeout for the call + + + + callback to be called on success or failure; must not be %NULL + + + + opaque user-supplied data to pass to the callback + + + + if not %NULL, called with @user_data as argument after the call has succeeded or failed, or after @weak_object has been destroyed + + + + if not %NULL, a GObject which will be weakly referenced; if it is destroyed, @callback will not be called at all + + + + + + Export @object at @object_path. This is a convenience wrapper around +dbus_g_connection_register_g_object(), and behaves similarly. + + + + + + an object path + + + + an object to export + + + + + + Stop exporting @object on D-Bus. This is a convenience wrapper around +dbus_g_connection_unregister_g_object(), and behaves similarly. + + + + + + an object previously exported with tp_dbus_daemon_register_object() + + + + + + + The class of #TpDBusDaemon. + + + Signature of a callback for functions that list bus names. + + + + + + object representing a connection to a bus + + + + constant %NULL-terminated array of constant strings representing bus names, or %NULL on error + + + + + + the error that occurred, or %NULL on success + + + + the same user data that was passed to tp_dbus_daemon_list_names or tp_dbus_daemon_list_activatable_names + + + + the same object that was passed to tp_dbus_daemon_list_names or tp_dbus_daemon_list_activatable_names + + + + + + The signature of the callback called by tp_dbus_daemon_watch_name_owner(). + + + + + + The D-Bus daemon + + + + The name whose ownership has changed or been discovered + + + + The unique name that now owns @name + + + + Arbitrary user-supplied data as passed to tp_dbus_daemon_watch_name_owner() + + + + + + + + #GError codes for use with the %TP_DBUS_ERRORS domain. +Since 0.11.5, there is a corresponding #GEnumClass type, +%TP_TYPE_DBUS_ERROR. + + + + + + + + + + + + + + A set of flags indicating which D-Bus bus names are acceptable. +They can be combined with the bitwise-or operator to accept multiple +types. %TP_DBUS_NAME_TYPE_NOT_BUS_DAEMON and %TP_DBUS_NAME_TYPE_ANY are +the bitwise-or of other appropriate types, for convenience. +Since 0.11.5, there is a corresponding #GFlagsClass type, +%TP_TYPE_DBUS_NAME_TYPE. + + + + + + + + + + Bitfield representing allowed access to a property. +Since 0.11.5, there is a corresponding #GFlagsClass type, +%TP_TYPE_DBUS_PROPERTIES_MIXIN_FLAGS. + + + + + Signature of a callback used to get the value of a property. +For simplicity, in this mixin we don't allow getting a property to fail; +implementations must always be prepared to return *something*. + + + + + + The exported object with the properties + + + + A quark representing the D-Bus interface name + + + + A quark representing the D-Bus property name + + + + A GValue pre-initialized to the right type, into which to put the value + + + + The getter_data from the #TpDBusPropertiesMixinPropImpl + + + + + + Structure representing an implementation of an interface's properties. +In addition to the documented fields, there are four pointers which must +be initialized to %NULL. +This structure must either be statically allocated, or duplicated and never +freed, so it always remains valid. + + + + + + + + + + + + + + + + + + + + + + + + + + + Semi-abstract description of an interface. Each service GInterface that +has properties must have one of these attached to it via +tp_svc_interface_set_dbus_properties_info() in its base_init function; +service GInterfaces that do not have properties may have one of these +with no properties. +This structure must either be statically allocated, or duplicated and never +freed, so it always remains valid. +In addition to the documented members, there are two private pointers +for future expansion, which must always be initialized to %NULL. + + + + + + + + + + + + + + + Structure representing an implementation of a property. +In addition to the documented fields, there are three pointers which must +be initialized to %NULL. +This structure must either be statically allocated, or duplicated and never +freed, so it always remains valid. + + + + + + + + + + + + + + + + + + + + + Semi-abstract description of a property, as attached to a service +GInterface. This structure must either be statically allocated, or +duplicated and never freed, so it always remains valid. +In addition to the documented members, there are two private pointers +for future expansion, which must always be initialized to %NULL. + + + + + + + + + + + + + + + + + + + + + Signature of a callback used to get the value of a property. + + %TRUE on success, %FALSE (setting @error) on failure + + + + + The exported object with the properties + + + + A quark representing the D-Bus interface name + + + + A quark representing the D-Bus property name + + + + The new value for the property + + + + The setter_data from the #TpDBusPropertiesMixinPropImpl + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Enumerated type representing the Telepathy D-Bus errors. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Structure representing the group mixin as used in a particular class. +To be placed in the implementation's instance structure. +All fields should be considered read-only. + + + + + + + + + + + + + + + + + + + + + + + + Signature of the callback used to add a member to the group. +This should perform the necessary operations in the underlying IM protocol +to cause the member to be added. + + %TRUE on success, %FALSE with @error set on error + + + + + An object implementing the group interface with this mixin + + + + The handle of the contact to be added + + + + A message to be sent if the protocol supports it + + + + + + Structure representing the group mixin as used in a particular class. +To be placed in the implementation's class structure. +Initialize this with tp_group_mixin_class_init(). +All fields should be considered read-only. + + + + + + + + + + + + + + + + Signature of the callback used to remove a member from the group. +This should perform the necessary operations in the underlying IM protocol +to cause the member to be removed. + + %TRUE on success, %FALSE with @error set on error + + + + + An object implementing the group interface with this mixin + + + + The handle of the contact to be removed + + + + A message to be sent if the protocol supports it + + + + + + Signature of the callback used to remove a member from the group. +This should perform the necessary operations in the underlying IM protocol +to cause the member to be removed. +Set this with tp_group_mixin_class_set_remove_with_reason_func(), . + + %TRUE on success, %FALSE with @error set on error + + + + + An object implementing the group interface with this mixin + + + + The handle of the contact to be removed + + + + A message to be sent if the protocol supports it + + + + A #TpChannelGroupChangeReason indicating the reason + + + + + + Data structure representing the context of a Handler.HandleChannels() +call. + + Called by #TpBaseClientClassAddDispatchOperationImpl when it's done so +the D-Bus method can return. + + + + + + Called by #TpBaseClientClassAddDispatchOperationImpl to raise a D-Bus error. + + + + + + the error to return from the method + + + + + + Called by #TpBaseClientClassAddDispatchOperationImpl to indicate that it +implements the method in an async way. The caller must take a reference +to the #TpHandleChannelsContext before calling this function, and +is responsible for calling either +tp_handle_channels_context_accept() or +tp_handle_channels_context_fail() later. + + + + + + Return any extra information that accompanied this request to handle +channels (the Handler_Info argument from the HandleChannels D-Bus method). +Well-known keys for this map will be defined by the Telepathy D-Bus +Interface Specification; at the time of writing, none have been defined. +The returned hash table is only valid for as long as @self is. +extra handler information, in a form suitable for use with +tp_asv_get_string() etc. + + extensible + + + + + + + + A #TpAccount object representing the Account of the DispatchOperation +that has been passed to HandleChannels. +Read-only except during construction. +This property can't be %NULL. + + + + A #GPtrArray containing #TpChannel objects representing the channels +that have been passed to HandleChannels. +Read-only except during construction. +This property can't be %NULL. + + + + A #TpConnection object representing the Connection of the DispatchOperation +that has been passed to HandleChannels. +Read-only except during construction. +This property can't be %NULL. + + + + The #DBusGMethodInvocation representing the D-Bus context of the +HandleChannels call. +Can only be written during construction. + + + + A #GPtrArray containing #TpChannelRequest objects representing the +requests that have been passed to HandleChannels. +Read-only except during construction. +This property can't be %NULL. + + + + The time at which user action occurred, or one of the +special values %TP_USER_ACTION_TIME_NOT_USER_ACTION or +%TP_USER_ACTION_TIME_CURRENT_TIME +(see #TpAccountChannelRequest:user-action-time for details) +Read-only except during construction. + + + + Emitted when tp_handle_channels_context_accept has been called on @self. + + + + + + + The class of a #TpHandleChannelsContext. + + + + + Dummy typedef representing any implementation of this interface. + + + + + + The class of a handle repository interface. The structure layout is +only available within telepathy-glib, for the handle repository +implementations' benefit. + + + A set of handles. This is similar to a #TpIntSet (and implemented using +one), but adding a handle to the set also references it. + + Creates a new #TpHandleSet + + A new #TpHandleSet + + + + + #TpHandleRepoIface that holds the handles to be reffed by this set + + + + + + Creates a new #TpHandleSet + + A new #TpHandleSet + + + + + #TpHandleRepoIface that holds the handles to be reffed by this set + + + + array of handles to be referenced by this set + + + + + + + + Creates a new #TpHandleSet with the same contents as @other. + + a new set + + + + + Remove every handle from @set, releasing the references it holds. + + + + + + Delete a #TpHandleSet and unreference any handles that it holds + + + + + + <!--Returns: says it all, this comment is just to keep gtkdoc happy--> + + the underlying #TpIntSet used by this #TpHandleSet + + + + + Add a handle to a #TpHandleSet, and reference it in the attached +#TpHandleRepoIface + + + + + + handle to add + + + + + + Remove a handle from a #TpHandleSet, and unreference it in the attached +#TpHandleRepoIface + + FALSE if the handle was invalid, or was not in this set + + + + + handle to remove + + + + + + Check if the handle is in this set + + TRUE if the handle is in this set + + + + + handle to check + + + + + + Call @func(@set, @handle, @userdata) for each handle in @set. + + + + + + A callback + + + + Arbitrary data to pass to @func + + + + + + Return the same thing as <code>(tp_handle_set_size (set) == 0)</code>, +but calculated more efficiently. + + %TRUE if the set has no members + + + + + <!--no further documentation needed--> + + the number of handles in this set + + + + + <!--Returns: says it all, this comment is just to keep gtkdoc happy--> +the handles in the set + + a newly-allocated GArray of guint representing + + + + + + + Add a set of handles to a handle set, referencing those which are not +already members. The TpIntSet returned must be freed with tp_intset_destroy. + + the handles which were added (some subset of @add) + + + + + a #TpIntSet of handles to add + + + + + + Remove a set of handles from a handle set, dereferencing those which are +members. The TpIntSet returned must be freed with tp_intset_destroy. +If you want to be able to inspect the handles in the set returned, +you must ensure that this function does not cause their refcount to drop +to zero, for instance by temporarily taking a reference to all the +handles in @remove, calling this function, doing something with the +result and discarding the temporary references. +of @remove). + + the handles which were dereferenced and removed (some subset + + + + + a #TpIntSet of handles to remove + + + + + + + Signature of the callback used to iterate over the handle set in +tp_handle_set_foreach(). + + + + + + The set of handles on which tp_handle_set_foreach() was called + + + + A handle in the set + + + + Arbitrary user data as supplied to tp_handle_set_foreach() + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A callback function acting on unsigned integers. + + + + + + The relevant integer + + + + Opaque user data + + + + + + Opaque type representing a set of unsigned integers. + + Allocate a new integer set. + + a new, empty integer set to be destroyed with tp_intset_destroy() + + + + + Allocate a new integer set containing the given integer. +tp_intset_destroy() + + a new integer set containing @element, to be destroyed with + + + + + integer to add to a new set + + + + + + Free all memory used by the set. + + + + + + Unset every integer in the set. + + + + + + Add an integer into a TpIntSet. + + + + + + integer to add + + + + + + Remove an integer from a TpIntSet + + %TRUE if @element was previously in @set + + + + + integer to add + + + + + + Tests if @element is a member of @set + + %TRUE if @element is in @set + + + + + integer to test + + + + + + Call @func(element, @userdata) for each element of @set, in order. + + + + + + @TpIntFunc to use to iterate the set + + + + user data to pass to each call of @func + + + + + + <!--Returns: says it all--> +the same integers as @set. + + a GArray of guint (which must be freed by the caller) containing + + + + + + + Return the same thing as <code>(tp_intset_size (set) == 0)</code>, +but calculated more efficiently. + + %TRUE if @set is empty + + + + + <!--Returns: says it all--> + + The number of integers in @set + + + + + <!--Returns: says it all--> + + %TRUE if @left and @right contain the same bits + + + + + A set of integers + + + + + + <!--Returns: says it all--> +tp_intset_destroy() by the caller + + A set containing the same integers as @orig, to be freed with + + + + + <!--Returns: says it all--> +(analogous to the bitwise operation left & right), to be freed with +tp_intset_destroy() by the caller + + The set of those integers which are in both @left and @right + + + + + The right operand + + + + + + <!--Returns: says it all--> +(analogous to the bitwise operation left | right), to be freed with +tp_intset_destroy() by the caller + + The set of those integers which are in either @left or @right + + + + + The right operand + + + + + + <!--Returns: says it all--> +(analogous to the bitwise operation left & (~right)), to be freed with +tp_intset_destroy() by the caller + + The set of those integers which are in @left and not in @right + + + + + The right operand + + + + + + <!--Returns: says it all--> +but not both (analogous to the bitwise operation left ^ right), to be freed +with tp_intset_destroy() by the caller + + The set of those integers which are in either @left or @right + + + + + The right operand + + + + + + <!--Returns: says it all--> +numbers in @set in a human-readable format + + a string which the caller must free with g_free, listing the + + + + + + An opaque structure representing iteration in undefined order over a set of +integers. Must be initialized with tp_intset_fast_iter_init(). +Usage is similar to #GHashTableIter: +<informalexample><programlisting> +TpIntSetFastIter iter; +guint element; +tp_intset_fast_iter_init (&amp;iter, intset); +while (tp_intset_fast_iter_next (&amp;iter, &amp;element)) +{ +printf ("%u is in the intset\n", element); +} +</programlisting></informalexample> + + + + + + + + A structure representing iteration over a set of integers. Must be +initialized with either TP_INTSET_ITER_INIT() or tp_intset_iter_init(). +Since 0.11.6, consider using #TpIntSetFastIter if iteration in +numerical order is not required. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Data structure representing the context of a Observer.ObserveChannels() +call. + + Called by #TpBaseClientClassObserveChannelsImpl when it's done so the D-Bus +method can return. + + + + + + Called by #TpBaseClientClassObserveChannelsImpl to raise a D-Bus error. + + + + + + the error to return from the method + + + + + + Called by #TpBaseClientClassObserveChannelsImpl to indicate that it +implements the method in an async way. The caller must take a reference +to the #TpObserveChannelsContext before calling this function, and +is responsible for calling either tp_observe_channels_context_accept() or +tp_observe_channels_context_fail() later. + + + + + + If this call to ObserveChannels is for channels that already +existed before this observer started (because the observer used +tp_base_client_set_observer_recover()), return %TRUE. +In most cases, the result is %FALSE. + + %TRUE for pre-existing channels, %FALSE for new channels + + + + + A #TpAccount object representing the Account that has been passed to +ObserveChannels. +Read-only except during construction. +This property can't be %NULL. + + + + A #GPtrArray containing #TpChannel objects representing the channels +that have been passed to ObserveChannels. +Read-only except during construction. +This property can't be %NULL. + + + + A #TpConnection object representing the Connection that has been passed +to ObserveChannels. +Read-only except during construction. +This property can't be %NULL. + + + + The #DBusGMethodInvocation representing the D-Bus context of the +ObserveChannels call. +Can only be written during construction. + + + + A #TpChannelDispatchOperation object representing the +ChannelDispatchOperation that has been passed to ObserveChannels, +or %NULL if none has been passed. +Read-only except during construction. + + + + A #GPtrArray containing #TpChannelRequest objects representing the +requests that have been passed to ObserveChannels. +Read-only except during construction. +This property can't be %NULL. + + + + + The class of a #TpObserveChannelsContext. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Structure to be included in the instance structure of objects that +use this mixin. Initialize it with tp_presence_mixin_init(). +There are no public fields. + + + + + + Structure to be included in the class structure of objects that +use this mixin. Initialize it with tp_presence_mixin_class_init(). +All fields should be considered read-only. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Signature of the callback used to get the stored presence status of +contacts. The returned hash table should have contact handles mapped to +their respective presence statuses in #TpPresenceStatus structs. +The returned hash table will be freed with g_hash_table_destroy. The +callback is responsible for ensuring that this does any cleanup that +may be necessary. + + The contact presence on success, %NULL with error set on error + + + + + An object with this mixin. + + + + An array of #TpHandle for the contacts to get presence status for + + + + + + + + + + Signature of the callback used to commit changes to the user's own presence +status in SetStatuses. It is also used in ClearStatus and RemoveStatus to +reset the user's own status back to the "default" one with a %NULL status +argument. +The optional_arguments hash table in @status, if not NULL, will have been +filtered so it only contains recognised parameters, so the callback +need not (and cannot) check for unrecognised parameters. However, the +types of the parameters are not currently checked, so the callback is +responsible for doing so. +The callback is responsible for emitting PresenceUpdate, if appropriate, +by calling tp_presence_mixin_emit_presence_update(). + + %TRUE if the operation was successful, %FALSE if not. + + + + + An object with this mixin. + + + + The status to set, or NULL for whatever the protocol defines as a "default" status + + + + + + Signature of the callback used to determine if a given status is currently +available to be set on the connection. +When implementing the +org.freedesktop.Telepathy.Connection.Interface.SimplePresence interface +this can be called while DISCONNECTED to determine which statuses can be set +in that state. + + %TRUE if the status is available, %FALSE if not. + + + + + An object implementing the presence interface with this mixin + + + + The index of the presence status in the provided supported presence statuses array + + + + + + Structure representing a presence status. +In addition to the fields documented here, there are two gpointer fields +which must currently be %NULL. A meaning may be defined for these in a +future version of telepathy-glib. + + + + + + + + + + + + + + Construct a presence status structure. You should free the returned +structure with #tp_presence_status_free. + + A pointer to the newly allocated presence status structure. + + + + + Index of the presence status in the provided supported presence statuses array + + + + Optional arguments for the presence statuses. Can be NULL if there are no optional arguments. The presence status object makes a copy of the hashtable, so you should free the original. + + + + + + Deallocate all resources associated with a presence status structure. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A base class for connection managers' protocols. + + <!-- --> + + a new protocol proxy, or %NULL on invalid arguments + + + + + proxy for the D-Bus daemon; may not be %NULL + + + + the connection manager name (such as "gabble") + + + + the protocol name (such as "jabber") + + + + the immutable D-Bus properties for this protocol + + + + + + Ensure that the known interfaces for TpProtocol have been set up. +This is done automatically when necessary, but for correct +overriding of library interfaces by local extensions, you should +call this function before calling +tp_proxy_or_subclass_hook_on_interface_add() with first argument +%TP_TYPE_PROTOCOL. + + + + + + + + + + + + + + + + Return the same thing as the protocol-name property, for convenient use +in C code. The returned string is valid for as long as @self exists. + + the value of the #TpProtocol:protocol-name property + + + + + <!-- no more to say --> +supported + + a structure representing the parameter @param, or %NULL if not + + + + + a parameter name + + + + + + <!-- no more to say --> + + %TRUE if @self supports the parameter @param. + + + + + a parameter name + + + + + + Return whether a new account can be registered on this protocol, by setting +the special "register" parameter to %TRUE. + + %TRUE if @protocol supports the parameter "register" + + + + + Returns a list of parameter names supported by this connection manager +for this protocol. +The result is copied and must be freed by the caller with g_strfreev(). +#TpProtocol:param-names + + a copy of + + + + + + + <!-- --> + + the value of #TpProtocol:vcard-field + + + + + <!-- --> + + the non-%NULL, non-empty value of #TpProtocol:english-name + + + + + <!-- --> + + the non-%NULL, non-empty value of #TpProtocol:icon-name + + + + + <!-- --> +(if non-%NULL) if it will be kept + + capabilities, which must be referenced + + + + + The classes of channel that can be requested from connections to this +protocol, or %NULL if this is unknown or the %TP_PROTOCOL_FEATURE_CORE +feature has not been prepared. + + + + The name of the protocol in a form suitable for display to users, +such as "AIM" or "Yahoo!", or a string based on #TpProtocol:protocol-name +(currently constructed by putting the first character in title case, +but this is not guaranteed) if no better name is available or the +%TP_PROTOCOL_FEATURE_CORE feature has not been prepared. +This is effectively in the C locale (international English); user +interfaces requiring a localized protocol name should look one up in their +own message catalog based on either #TpProtocol:protocol-name or +#TpProtocol:english-name, but should use this English version as a +fallback if no translated version can be found. + + + + The name of an icon in the system's icon theme. If none was supplied +by the Protocol, or the %TP_PROTOCOL_FEATURE_CORE feature has not been +prepared, a default is used; currently, this is "im-" plus +#TpProtocol:name. + + + + A list of parameter names supported by this connection manager +for this protocol, or %NULL if %TP_PROTOCOL_FEATURE_PARAMETERS has not +been prepared. + + + + The machine-readable name of the protocol, taken from the Telepathy +D-Bus Interface Specification, such as "jabber" or "local-xmpp". + + + + The most common vCard field used for this protocol's contact +identifiers, normalized to lower case, or %NULL if there is no such field +or the %TP_PROTOCOL_FEATURE_CORE feature has not been prepared. + + + + + + + + + + + The class of a #TpProtocol. + + + + + + + Structure representing a Telepathy client-side proxy. + + Return whether this proxy is known to have a particular interface, by its +quark ID. This is equivalent to using g_quark_to_string() followed by +tp_proxy_has_interface(), but more efficient. + + %TRUE if this proxy implements the given interface. + + + + + quark representing the D-Bus interface required + + + + + + Return whether this proxy is known to have a particular interface. In +versions older than 0.11.11, this was a macro wrapper around +tp_proxy_has_interface_by_id(). +For objects that discover their interfaces at runtime, this method will +indicate that interfaces are missing until they are known to be present. +In subclasses that define features for use with tp_proxy_prepare_async(), +successfully preparing the "core" feature for that subclass (such as +%TP_CHANNEL_FEATURE_CORE or %TP_CONNECTION_FEATURE_CORE) implies that the +interfaces are known. + + %TRUE if this proxy implements the given interface. + + + + + the D-Bus interface required, as a string + + + + + + <!-- --> +this object, if any; always %NULL if this object is itself a +#TpDBusDaemon. The caller must reference the returned object with +g_object_ref() if it will be kept. + + a borrowed reference to the #TpDBusDaemon for + + + + + <!-- --> +The caller must reference the returned pointer with +dbus_g_connection_ref() if it will be kept. + + a borrowed reference to the D-Bus connection used by this object. + + + + + <!-- --> +must copy the string with g_strdup() if it will be kept. + + the bus name of the application exporting the object. The caller + + + + + <!-- --> +string with g_strdup() if it will be kept. + + the object path of the remote object. The caller must copy the + + + + + <!-- --> +invalidated. The caller must copy the error, for instance with +g_error_copy(), if it will be kept. + + the reason this proxy was invalidated, or %NULL if has not been + + + + + Convert a D-Bus error name into a GError as if it was returned by a method +on this proxy. This method is useful when D-Bus error names are emitted in +signals, such as Connection.ConnectionError and +Group.MembersChangedDetailed. + + + + + + a D-Bus error name, for instance from the callback for tp_cli_connection_connect_to_connection_error() + + + + a debug message that accompanied the error name, or %NULL + + + + + + Return %TRUE if @feature has been prepared successfully, or %FALSE if +available on this object at all. +(For instance, if @feature is %TP_CHANNEL_FEATURE_CHAT_STATES and @self +is a #TpChannel in a protocol that doesn't actually implement chat states, +or is not a #TpChannel at all, then this method will return %FALSE.) +To prepare features, call tp_proxy_prepare_async(). + + %TRUE if @feature has been prepared successfully + + + + + a feature that is supported by @self's class + + + + + + #TpProxy itself does not support any features, but subclasses like +#TpChannel can support features, which can either be core functionality like +%TP_CHANNEL_FEATURE_CORE, or extended functionality like +%TP_CHANNEL_FEATURE_CHAT_STATES. +Proxy instances start with no features prepared. When features are +requested via tp_proxy_prepare_async(), the proxy starts to do the +necessary setup to use those features. +tp_proxy_prepare_async() always waits for core functionality of the proxy's +instance, because %TP_CHANNEL_FEATURE_CORE is core functionality of a +#TpChannel, +|[ +TpChannel *channel = ...; +tp_proxy_prepare_async (channel, NULL, NULL, callback, user_data); +]| +is equivalent to +|[ +TpChannel *channel = ...; +GQuark features[] = { TP_CHANNEL_FEATURE_CORE, 0 }; +tp_proxy_prepare_async (channel, features, callback, user_data); +]| +If a feature represents core functionality (like %TP_CHANNEL_FEATURE_CORE), +failure to prepare it will result in tp_proxy_prepare_async() finishing +is no longer useful, it will also emit #TpProxy::invalidated. +If a feature represents non-essential functionality +(like %TP_CHANNEL_FEATURE_CHAT_STATES), or is not supported by the object +at all, then failure to prepare it is not fatal: +tp_proxy_prepare_async() will complete successfully, but +tp_proxy_is_prepared() will still return %FALSE for the feature, and +accessor methods for the feature will typically return a dummy value. +Some #TpProxy subclasses automatically start to prepare their core +features when instantiated, and features will sometimes become prepared as +a side-effect of other actions, but to ensure that a feature is present you +must generally call tp_proxy_prepare_async() and wait for the result. + + + + + + an array of desired features, ending with 0; %NULL is equivalent to an array containing only 0 + + + + + + if not %NULL, called exactly once, when the features have all been prepared or failed to prepare, or after the proxy is invalidated + + + + user data for @callback + + + + + + Check for error in a call to tp_proxy_prepare_async(). An error here +generally indicates that either the asynchronous call was cancelled, +or @self has emitted #TpProxy::invalidated. +or was cancelled + + %FALSE (setting @error) if tp_proxy_prepare_async() failed + + + + + the result passed to the callback of tp_proxy_prepare_async() + + + + + + The D-Bus bus name for this object. Read-only except during construction. + + + + The D-Bus daemon for this object (this object itself, if it is a +TpDBusDaemon). Read-only except during construction. + + + + Known D-Bus interface names for this object. + + + + The D-Bus object path for this object. Read-only except during +construction. + + + + + + + + + + + + + + + + + + + + + + + Emitted when this proxy has gained an interface. It is not guaranteed +to be emitted immediately, but will be emitted before the interface is +tp_proxy_borrow_interface_by_id(), any signal is connected, or any +method is called). +The intended use is to call dbus_g_proxy_add_signals(). This signal +should only be used by TpProy implementations + + + + + + the GQuark representing the interface + + + + the dbus-glib proxy representing the interface + + + + + + Emitted when this proxy has been become invalid for +whatever reason. Any more specific signal should be emitted first. + + + + + + domain of a GError indicating why this proxy was invalidated + + + + error code of a GError indicating why this proxy was invalidated + + + + a message associated with the error + + + + + + + The class of a #TpProxy. The struct fields not documented here are reserved. + + + + + + + + + + + + + + + + + + + + + + + + + + Structure representing a feature. This is currently opaque to code outside +telepathy-glib itself. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Data structure representing a simple Approver implementation. + + Convenient function to create a new #TpSimpleApprover instance. +If @dbus is not the result of tp_dbus_daemon_dup(), you should call +tp_simple_approver_new_with_am() instead, so that #TpAccount, +#TpConnection and #TpContact instances can be shared between modules. + + a new #TpSimpleApprover + + + + + a #TpDBusDaemon object, may not be %NULL + + + + the name of the Approver (see #TpBaseClient:name: for details) + + + + the value of the TpBaseClient:uniquify-name: property + + + + the function called when ApproverChannels is called + + + + arbitrary user-supplied data passed to @callback + + + + called with the user_data as argument, when the #TpSimpleApprover is destroyed + + + + + + Convenient function to create a new #TpSimpleApprover instance with a +specified #TpAccountManager. +It is not necessary to prepare any features on @account_manager before +calling this function. + + a new #TpSimpleApprover + + + + + an account manager, which may not be %NULL + + + + the name of the Approver (see #TpBaseClient:name: for details) + + + + the value of the TpBaseClient:uniquify-name: property + + + + the function called when ApproverChannels is called + + + + arbitrary user-supplied data passed to @callback + + + + called with the user_data as argument, when the #TpSimpleApprover is destroyed + + + + + + The TpSimpleApproverAddDispatchOperationImpl callback implementing the +ApproverChannels D-Bus method. +This property can't be %NULL. + + + + The #GDestroyNotify function called to free the user-data pointer when +the #TpSimpleApprover is destroyed. + + + + The user-data pointer passed to the callback implementing the +ApproverChannels D-Bus method. + + + + + + + + + + + Signature of the implementation of the AddDispatchOperation method. +This function must call either tp_add_dispatch_operation_context_accept(), +tp_add_dispatch_operation_context_delay() or +tp_add_dispatch_operation_context_fail() on @context before it returns. + + + + + + a #TpSimpleApprover instance + + + + a #TpAccount having %TP_ACCOUNT_FEATURE_CORE prepared if possible + + + + a #TpConnection having %TP_CONNECTION_FEATURE_CORE prepared if possible + + + + a #GList of #TpChannel, all having %TP_CHANNEL_FEATURE_CORE prepared + + + + + + a #TpChannelDispatchOperation or %NULL; the dispatch_operation is not guaranteed to be prepared + + + + a #TpAddDispatchOperationContext representing the context of this D-Bus call + + + + arbitrary user-supplied data passed to tp_simple_approver_new() + + + + + + The class of a #TpSimpleApprover. + + + + + + + + + + + + + Data structure representing a simple Handler implementation. + + Convenient function to create a new #TpSimpleHandler instance. +If @dbus is not the result of tp_dbus_daemon_dup(), you should call +tp_simple_handler_new_with_am() instead, so that #TpAccount, +#TpConnection and #TpContact instances can be shared between modules. + + a new #TpSimpleHandler + + + + + a #TpDBusDaemon object, may not be %NULL + + + + the value of the Handler.BypassApproval D-Bus property (see tp_base_client_set_handler_bypass_approval() for details) + + + + if this handler implement Requests (see tp_base_client_set_handler_request_notification() for details) + + + + the name of the Handler (see #TpBaseClient:name: for details) + + + + the value of the TpBaseClient:uniquify-name: property + + + + the function called when HandleChannels is called + + + + arbitrary user-supplied data passed to @callback + + + + called with the user_data as argument, when the #TpSimpleHandler is destroyed + + + + + + Convenient function to create a new #TpSimpleHandler instance with a +specified #TpAccountManager. +It is not necessary to prepare any features on @account_manager before +calling this function. + + a new #TpSimpleHandler + + + + + an account manager, which may not be %NULL + + + + the value of the Handler.BypassApproval D-Bus property (see tp_base_client_set_handler_bypass_approval() for details) + + + + if this handler implement Requests (see tp_base_client_set_handler_request_notification() for details) + + + + the name of the Handler (see #TpBaseClient:name: for details) + + + + the value of the TpBaseClient:uniquify-name: property + + + + the function called when HandleChannels is called + + + + arbitrary user-supplied data passed to @callback + + + + called with the user_data as argument, when the #TpSimpleHandler is destroyed + + + + + + The value of the Handler.BypassApproval D-Bus property. + + + + The TpSimpleHandlerHandleChannelsImpl callback implementing the +HandleChannels D-Bus method. +This property can't be %NULL. + + + + The #GDestroyNotify function called to free the user-data pointer when +the #TpSimpleHandler is destroyed. + + + + If %TRUE, the Handler will implement the Requests interface + + + + The user-data pointer passed to the callback implementing the +HandleChannels D-Bus method. + + + + + + + + + + + The class of a #TpSimpleHandler. + + + + + + + + + + + Signature of the implementation of the HandleChannels method. +This function must call either tp_handle_channels_context_accept(), +tp_handle_channels_context_delay() or tp_handle_channels_context_fail() +on @context before it returns. + + + + + + a #TpSimpleHandler instance + + + + a #TpAccount having %TP_ACCOUNT_FEATURE_CORE prepared if possible + + + + a #TpConnection having %TP_CONNECTION_FEATURE_CORE prepared if possible + + + + a #GList of #TpChannel, all having %TP_CHANNEL_FEATURE_CORE prepared if possible + + + + + + a #GList of #TpChannelRequest having their object-path defined but are not guaranteed to be prepared. + + + + + + the time at which user action occurred, or one of the special values %TP_USER_ACTION_TIME_NOT_USER_ACTION or %TP_USER_ACTION_TIME_CURRENT_TIME (see #TpAccountChannelRequest:user-action-time for details) + + + + a #TpHandleChannelsContext representing the context of this D-Bus call + + + + arbitrary user-supplied data passed to tp_simple_handler_new() + + + + + + + + Data structure representing a simple Observer implementation. + + Convenient function to create a new #TpSimpleObserver instance. +If @dbus is not the result of tp_dbus_daemon_dup(), you should call +tp_simple_observer_new_with_am() instead, so that #TpAccount, +#TpConnection and #TpContact instances can be shared between modules. + + a new #TpSimpleObserver + + + + + a #TpDBusDaemon object, may not be %NULL + + + + the value of the Observer.Recover D-Bus property + + + + the name of the Observer (see #TpBaseClient:name: for details) + + + + the value of the TpBaseClient:uniquify-name: property + + + + the function called when ObserverChannels is called + + + + arbitrary user-supplied data passed to @callback + + + + called with the user_data as argument, when the #TpSimpleObserver is destroyed + + + + + + Convenient function to create a new #TpSimpleObserver instance with a +specified #TpAccountManager. +It is not necessary to prepare any features on @account_manager before +calling this function. + + a new #TpSimpleObserver + + + + + an account manager, which may not be %NULL + + + + the value of the Observer.Recover D-Bus property + + + + the name of the Observer (see #TpBaseClient:name: for details) + + + + the value of the TpBaseClient:uniquify-name: property + + + + the function called when ObserverChannels is called + + + + arbitrary user-supplied data passed to @callback + + + + called with the user_data as argument, when the #TpSimpleObserver is destroyed + + + + + + The TpSimpleObserverObserveChannelsImpl callback implementing the +ObserverChannels D-Bus method. +This property can't be %NULL. + + + + The #GDestroyNotify function called to free the user-data pointer when +the #TpSimpleObserver is destroyed. + + + + The value of the Observer.Recover D-Bus property. + + + + The user-data pointer passed to the callback implementing the +ObserverChannels D-Bus method. + + + + + + + + + + + The class of a #TpSimpleObserver. + + + + + + + + + + + Signature of the implementation of the ObserveChannels method. +This function must call either tp_observe_channels_context_accept(), +tp_observe_channels_context_delay() or tp_observe_channels_context_fail() +on @context before it returns. + + + + + + a #TpSimpleObserver instance + + + + a #TpAccount having %TP_ACCOUNT_FEATURE_CORE prepared if possible + + + + a #TpConnection having %TP_CONNECTION_FEATURE_CORE prepared if possible + + + + a #GList of #TpChannel, all having %TP_CHANNEL_FEATURE_CORE prepared if possible + + + + + + a #TpChannelDispatchOperation or %NULL; the dispatch_operation is not guaranteed to be prepared + + + + a #GList of #TpChannelRequest, all having their object-path defined but are not guaranteed to be prepared. + + + + + + a #TpObserveChannelsContext representing the context of this D-Bus call + + + + arbitrary user-supplied data passed to tp_simple_observer_new() + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Dumps the a{sv} map to the debugging console. +The purpose of this function is give the programmer the ability to easily +inspect the contents of an a{sv} map for debugging purposes. + + + + + + a #GHashTable created with tp_asv_new() + + + + + + If a value for @key in @asv is present and boolean, return it, +and set *@valid to %TRUE if @valid is not %NULL. +Otherwise return %FALSE, and set *@valid to %FALSE if @valid is not %NULL. + + a boolean value for @key + + + + + A GHashTable where the keys are strings and the values are GValues + + + + + + + The key to look up + + + + Either %NULL, or a location to store %TRUE if the key actually exists and has a boolean value + + + + + + If a value for @key in @asv is present and is of the desired type, +return it. +Otherwise return %NULL. +The returned value is not copied, and is only valid as long as the value +for @key in @asv is not removed or altered. Copy it, for instance with +g_boxed_copy(), if you need to keep it for longer. + + the value of @key, or %NULL + + + + + A GHashTable where the keys are strings and the values are GValues + + + + + + + The key to look up + + + + The type that the key's value should have, which must be derived from %G_TYPE_BOXED + + + + + + If a value for @key in @asv is present and is an array of bytes +(its GType is %DBUS_TYPE_G_UCHAR_ARRAY), return it. +Otherwise return %NULL. +The returned value is not copied, and is only valid as long as the value +for @key in @asv is not removed or altered. Copy it with +g_boxed_copy (DBUS_TYPE_G_UCHAR_ARRAY, ...) if you need to keep +it for longer. + + the string value of @key, or %NULL + + + + + + + A GHashTable where the keys are strings and the values are GValues + + + + + + + The key to look up + + + + + + If a value for @key in @asv is present and has any numeric type used by +dbus-glib (guchar, gint, guint, gint64, guint64 or gdouble), +return it as a double, and if @valid is not %NULL, set *@valid to %TRUE. +Otherwise, return 0.0, and if @valid is not %NULL, set *@valid to %FALSE. + + the double precision floating-point value of @key, or 0.0 + + + + + A GHashTable where the keys are strings and the values are GValues + + + + + + + The key to look up + + + + Either %NULL, or a location in which to store %TRUE on success or %FALSE on failure + + + + + + If a value for @key in @asv is present, has an integer type used by +dbus-glib (guchar, gint, guint, gint64 or guint64) and fits in the +range of a gint32, return it, and if @valid is not %NULL, set *@valid to +%TRUE. +Otherwise, return 0, and if @valid is not %NULL, set *@valid to %FALSE. + + the 32-bit signed integer value of @key, or 0 + + + + + A GHashTable where the keys are strings and the values are GValues + + + + + + + The key to look up + + + + Either %NULL, or a location in which to store %TRUE on success or %FALSE on failure + + + + + + If a value for @key in @asv is present, has an integer type used by +dbus-glib (guchar, gint, guint, gint64 or guint64) and fits in the +range of a gint64, return it, and if @valid is not %NULL, set *@valid to +%TRUE. +Otherwise, return 0, and if @valid is not %NULL, set *@valid to %FALSE. + + the 64-bit signed integer value of @key, or 0 + + + + + A GHashTable where the keys are strings and the values are GValues + + + + + + + The key to look up + + + + Either %NULL, or a location in which to store %TRUE on success or %FALSE on failure + + + + + + If a value for @key in @asv is present and is an object path, return it. +Otherwise return %NULL. +The returned value is not copied, and is only valid as long as the value +for @key in @asv is not removed or altered. Copy it with g_strdup() if you +need to keep it for longer. +%NULL + + the object-path value of @key, or + + + + + A GHashTable where the keys are strings and the values are GValues + + + + + + + The key to look up + + + + + + If a value for @key in @asv is present and is a string, return it. +Otherwise return %NULL. +The returned value is not copied, and is only valid as long as the value +for @key in @asv is not removed or altered. Copy it with g_strdup() if you +need to keep it for longer. + + the string value of @key, or %NULL + + + + + A GHashTable where the keys are strings and the values are GValues + + + + + + + The key to look up + + + + + + If a value for @key in @asv is present and is an array of strings (strv), +return it. +Otherwise return %NULL. +The returned value is not copied, and is only valid as long as the value +for @key in @asv is not removed or altered. Copy it with g_strdupv() if you +need to keep it for longer. +value of @key, or %NULL + + the %NULL-terminated string-array + + + + + + + A GHashTable where the keys are strings and the values are GValues + + + + + + + The key to look up + + + + + + If a value for @key in @asv is present, has an integer type used by +dbus-glib (guchar, gint, guint, gint64 or guint64) and fits in the +range of a guint32, return it, and if @valid is not %NULL, set *@valid to +%TRUE. +Otherwise, return 0, and if @valid is not %NULL, set *@valid to %FALSE. + + the 32-bit unsigned integer value of @key, or 0 + + + + + A GHashTable where the keys are strings and the values are GValues + + + + + + + The key to look up + + + + Either %NULL, or a location in which to store %TRUE on success or %FALSE on failure + + + + + + If a value for @key in @asv is present, has an integer type used by +dbus-glib (guchar, gint, guint, gint64 or guint64) and is non-negative, +return it, and if @valid is not %NULL, set *@valid to %TRUE. +Otherwise, return 0, and if @valid is not %NULL, set *@valid to %FALSE. + + the 64-bit unsigned integer value of @key, or 0 + + + + + A GHashTable where the keys are strings and the values are GValues + + + + + + + The key to look up + + + + Either %NULL, or a location in which to store %TRUE on success or %FALSE on failure + + + + + + If a value for @key in @asv is present, return it. Otherwise return %NULL. +The returned value is not copied, and is only valid as long as the value +for @key in @asv is not removed or altered. Copy it with (for instance) +g_value_copy() if you need to keep it for longer. + + the value of @key, or %NULL + + + + + A GHashTable where the keys are strings and the values are GValues + + + + The key to look up + + + + + + Creates a new #GHashTable for use with a{sv} maps, containing the values +passed in as parameters. +The #GHashTable is synonymous with: +<informalexample><programlisting> +GHashTable *asv = g_hash_table_new_full (g_str_hash, g_str_equal, +NULL, (GDestroyNotify) tp_g_value_slice_free); +</programlisting></informalexample> +Followed by manual insertion of each of the parameters. +Parameters are stored in slice-allocated GValues and should be set using +tp_asv_set_*() and retrieved using tp_asv_get_*(). +tp_g_value_slice_new() and tp_g_value_slice_dup() may also be used to insert +into the map if required. +<informalexample><programlisting> +g_hash_table_insert (parameters, "account", +tp_g_value_slice_new_string ("bob@mcbadgers.com")); +</programlisting></informalexample> +<example> +<title>Using tp_asv_new()</title> +<programlisting> +GHashTable *parameters = tp_asv_new ( +"answer", G_TYPE_INT, 42, +"question", G_TYPE_STRING, "We just don't know", +NULL);</programlisting> +</example> +Allocated values will be automatically free'd when overwritten, removed or +the hash table destroyed with g_hash_table_destroy(). +g_hash_table_destroy(). + + a newly created #GHashTable for storing a{sv} maps, free with + + + + + the name of the first key (or NULL) + + + + + + + + + + Stores the value in the map. +The value is stored as a slice-allocated GValue. + + + + + + a #GHashTable created with tp_asv_new() + + + + string key + + + + value + + + + + + Stores the value in the map. +The value is stored as a slice-allocated GValue. + + + + + + a #GHashTable created with tp_asv_new() + + + + string key + + + + the type of the key's value, which must be derived from %G_TYPE_BOXED + + + + value + + + + + + Stores the value in the map. +The value is stored as a slice-allocated GValue. + + + + + + a #GHashTable created with tp_asv_new() + + + + string key + + + + the number of bytes to copy + + + + location of an array of bytes to be copied (this may be %NULL if and only if length is 0) + + + + + + Stores the value in the map. +The value is stored as a slice-allocated GValue. + + + + + + a #GHashTable created with tp_asv_new() + + + + string key + + + + value + + + + + + Stores the value in the map. +The value is stored as a slice-allocated GValue. + + + + + + a #GHashTable created with tp_asv_new() + + + + string key + + + + value + + + + + + Stores the value in the map. +The value is stored as a slice-allocated GValue. + + + + + + a #GHashTable created with tp_asv_new() + + + + string key + + + + value + + + + + + Stores the value in the map. +The value is stored as a slice-allocated GValue. +tp_g_value_slice_new_object_path() + + + + + + a #GHashTable created with tp_asv_new() + + + + string key + + + + value + + + + + + Stores the value in the map. +The value is stored as a slice-allocated GValue. +tp_g_value_slice_new_static_boxed() + + + + + + a #GHashTable created with tp_asv_new() + + + + string key + + + + the type of the key's value, which must be derived from %G_TYPE_BOXED + + + + value + + + + + + Stores the value in the map. +The value is stored as a slice-allocated GValue. +tp_g_value_slice_new_static_object_path() + + + + + + a #GHashTable created with tp_asv_new() + + + + string key + + + + value + + + + + + Stores the value in the map. +The value is stored as a slice-allocated GValue. +tp_g_value_slice_new_static_string() + + + + + + a #GHashTable created with tp_asv_new() + + + + string key + + + + value + + + + + + Stores the value in the map. +The value is stored as a slice-allocated GValue. + + + + + + a #GHashTable created with tp_asv_new() + + + + string key + + + + value + + + + + + Stores the value in the map. +The value is stored as a slice-allocated GValue. + + + + + + a #GHashTable created with tp_asv_new() + + + + string key + + + + a %NULL-terminated string array + + + + + + + + Stores the value in the map. +The value is stored as a slice-allocated GValue. + + + + + + a #GHashTable created with tp_asv_new() + + + + string key + + + + value + + + + + + Stores the value in the map. +The value is stored as a slice-allocated GValue. + + + + + + a #GHashTable created with tp_asv_new() + + + + string key + + + + value + + + + + + Stores the value in the map. +The value is stored as a slice-allocated GValue. + + + + + + a #GHashTable created with tp_asv_new() + + + + string key + + + + the type of the key's value, which must be derived from %G_TYPE_BOXED + + + + value + + + + + + Stores the value in the map. +The value is stored as a slice-allocated GValue. + + + + + + a #GHashTable created with tp_asv_new() + + + + string key + + + + a non-NULL #GArray of %guchar, ownership of which will be taken by the #GValue + + + + + + + + Stores the value in the map. +The value is stored as a slice-allocated GValue. +tp_g_value_slice_new_take_object_path() + + + + + + a #GHashTable created with tp_asv_new() + + + + string key + + + + value + + + + + + Stores the value in the map. +The value is stored as a slice-allocated GValue. +tp_g_value_slice_new_take_string() + + + + + + a #GHashTable created with tp_asv_new() + + + + string key + + + + value + + + + + + Declare that the given interface has contact attributes which can be added +to the attributes hash using the filler function. All the handles in the +handle array passed to the filler function are guaranteed to be valid and +referenced. + + + + + + An instance of the implementation that uses this mixin + + + + Name of the interface that has ContactAttributes + + + + Contact attribute filler function + + + + + + <!--no documentation beyond Returns: needed--> + + the quark used for storing mixin offset on a GObjectClass + + + + + Initialize the contacts mixin. Should be called from the implementation's +class_init function like so: +<informalexample><programlisting> +tp_contacts_mixin_class_init ((GObjectClass *) klass, +G_STRUCT_OFFSET (SomeObjectClass, contacts_mixin)); +</programlisting></informalexample> + + + + + + The class of the implementation that uses this mixin + + + + The byte offset of the TpContactsMixinClass within the class structure + + + + + + Free resources held by the contacts mixin. + + + + + + An object with this mixin. + + + + + + <!--no documentation beyond Returns: needed--> + + the quark used for storing mixin offset on a GObject + + + + + Fill in the vtable entries needed to implement the contacts interface +using this mixin. This function should usually be called via +G_IMPLEMENT_INTERFACE. + + + + + + A pointer to the #TpSvcConnectionInterfaceContacts in an object class + + + + Ignored + + + + + + Initialize the contacts mixin. Should be called from the implementation's +instance init function like so: +<informalexample><programlisting> +tp_contacts_mixin_init ((GObject *) self, +G_STRUCT_OFFSET (SomeObject, contacts_mixin)); +</programlisting></informalexample> + + + + + + An instance of the implementation that uses this mixin + + + + The byte offset of the TpContactsMixin within the object structure + + + + + + Utility function to set attribute for handle to value in the attributes hash +as passed to a TpContactsMixinFillContactAttributesFunc. + + + + + + contacts attribute hash as passed to TpContactsMixinFillContactAttributesFunc + + + + Handle to set the attribute on + + + + attribute name + + + + slice allocated GValue containing the value of the attribute, for instance with tp_g_value_slice_new. Ownership of the GValue is taken over by the mixin + + + + + + Check that the given string is a valid D-Bus bus name of an appropriate +type. + + %TRUE if @name is valid + + + + + a possible bus name + + + + some combination of %TP_DBUS_NAME_TYPE_UNIQUE, %TP_DBUS_NAME_TYPE_WELL_KNOWN or %TP_DBUS_NAME_TYPE_BUS_DAEMON (often this will be %TP_DBUS_NAME_TYPE_NOT_BUS_DAEMON or %TP_DBUS_NAME_TYPE_ANY) + + + + + + Check that the given string is a valid D-Bus interface name. This is +also appropriate to use to check for valid error names. + + %TRUE if @name is valid + + + + + a possible interface name + + + + + + Check that the given string is a valid D-Bus member (method or signal) name. + + %TRUE if @name is valid + + + + + a possible member name + + + + + + Check that the given string is a valid D-Bus object path. + + %TRUE if @path is valid + + + + + a possible object path + + + + + + + + + + + Return the Telepathy error NotImplemented from the method invocation +given by @context. + + + + + + The D-Bus method invocation context + + + + + + Initialize the class @cls to use the D-Bus Properties mixin. +The given struct member, of size sizeof(TpDBusPropertiesMixinClass), +will be used to store property implementation information. +Each property and each interface must have been declared as a member of +a GInterface implemented by @cls, using +tp_svc_interface_set_dbus_properties_info(). +Before calling this function, the array @interfaces must have been +placed in the #TpDBusPropertiesMixinClass structure; if it would be empty, +it may instead be %NULL. +This function should be called from the class_init callback in such a way +that it will only be called once, even if the class is subclassed. +which means that only interfaces whose properties are set up using +tp_dbus_properties_mixin_implement_interface() will be used. +#TpDBusPropertiesMixinClass can be omitted from @cls. It is treated as if +it were present, but with all fields (including +TpDBusPropertiesMixinClass::interfaces) being %NULL, so only interfaces +whose properties are set using +tp_dbus_properties_mixin_implement_interface() will be used. + + + + + + a subclass of #GObjectClass + + + + the offset within @cls of a TpDBusPropertiesMixinClass structure + + + + + + Retrieves the values of several D-Bus properties from an object, and adds +them to a hash mapping the fully-qualified name of the property to its +value. This is equivalent to calling tp_dbus_properties_mixin_get() for +each property and adding it to the table yourself, with the proviso that +this function will g_assert() if retrieving a property fails (for instance, +because it does not exist). +Note that in particular, @table does not have the same memory-allocation +model as the hash tables required by tp_asv_set_string() and similar +functions. + + + + + + an object which uses the D-Bus properties mixin + + + + a hash table where the keys are strings copied with g_strdup() and the values are slice-allocated #GValue<!-- -->s + + + + + + + the interface of the first property to be retrieved + + + + the name of the first property to be retrieved + + + + + + + + + + Initialize @value with the type of the property @property_name on +by calling the D-Bus method org.freedesktop.DBus.Properties.Get. +If Get would return a D-Bus error, @value remains unset and @error +is filled in instead. +on failure + + %TRUE (filling @value) on success, %FALSE (setting @error) + + + + + an object with this mixin + + + + a D-Bus interface name + + + + a D-Bus property name + + + + an unset GValue (initialized to all zeroes) + + + + + + An implementation of #TpDBusPropertiesMixinGetter which assumes that +the @getter_data is the name of a readable #GObject property of an +appropriate type, and uses it for the value of the D-Bus property. + + + + + + The exported object with the properties + + + + A quark representing the D-Bus interface name + + + + A quark representing the D-Bus property name + + + + A GValue pre-initialized to the right type, into which to put the value + + + + The getter_data from the #TpDBusPropertiesMixinPropImpl, which must be a string containing the GObject property's name + + + + + + Declare that the DBus.Properties interface represented by @g_iface +is implemented using this mixin. + + + + + + a pointer to a #TpSvcDBusPropertiesClass structure + + + + ignored + + + + + + Declare that, in addition to any interfaces set in +tp_dbus_properties_mixin_class_init(), the given class (and its subclasses) +will implement the properties of the interface @iface using the callbacks +This function should be called from the class_init callback in such a way +that it will only be called once, even if the class is subclassed. +Typically, the static array @interfaces in the #TpDBusPropertiesMixinClass +should be used for interfaces whose properties are implemented directly by +the class @cls, and this function should be used for interfaces whose +properties are implemented by mixins. +It is an error for the same interface to appear in the array @interfaces +in the #TpDBusPropertiesMixinClass, and also be set up by this function. +If a class C and a subclass S both implement the properties of the same +interface, only the implementations from the subclass S will be used, +regardless of whether the implementations in C and/or S were set up by +this function or via the array @interfaces in the +#TpDBusPropertiesMixinClass. + + + + + + a subclass of #GObjectClass + + + + a quark representing the the name of the interface to implement + + + + a callback to get properties on this interface, or %NULL if they are all write-only + + + + a callback to set properties on this interface, or %NULL if they are all read-only + + + + an array of #TpDBusPropertiesMixinPropImpl representing individual properties, terminated by one with @name == %NULL + + + + + + Retrieves the values of several D-Bus properties from an object, and builds +a hash mapping the fully-qualified name of the property to its value. This +is equivalent to calling tp_dbus_properties_mixin_get() for each property +and building the table yourself, with the proviso that this function will +g_assert() if retrieving a property fails (for instance, because it does not +exist). +Additional keys and values can be inserted into the returned hash table; +if this is done, the inserted keys and values will be freed when the +hash table is destroyed. The keys must be allocated with g_strdup() or +equivalent, and the values must be slice-allocated (for instance with +tp_g_value_slice_new_string() or a similar function). +Note that in particular, tp_asv_set_string() and similar functions should +not be used with this hash table. +GValues, which must be freed by the caller (at which point its +contents will also be freed). + + a hash table mapping (gchar *) fully-qualified property names to + + + + + an object which uses the D-Bus properties mixin + + + + the interface of the first property to be retrieved + + + + the name of the first property to be retrieved + + + + + + + + + + An implementation of #TpDBusPropertiesMixinSetter which assumes that the +type, and sets that property to the given value. + + %TRUE + + + + + The exported object with the properties + + + + A quark representing the D-Bus interface name + + + + A quark representing the D-Bus property name + + + + The new value for the property + + + + The setter_data from the #TpDBusPropertiesMixinPropImpl, which must be a string containing the GObject property's name + + + + + + Open the given file for writing and duplicate its file descriptor to +be used for stdout and stderr. This has the effect of closing the previous +stdout and stderr, and sending all messages that would have gone there +to the given file instead. +By default the file is truncated and hence overwritten each time the +process is executed. +Since version 0.7.14, if the filename is prefixed with '+' then the +file is not truncated and output is added at the end of the file. +Passing %NULL to this function is guaranteed to have no effect. This is +so you can call it with the recommended usage +<literal>tp_debug_divert_messages (g_getenv ("MYAPP_LOGFILE"))</literal> +and it won't do anything if the environment variable is not set. +This function still works if telepathy-glib was compiled without debug +support. + + + + + + A file to which to divert stdout and stderr, or %NULL to do nothing + + + + + + Activate all possible debug modes. This also activates persistent mode, +which should have been orthogonal. +tp_debug_set_persistent() instead. + + + + + + Set the debug flags indicated by @flags_string, in addition to any already +set. +The parsing matches that of g_parse_debug_string(). +If telepathy-glib was compiled with --disable-debug (not recommended), +this function has no practical effect, since the debug messages it would +enable were removed at compile time. + + + + + + The flags to set, comma-separated. If %NULL or empty, no additional flags are set. + + + + + + Equivalent to +<literal>tp_debug_set_flags_from_string (g_getenv (var))</literal>, +and has the same problem with persistence being included in "all". +tp_debug_set_persistent() instead + + + + + + The name of the environment variable to parse + + + + + + Set the debug flags indicated by @flags_string, in addition to any already +set. Unlike tp_debug_set_flags(), this enables persistence like +tp_debug_set_persistent() if the "persist" flag is present or the string +is "all" - this turns out to be unhelpful, as persistence should be +orthogonal. +The parsing matches that of g_parse_debug_string(). +tp_debug_set_persistent() instead + + + + + + The flags to set, comma-separated. If %NULL or empty, no additional flags are set. + + + + + + Used to enable persistent operation of the connection manager process for +debugging purposes. + + + + + + TRUE prevents the connection manager mainloop from exiting, FALSE enables exiting if there are no connections (the default behavior). + + + + + + A #GLogFunc that prepends the UTC time (currently in ISO 8601 format, +with microsecond resolution) to the message, then calls +g_log_default_handler. +Intended usage is: +<informalexample><programlisting>if (g_getenv ("MYPROG_TIMING") != NULL) +g_log_set_default_handler (tp_debug_timestamped_log_handler, NULL); +</programlisting></informalexample> +If telepathy-glib was compiled with --disable-debug (not recommended), +this function is equivalent to g_log_default_handler(). +RFC-3339 format. Previously, they were printed in local time, in a +format similar to RFC-3339. + + + + + + the message's log domain + + + + the log level of the message + + + + the message to process + + + + not used + + + + + + <!-- --> + + the D-Bus error name corresponding to @error. + + + + + a member of the #TpError enum. + + + + + + + + + + + <!-- --> + + + + + + + + + + + Remove the external group mixin. This function should usually be called +in the dispose or finalize function. + + + + + + An object implementing the groups interface using an external group mixin + + + + + + An implementation of #TpDBusPropertiesMixinGetter which assumes that the +interface. + + + + + + An object with this mixin + + + + Must be %TP_IFACE_QUARK_CHANNEL_INTERFACE_GROUP + + + + A quark representing the D-Bus property name, either "GroupFlags", "HandleOwners", "LocalPendingMembers", "Members", "RemotePendingMembers" or "SelfHandle" + + + + A GValue pre-initialized to the right type, into which to put the value + + + + Ignored + + + + + + Fill in the vtable entries needed to implement the group interface using +the group mixin of another object. This function should usually be called +via G_IMPLEMENT_INTERFACE. + + + + + + A #TpSvcChannelInterfaceGroupClass + + + + Unused + + + + + + Fill in the qdata needed to implement the group interface using +the group mixin of another object. This function should usually be called +in the instance constructor. + + + + + + An object implementing the groups interface using an external group mixin + + + + A GObject with the group mixin + + + + + + Set up #TpDBusPropertiesMixinClass to use this mixin's implementation of +the Group interface's properties. +This uses tp_group_mixin_get_dbus_property() as the property getter and +sets up a list of the supported properties for it. Having called this, you +should add #TP_CHANNEL_GROUP_FLAG_PROPERTIES to channels containing the +mixin used by this class with tp_group_mixin_change_flags() to indicate that +the DBus properties are available. + + + + + + The class of an object with this mixin + + + + + + Set the error NotImplemented for an invalid handle type, +with an appropriate message. +InvalidArgument. + + + + + + An invalid handle type + + + + + + Set the error NotImplemented for a handle type which is valid but is not +supported by this connection manager, with an appropriate message. +InvalidArgument. + + + + + + An unsupported handle type + + + + + + Slice-allocate a #GValue containing a byte-array, using +tp_g_value_slice_new_boxed(). This function is convenient to use when +constructing hash tables from string to #GValue, for example. +of @length bytes from @bytes, to be freed with tp_g_value_slice_free() or +g_slice_free() + + a #GValue of type %DBUS_TYPE_G_UCHAR_ARRAY whose value is a copy + + + + + number of bytes to copy + + + + location of an array of bytes to be copied (this may be %NULL if and only if length is 0) + + + + + + Slice-allocate a #GValue containing an object path, using +tp_g_value_slice_new_boxed(). This function is convenient to use when +constructing hash tables from string to #GValue, for example. +of @path, to be freed with tp_g_value_slice_free() or g_slice_free() + + a #GValue of type %DBUS_TYPE_G_OBJECT_PATH whose value is a copy + + + + + a valid D-Bus object path which will be copied + + + + + + Slice-allocate a #GValue containing an object path, using +tp_g_value_slice_new_static_boxed(). This function is convenient to use when +constructing hash tables from string to #GValue, for example. +to be freed with tp_g_value_slice_free() or g_slice_free() + + a #GValue of type %DBUS_TYPE_G_OBJECT_PATH whose value is @path, + + + + + a valid D-Bus object path which must remain valid forever + + + + + + Slice-allocate a #GValue containing @bytes, using +tp_g_value_slice_new_boxed(). This function is convenient to use when +constructing hash tables from string to #GValue, for example. +g_slice_free() + + a #GValue of type %DBUS_TYPE_G_UCHAR_ARRAY whose value is + + + + + a non-NULL #GArray of guchar, ownership of which will be taken by the #GValue + + + + + + + + Slice-allocate a #GValue containing an object path, using +tp_g_value_slice_new_take_boxed(). This function is convenient to use when +constructing hash tables from string to #GValue, for example. +to be freed with tp_g_value_slice_free() or g_slice_free() + + a #GValue of type %DBUS_TYPE_G_OBJECT_PATH whose value is @path, + + + + + a valid D-Bus object path which will be freed with g_free() by the returned #GValue (the caller must own it before calling this function, but no longer owns it after this function returns) + + + + + + Returns a connection to the D-Bus daemon on which this process was +activated if it was launched by D-Bus service activation, or the session +bus otherwise. +If dbus_g_bus_get() fails, exit with error code 1. +Note that this function is not suitable for use in applications which can +be useful even in the absence of D-Bus - it is designed for use in +connection managers, which are not at all useful without a D-Bus +connection. See &lt;https://bugs.freedesktop.org/show_bug.cgi?id=18832&gt;. +Most processes should use tp_dbus_daemon_dup() instead. + + a connection to the starter or session D-Bus daemon. + + + + + Return a #DBusGProxy for the bus daemon object. The same caveats as for +tp_get_bus() apply. + + a proxy for the bus daemon object on the starter or session bus. + + + + + Note that the given local handle is an alias within this group +for the given globally-valid handle. It will be returned from subsequent +GetHandleOwner queries where appropriate. +0.17.6, before adding any channel-specific handle to the members, +local-pending members or remote-pending members, you must call either +this function or tp_group_mixin_add_handle_owners(). + + + + + + A GObject implementing the group interface with this mixin + + + + A contact handle valid within this group (may not be 0) + + + + A contact handle valid globally, or 0 if the owner of the + + + + + + Note that the given local handles are aliases within this group +for the given globally-valid handles. +To comply with telepathy-spec 0.17.6, before adding any channel-specific +handle to the members, local-pending members or remote-pending members, you +must call either this function or tp_group_mixin_add_handle_owner(). + + + + + + A GObject implementing the group interface with this mixin + + + + A map from contact handles valid within this group (which may not be 0) to either contact handles valid globally, or 0 if the owner of the corresponding key is unknown; all handles are stored using GUINT_TO_POINTER + + + + + + Request that the given contacts be added to the group as if in response +to user action. If the group's flags prohibit this, raise +PermissionDenied. If any of the handles is invalid, raise InvalidHandle. +Otherwise attempt to add the contacts by calling the callbacks provided +by the channel implementation. + + %TRUE on success + + + + + An object implementing the group interface using this mixin + + + + A GArray of guint representing contacts + + + + + + A message associated with the addition request, if supported + + + + + + Request a change to be made to the flags. If any flags were actually +set or cleared, emits the GroupFlagsChanged signal with the changes. +It is an error to set any of the same bits in both @add and @del. +removing @del had no effect on the existing group flags. + + + + + + An object implementing the groups interface using this mixin + + + + Flags to be added + + + + Flags to be removed + + + + + + Change the sets of members as given by the arguments, and emit the +MembersChanged and MembersChangedDetailed signals if the changes were not a +no-op. +This function must be called in response to events on the underlying +IM protocol, and must not be called in direct response to user input; +it does not respect the permissions flags, but changes the group directly. +If any two of add, del, add_local_pending and add_remote_pending have +a non-empty intersection, the result is undefined. Don't do that. +Each of the TpIntSet arguments may be %NULL, which is treated as +equivalent to an empty set. +signals were emitted; %FALSE if nothing actually changed and the signals +were suppressed. + + %TRUE if the group was changed and the MembersChanged(Detailed) + + + + + An object implementing the group interface using this mixin + + + + A message to be sent to the affected contacts if possible; %NULL is allowed, and is mapped to an empty string + + + + A set of contact handles to be added to the members (if not already present) and removed from local pending and remote pending (if present) + + + + A set of contact handles to be removed from members, local pending or remote pending, wherever they are present + + + + A set of contact handles to be added to local pending, and removed from members and remote pending + + + + A set of contact handles to be added to remote pending, and removed from members and local pending + + + + The handle of the contact responsible for this change + + + + The reason for this change + + + + + + Change the sets of members as given by the arguments, and emit the +MembersChanged and MembersChangedDetailed signals if the changes were not a +no-op. +This function must be called in response to events on the underlying +IM protocol, and must not be called in direct response to user input; +it does not respect the permissions flags, but changes the group directly. +If any two of add, del, add_local_pending and add_remote_pending have +a non-empty intersection, the result is undefined. Don't do that. +Each of the TpIntSet arguments may be %NULL, which is treated as +equivalent to an empty set. +details may contain, among other entries, the well-known +keys (and corresponding type, wrapped in a GValue) defined by the +Group.MembersChangedDetailed signal's specification; these include "actor" +(a handle as G_TYPE_UINT), "change-reason" (an element of +#TpChannelGroupChangeReason as G_TYPE_UINT), "message" (G_TYPE_STRING), +"error" (G_TYPE_STRING), "debug-message" (G_TYPE_STRING). +If all of the information in details could be passed to +tp_group_mixin_change_members() then calling this function instead provides +no benefit. Calling this function without setting +#TP_CHANNEL_GROUP_FLAG_MEMBERS_CHANGED_DETAILED with +tp_group_mixin_change_members() first is not very useful, as clients will +not know to listen for MembersChangedDetailed and thus will miss the +details. +signals were emitted; %FALSE if nothing actually changed and the signals +were suppressed. + + %TRUE if the group was changed and the MembersChanged(Detailed) + + + + + An object implementing the group interface using this mixin + + + + A set of contact handles to be added to the members (if not already present) and removed from local pending and remote pending (if present) + + + + A set of contact handles to be removed from members, local pending or remote pending, wherever they are present + + + + A set of contact handles to be added to local pending, and removed from members and remote pending + + + + A set of contact handles to be added to remote pending, and removed from members and local pending + + + + a map from strings to GValues detailing the change + + + + + + Change the self-handle for this group to the given value. + + + + + + An object implementing the group interface using this mixin + + + + The new self-handle for this group + + + + + + Configure the mixin to allow attempts to remove the SelfHandle from this +Group, even if the group flags would otherwise disallow this. The +channel's #TpGroupMixinRemMemberFunc or +#TpGroupMixinRemMemberWithReasonFunc will be called as usual for such +attempts, and may make them fail with %TP_ERROR_PERMISSION_DENIED if +required. +This function should be called from the GObject @class_init callback, +after calling tp_group_mixin_class_init(). +(Recent telepathy-spec changes make it valid to try to remove the +self-handle at all times, regardless of group flags. However, if this was +implemented automatically in TpGroupMixin, this would risk crashing +connection manager implementations that assume that TpGroupMixin will +enforce the group flags strictly. As a result, connection managers should +call this function to indicate to the TpGroupMixin that it may call their +removal callback with the self-handle regardless of flag settings.) + + + + + + The class of an object implementing the group interface using this mixin + + + + + + <!--Returns: says it all--> + + the quark used for storing mixin offset on a GObjectClass + + + + + Configure the mixin for use with the given class. + + + + + + The class of an object implementing the group interface using this mixin + + + + The offset of the TpGroupMixinClass structure within the class structure + + + + A callback to be used to add contacts to this group + + + + A callback to be used to remove contacts from this group. This must be %NULL if you will subsequently call tp_group_mixin_class_set_remove_with_reason_func(). + + + + + + Set a callback to be used to implement RemoveMembers() and +RemoveMembersWithReason(). If this function is called during class +initialization, the given callback will be used instead of the remove +callback passed to tp_group_mixin_class_init() (which must be %NULL +in this case). + + + + + + The class of an object implementing the group interface using this mixin + + + + A callback to be used to remove contacts from this group with a specified reason. + + + + + + Unreference handles and free resources used by this mixin. + + + + + + An object implementing the group interface using this mixin + + + + + + Get the group's current and pending members. + + %TRUE + + + + + An object implementing the group interface using this mixin + + + + Used to return a newly-allocated GArray of guint representing the handles of the group's members + + + + + + Used to return a newly-allocated GArray of guint representing the handles of the group's local pending members + + + + + + Used to return a newly-allocated GArray of guint representing the handles of the group's remote pending members + + + + + + + + An implementation of #TpDBusPropertiesMixinGetter which assumes that the + + + + + + An object with this mixin + + + + Must be %TP_IFACE_QUARK_CHANNEL_INTERFACE_GROUP + + + + A quark representing the D-Bus property name, either "GroupFlags", "HandleOwners", "LocalPendingMembers", "Members", "RemotePendingMembers" or "SelfHandle" + + + + A GValue pre-initialized to the right type, into which to put the value + + + + Ignored + + + + + + Set the guint pointed to by ret to this group's flags, to be +interpreted according to TpChannelGroupFlags. + + %TRUE + + + + + An object implementing the group mixin using this interface + + + + Used to return the flags + + + + + + If the mixin has the flag %TP_CHANNEL_GROUP_FLAG_CHANNEL_SPECIFIC_HANDLES, +return the global owners of the given local handles, or 0 where +unavailable. +failure + + %TRUE (setting @ret) on success, %FALSE (setting @error) on + + + + + An object implementing the group interface with this mixin + + + + An array of guint representing locally valid handles + + + + + + Used to return an array of guint representing globally valid handles, or 0 where unavailable, if %TRUE is returned + + + + + + + + Get the group's local-pending members. + + %TRUE + + + + + An object implementing the group interface using this mixin + + + + Used to return a newly-allocated GArray of guint contact handles + + + + + + + + Get the group's local-pending members and information about their +requests to join the channel. + + %TRUE + + + + + An object implementing the group interface using this mixin + + + + Used to return a newly-allocated GPtrArray of D-Bus structures each containing the handle of a local-pending contact, the handle of a contact responsible for adding them to the group (or 0), the reason code and a related message (e.g. their request to join the group) + + + + + + + + Get the group's current members + + %TRUE + + + + + An object implementing the group interface using this mixin + + + + Used to return a newly-allocated GArray of guint contact handles + + + + + + + + <!--Returns: says it all--> + + the quark used for storing mixin offset on a GObject + + + + + Get the group's remote-pending members. + + %TRUE + + + + + An object implementing the group interface using this mixin + + + + Used to return a newly-allocated GArray of guint representing the handles of the group's remote pending members + + + + + + + + Set the guint pointed to by ret to the local user's handle in this +group, or to 0 if the local user is not present in this group. + + %TRUE. + + + + + An object implementing the group mixin using this interface + + + + Used to return the local user's handle in this group + + + + + + Fill in the vtable entries needed to implement the group interface using +this mixin. This function should usually be called via +G_IMPLEMENT_INTERFACE. + + + + + + A #TpSvcChannelInterfaceGroupClass + + + + Unused + + + + + + Initialize the mixin. + + + + + + An object implementing the group interface using this mixin + + + + The offset of the TpGroupMixin structure within the instance structure + + + + The connection's handle repository for contacts + + + + The handle of the local user in this group, if any + + + + + + Set up #TpDBusPropertiesMixinClass to use this mixin's implementation of +the Group interface's properties. +This uses tp_group_mixin_get_dbus_property() as the property getter and +sets up a list of the supported properties for it. Having called this, you +should add #TP_CHANNEL_GROUP_FLAG_PROPERTIES to any channels of this class +with tp_group_mixin_change_flags() to indicate that the DBus properties are +available. + + + + + + The class of an object with this mixin + + + + + + Request that the given contacts be removed from the group as if in response +to user action. If the group's flags prohibit this, raise +PermissionDenied. If any of the handles is invalid, raise InvalidHandle. +If any of the handles is absent from the group, raise NotAvailable. +Otherwise attempt to remove the contacts by calling the callbacks provided +by the channel implementation. + + %TRUE on success + + + + + An object implementing the group interface using this mixin + + + + A GArray of guint representing contacts + + + + + + A message to be sent to those contacts, if supported + + + + + + Request that the given contacts be removed from the group as if in response +to user action. If the group's flags prohibit this, raise +PermissionDenied. If any of the handles is invalid, raise InvalidHandle. +If any of the handles is absent from the group, raise NotAvailable. +Otherwise attempt to remove the contacts by calling the callbacks provided +by the channel implementation. + + %TRUE on success + + + + + An object implementing the group interface using this mixin + + + + A GArray of guint representing contacts + + + + + + A message to be sent to those contacts, if supported + + + + A #TpChannelGroupChangeReason + + + + + + Hold the given handle on behalf of the named client. +If the client leaves the bus, the reference is automatically discarded. +Handles held multiple times are the same as handles held +if you call tp_handle_client_hold() multiple times, then call +tp_handle_client_release() just once, the client no longer holds the handle. +It is an error for @handle not to be present in the repository. + + %TRUE if the client name is valid; else %FALSE with @error set. + + + + + A handle repository implementation + + + + The unique bus name of a D-Bus peer + + + + A handle of the type stored in the repository + + + + + + If the named client holds the given handle, release it. +If this causes the reference count to become zero, delete the handle. +For repository implementations which never free handles (like +#TpStaticHandleRepo) this has no effect. +a reference to the handle, else %FALSE. + + %TRUE if the client name is valid and the client previously held + + + + + A handle repository implementation + + + + The unique bus name of a D-Bus peer + + + + A handle of the type stored in the repository + + + + + + Return a new reference to the handle for the given string. The handle +is normalized, if possible. If no such handle exists it will be created. +is invalid. + + the handle corresponding to the given string, or 0 if it + + + + + A handle repository implementation + + + + A string whose handle is required + + + + User data to be passed to the normalization callback + + + + + + <!--Returns: says it all--> +if there is no associated data. + + the data associated with a given key on a given handle; %NULL + + + + + A handle repository implementation + + + + A handle to get data from + + + + Key id of data to fetch + + + + + + <!--Returns: says it all--> +handle is absent from the repository. The string is owned by the +handle repository and will remain valid as long as a reference to +the handle exists. + + the string represented by the given handle, or NULL if the + + + + + A handle repository implementation + + + + A handle of the type stored in the repository + + + + + + <!--Returns: says it all--> +else %FALSE + + %TRUE if the handle is nonzero and is present in the repository, + + + + + A handle repository implementation + + + + A handle of the type stored in the repository @self + + + + + + Return the handle for the given string, without incrementing its +reference count. The handle is normalized if possible. +does not exist or is invalid + + the handle corresponding to the given string, or 0 if it + + + + + A handle repository implementation + + + + A string whose handle is required + + + + User data to be passed to the normalization callback + + + + + + Increase the reference count of the given handle, which must be present +in the repository. For repository implementations which never free handles +(like #TpStaticHandleRepo) this has no effect. + + + + + + A handle repository implementation + + + + A handle of the type stored in the repository + + + + + + Associates a blob of data with a given handle and a given key +If @destroy is set, then the data is freed when the handle is freed. + + + + + + A handle repository implementation + + + + A handle to set data on + + + + Key id to associate data with + + + + data to associate with handle + + + + A #GDestroyNotify to call to destroy the data, or NULL if not needed. + + + + + + If the given handle type is valid, return %TRUE. If not, set @error +and return %FALSE. + + %TRUE if the handle type is valid. + + + + + A handle type, valid or not, to be checked + + + + + + <!----> +For invalid handle types, returns "(no handle)" for 0 or +"(invalid handle type)" for others. + + a human-readable string describing the handle type, e.g. "contact". + + + + + A handle type, which need not be valid + + + + + + Decrease the reference count of the given handle. If it reaches zero, +delete the handle. It is an error to attempt to unref a handle +which is not present in the repository. +For repository implementations which never free handles (like +#TpStaticHandleRepo) this has no effect. + + + + + + A handle repository implementation + + + + A handle of the type stored in the repository + + + + + + <!--Returns: says it all--> + + %TRUE if the handle is present in the repository, else %FALSE + + + + + A handle repository implementation + + + + Array of TpHandle representing handles of the type stored in the repository @self + + + + + + If %TRUE, zero is treated like a valid handle + + + + + + Hold the given handles on behalf of the named client. +If the client leaves the bus, the reference is automatically discarded. +If any of the handles are zero they will be ignored without error. +It is an error for any other invalid handle to be in @handles: +the caller is expected to have validated them first, e.g. using +tp_handles_are_valid(). +Handles appearing multiple times are the same as handles appearing +If %FALSE is returned, the reference counts of all handles are unaffected +(the function either fails completely or succeeds completely). + + %TRUE if the client name is valid; else %FALSE with @error set. + + + + + A handle repository implementation + + + + The D-Bus unique name of a client + + + + A GArray of TpHandle representing handles + + + + + + + + Releases a reference to the given handles on behalf of the named client. +If any of the handles are zero they will be ignored without error. +It is an error for any other invalid handle to be in @handles: +the caller is expected to have validated them first, e.g. using +tp_handles_are_valid(). +If %FALSE is returned, the reference counts of all handles are unaffected +(the function either fails completely or succeeds completely). +a reference to all the handles, else %FALSE. + + %TRUE if the client name is valid and the client previously held + + + + + A handle repository implementation + + + + The D-Bus unique name of a client + + + + A GArray of TpHandle representing handles + + + + + + + + Increase the reference count of the given handles. If a handle appears +multiple times in @handles it will be referenced that many times. If +any zero entries appear in @handles they will be ignored without error; +it is an error for any other invalid handle to appear in @handles. + + + + + + A handle repository implementation + + + + A GArray of TpHandle representing handles + + + + + + + + Return %TRUE if the given handle type is supported (i.e. repos[handle_type] +is not %NULL) and the given handles are all valid in that repository. +If not, set @error and return %FALSE. +valid. + + %TRUE if the handle type is supported and the handles are all + + + + + An array of possibly null pointers to handle repositories, indexed by handle type, where a null pointer means an unsupported handle type + + + + The handle type + + + + A GArray of guint representing handles of the given type + + + + + + If %TRUE, zero is treated like a valid handle + + + + + + Decrease the reference count of the given handles. If a handle appears +multiple times in @handles it will be dereferenced that many times. If +any zero entries appear in @handles they will be ignored without error; +it is an error for any other invalid handle to appear in @handles. + + + + + + A handle repository implementation + + + + A GArray of TpHandle representing handles + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Initialize @iter to iterate over @set in arbitrary order. @iter will become +invalid if @set is modified. + + + + + + an iterator + + + + a set + + + + + + Advances @iter and retrieves the integer it now points to. Iteration +is not necessarily in numerical order. + + %FALSE if the end of the set has been reached + + + + + an iterator + + + + a location to store a new integer, in arbitrary order + + + + + + <!--Returns: says it all--> + + A set containing the same integers as @array. + + + + + An array of guint + + + + + + + + If there are integers in (@iter->set) higher than (@iter->element), set +(iter->element) to the next one and return %TRUE. Otherwise return %FALSE. +Usage: +<informalexample><programlisting> +TpIntSetIter iter = TP_INTSET_INIT (intset); +while (tp_intset_iter_next (&amp;iter)) +{ +printf ("%u is in the intset\n", iter.element); +} +</programlisting></informalexample> +Since 0.11.6, consider using #TpIntSetFastIter if iteration in +numerical order is not required. + + %TRUE if (@iter->element) has been advanced + + + + + An iterator originally initialized with TP_INTSET_INIT(set) + + + + + + Allocate a new integer set. + + a new, empty integer set to be destroyed with tp_intset_destroy() + + + + + ignored (it was previously 1 more than the largest integer you expect to store) + + + + + + List the available (running or installed) connection managers. Call the +callback when done. +Since 0.7.26, this function will wait for each #TpConnectionManager +to be ready, so all connection managers passed to @callback will be ready +(tp_connection_manager_is_ready() will return %TRUE) unless an error +occurred while launching that connection manager. + + + + + + proxy for the D-Bus daemon + + + + callback to be called when listing the CMs succeeds or fails; not called if the @weak_object goes away + + + + user-supplied data for the callback + + + + callback to destroy the user-supplied data, called after + + + + if not %NULL, will be weakly referenced; the callback will not be called, and the call will be cancelled, if the object has vanished + + + + + + List the bus names of all the connections that currently exist, together +with the connection manager name and the protocol name for each connection. +Call the callback when done. +The bus names passed to the callback can be used to construct #TpConnection +objects for any connections that are of interest. + + + + + + proxy for the D-Bus daemon + + + + callback to be called when listing the connections succeeds or fails; not called if the D-Bus connection fails completely or if the + + + + user-supplied data for the callback + + + + callback to destroy the user-supplied data, called after goes away + + + + if not %NULL, will be weakly referenced; the callback will not be called if the object has vanished + + + + + + <!--no documentation beyond Returns: needed--> + + the quark used for storing mixin offset on a GObjectClass + + + + + Initialize the presence mixin. Should be called from the implementation's +class_init function like so: +<informalexample><programlisting> +tp_presence_mixin_class_init ((GObjectClass *) klass, +G_STRUCT_OFFSET (SomeObjectClass, +presence_mixin)); +</programlisting></informalexample> + + + + + + The class of the implementation that uses this mixin + + + + The byte offset of the TpPresenceMixinClass within the class structure + + + + A callback to be used to determine if a given presence status is available to be set on the connection. If NULL, all statuses are always considered available. If SimplePresence is implemented, this callback may be called before the connection is connected. + + + + A callback to be used get the current presence status for contacts. This is used in implementations of various D-Bus methods and hence must be provided. + + + + A callback to be used to commit changes to the user's own presence status to the server. This is used in implementations of various D-Bus methods and hence must be provided. + + + + An array of #TpPresenceStatusSpec structures representing all presence statuses supported by the protocol, terminated by a NULL name. + + + + + + Emit the PresenceUpdate signal for a single contact. This method is just a +convenience wrapper around #tp_presence_mixin_emit_presence_update. + + + + + + A connection object with this mixin + + + + The handle of the contact to emit the signal for + + + + The new status to emit + + + + + + Emit the PresenceUpdate signal for multiple contacts. For emitting +PresenceUpdate for a single contact, there is a convenience wrapper called +#tp_presence_mixin_emit_one_presence_update. + + + + + + A connection object with this mixin + + + + A mapping of contact handles to #TpPresenceStatus structures with the presence data to emit + + + + + + Free resources held by the presence mixin. + + + + + + An object with this mixin. + + + + + + <!--no documentation beyond Returns: needed--> + + the quark used for storing mixin offset on a GObject + + + + + Fill in the vtable entries needed to implement the presence interface using +this mixin. This function should usually be called via G_IMPLEMENT_INTERFACE. + + + + + + A pointer to the #TpSvcConnectionInterfacePresenceClass in an object class + + + + Ignored + + + + + + Initialize the presence mixin. Should be called from the implementation's +instance init function like so: +<informalexample><programlisting> +tp_presence_mixin_init ((GObject *) self, +G_STRUCT_OFFSET (SomeObject, presence_mixin)); +</programlisting></informalexample> + + + + + + An instance of the implementation that uses this mixin + + + + The byte offset of the TpPresenceMixin within the object structure + + + + + + Fill in the vtable entries needed to implement the simple presence interface +using this mixin. This function should usually be called via +G_IMPLEMENT_INTERFACE. + + + + + + A pointer to the #TpSvcConnectionInterfaceSimplePresenceClass in an object class + + + + Ignored + + + + + + Set up #TpDBusPropertiesMixinClass to use this mixin's implementation of +the SimplePresence interface's properties. +This automatically sets up a list of the supported properties for the +SimplePresence interface. + + + + + + The class of an object with this mixin + + + + + + Register the SimplePresence interface with the Contacts interface to make it +inspectable. The Contacts mixin should be initialized before this function +is called + + + + + + An instance that of the implementation that uses both the Contacts mixin and this mixin + + + + + + Declare that @g_interface implements the given D-Bus interface, with the +given properties. This may only be called once per GInterface, usually from +a section of its base_init function that only runs once. + + + + + + The #GType of a service interface + + + + an interface description + + + + + + diff --git a/Unique-1.0.gir b/Unique-1.0.gir new file mode 100644 index 0000000..d46103f --- /dev/null +++ b/Unique-1.0.gir @@ -0,0 +1,632 @@ + + + + + + + + + + + + + + + + + + + + + + + + The base class for every single instance application. The #UniqueApp +structure contains only private data and should be manipulated only +with the provided functions. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Base class for every single instance application. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The #UniqueBackend structure contains only private data and should only +be accessed using the provided functions. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The class that should be implemented by every backend for #UniqueApp. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Command to send to a currently active instance. User defined commands +should be positive integers, and should be added using the +unique_app_add_command() function after creating a #UniqueApp instance + + + + + + + + + + + + + + + + + + + + #UniqueMessageData contains the data passed between instances of +a #UniqueApp. The #UniqueMessageData structure received inside +the signal handlers for UniqueApp::message-received is guaranteed +to contain the #GdkScreen, the workspace and the startup notification +id of the instance sending the message. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Response that a currently active instance of the application should +return to the caller which sent a command. + + + + + + + + + + + + + + diff --git a/Vte-1.0.gir b/Vte-1.0.gir new file mode 100644 index 0000000..e9352fe --- /dev/null +++ b/Vte-1.0.gir @@ -0,0 +1,2360 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The reaper object. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + All of these fields should be considered read-only and deprecated. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The accessible peer for #VteTerminal. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + An enumeration describing which anti-alias setting to use. + + + + + + All of these fields should be considered read-only, except for derived classes. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + An enumerated type which can be used to indicate the cursor blink mode +for the terminal. + + + + + + An enumerated type which can be used to indicate what should the terminal +draw at the cursor position. + + + + + + An enumerated type which can be used to indicate which string the terminal +should send to an application when the user presses the Delete or Backspace +keys. + + + + + + + + + + A flag type to determine how terminal contents should be written +to an output stream. + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/WebKit-1.0.gir b/WebKit-1.0.gir new file mode 100644 index 0000000..f7d33b9 --- /dev/null +++ b/WebKit-1.0.gir @@ -0,0 +1,4120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Wnck-1.0.gir b/Wnck-1.0.gir new file mode 100644 index 0000000..1eaf1e0 --- /dev/null +++ b/Wnck-1.0.gir @@ -0,0 +1,2840 @@ + + + + + + + + + + + + + + + + + + The #WnckActionMenu struct contains only private fields and should not be +directly accessed. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The #WnckApplication struct contains only private fields and should not be +directly accessed. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The #WnckClassGroup struct contains only private fields and should not be +directly accessed. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Type describing the role of the libwnck user. + + + + + Specifies the type of function passed to wnck_tasklist_set_icon_loader(). +at size @size, or %NULL if no icon for @icon_name at size @size could be +loaded. + + it should return a <classname>GdkPixbuf</classname> of @icon_name + + + + + an icon name as in the Icon field in a .desktop file for the icon to load. + + + + the desired icon size. + + + + not defined to do anything yet. + + + + data passed to the function, set when the #WnckLoadIconFunction has been set for the #WnckTasklist. + + + + + + Type defining a direction in which to search a neighbor #WnckWorkspace. + + + + + + + The #WnckPager struct contains only private fields and should not be +directly accessed. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Mode defining what a #WnckPager will display. + + + + + + + The #WnckResourceUsage struct contains information about the total resource +usage of an X client, and the number of resources allocated for each +resource type. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The #WnckScreen struct contains only private fields and should not be +directly accessed. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The #WnckSelector struct contains only private fields and should not be +directly accessed. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The #WnckTasklist struct contains only private fields and should not be +directly accessed. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Type defining the policy of the #WnckTasklist for grouping multiple +#WnckWindow of the same #WnckApplication. + + + + + + + + The #WnckWindow struct contains only private fields and should not be +directly accessed. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Type used as a bitmask to describe the actions that can be done for a +#WnckWindow. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Flag used when changing the geometry of a #WnckWindow. This is the gravity +point to use as a reference for the new position. + + + + + + + + + + + + + + Flag used as a bitmask when changing the geometry of a #WnckWindow. This +indicates which part of the geometry should be changed. + + + + + + + + + Type used as a bitmask to describe the state of a #WnckWindow. + + + + + + + + + + + + + + + + Type describing the semantic type of a #WnckWindow. + + + + + + + + + + + + + + + + + + + + + The #WnckWorkspace struct contains only private fields and should not be +directly accessed. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The #WnckWorkspaceLayout struct contains information about the layout of +#WnckWorkspace on a #WnckScreen, and the exact position of a specific +#WnckWorkspace. +Deprecated:2.20: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/cairo-1.0.gir b/cairo-1.0.gir new file mode 100644 index 0000000..52e4e76 --- /dev/null +++ b/cairo-1.0.gir @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/fontconfig-2.0.gir b/fontconfig-2.0.gir new file mode 100644 index 0000000..024c57d --- /dev/null +++ b/fontconfig-2.0.gir @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + diff --git a/freetype2-2.0.gir b/freetype2-2.0.gir new file mode 100644 index 0000000..9065bb9 --- /dev/null +++ b/freetype2-2.0.gir @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + diff --git a/libxml2-2.0.gir b/libxml2-2.0.gir new file mode 100644 index 0000000..3305d68 --- /dev/null +++ b/libxml2-2.0.gir @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/xfixes-4.0.gir b/xfixes-4.0.gir new file mode 100644 index 0000000..4441e70 --- /dev/null +++ b/xfixes-4.0.gir @@ -0,0 +1,8 @@ + + + + + + diff --git a/xft-2.0.gir b/xft-2.0.gir new file mode 100644 index 0000000..db7f77c --- /dev/null +++ b/xft-2.0.gir @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + diff --git a/xlib-2.0.gir b/xlib-2.0.gir new file mode 100644 index 0000000..3349fb0 --- /dev/null +++ b/xlib-2.0.gir @@ -0,0 +1,38 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/xrandr-1.3.gir b/xrandr-1.3.gir new file mode 100644 index 0000000..30e5c5f --- /dev/null +++ b/xrandr-1.3.gir @@ -0,0 +1,14 @@ + + + + + + + + + + + + -- 2.39.2