Update gir files

This commit is contained in:
Wu Yu Wei
2022-04-26 17:18:10 +08:00
parent 439b3a94d0
commit 78349fccef
20 changed files with 7381 additions and 3098 deletions

View File

@@ -544,7 +544,7 @@ A string name/value pair representing a generic attribute.</doc>
</parameters>
</function>
</record>
<constant name="BINARY_AGE" value="23610" c:type="ATK_BINARY_AGE" version="2.7.4">
<constant name="BINARY_AGE" value="23810" c:type="ATK_BINARY_AGE" version="2.7.4">
<doc xml:space="preserve">Like atk_get_binary_age(), but from the headers used at
application compile time, rather than from the library linked
against at application run time.</doc>
@@ -4545,7 +4545,7 @@ application compile time, rather than from the library linked
against at application run time.</doc>
<type name="gint" c:type="gint"/>
</constant>
<constant name="MINOR_VERSION" value="36" c:type="ATK_MINOR_VERSION" version="2.7.4">
<constant name="MINOR_VERSION" value="38" c:type="ATK_MINOR_VERSION" version="2.7.4">
<doc xml:space="preserve">Like atk_get_minor_version(), but from the headers used at
application compile time, rather than from the library linked
against at application run time.</doc>
@@ -8808,7 +8808,10 @@ widget does not include modification by the user, as is the case with
labels and containers, ATK_STATE_READ_ONLY should not be applied. See also
ATK_STATE_EDITABLE. @Since: ATK-2-16</doc>
</member>
<member name="last_defined" value="43" c:identifier="ATK_STATE_LAST_DEFINED" glib:nick="last-defined" glib:name="ATK_STATE_LAST_DEFINED">
<member name="collapsed" value="43" c:identifier="ATK_STATE_COLLAPSED" glib:nick="collapsed" glib:name="ATK_STATE_COLLAPSED">
<doc xml:space="preserve">Indicates this object is collapsed. @Since: ATK-2.38</doc>
</member>
<member name="last_defined" value="44" c:identifier="ATK_STATE_LAST_DEFINED" glib:nick="last-defined" glib:name="ATK_STATE_LAST_DEFINED">
<doc xml:space="preserve">Not a valid state, used for finding end of enumeration</doc>
</member>
<function name="for_name" c:identifier="atk_state_type_for_name">

View File

@@ -195,43 +195,45 @@ in a #GIBaseInfo struct.</doc>
</field>
</record>
<record name="BaseInfo" c:type="GIBaseInfo" glib:type-name="GIBaseInfo" glib:get-type="g_base_info_gtype_get_type" c:symbol-prefix="base_info_gtype">
<doc xml:space="preserve">GIBaseInfo is the common base struct of all other *Info structs
<doc xml:space="preserve">GIBaseInfo is the common base struct of all other Info structs
accessible through the #GIRepository API.
All other structs can be casted to a #GIBaseInfo, for instance:
&lt;example&gt;
&lt;title&gt;Casting a #GIFunctionInfo to #GIBaseInfo&lt;/title&gt;
&lt;programlisting&gt;
All info structures can be cast to a #GIBaseInfo, for instance:
|[&lt;!-- language="C" --&gt;
GIFunctionInfo *function_info = ...;
GIBaseInfo *info = (GIBaseInfo *) function_info;
&lt;/programlisting&gt;
&lt;/example&gt;
Most #GIRepository APIs returning a #GIBaseInfo is actually creating a new struct, in other
words, g_base_info_unref() has to be called when done accessing the data.
GIBaseInfos are normally accessed by calling either
g_irepository_find_by_name(), g_irepository_find_by_gtype() or g_irepository_get_info().
]|
Most #GIRepository APIs returning a #GIBaseInfo is actually
creating a new struct; in other words, g_base_info_unref() has to
be called when done accessing the data.
#GIBaseInfo structuress are normally accessed by calling either
g_irepository_find_by_name(), g_irepository_find_by_gtype() or
g_irepository_get_info().
|[&lt;!-- language="C" --&gt;
GIBaseInfo *button_info =
g_irepository_find_by_name (NULL, "Gtk", "Button");
// ... use button_info ...
&lt;example&gt;
&lt;title&gt;Getting the Button of the Gtk typelib&lt;/title&gt;
&lt;programlisting&gt;
GIBaseInfo *button_info = g_irepository_find_by_name(NULL, "Gtk", "Button");
... use button_info ...
g_base_info_unref (button_info);
&lt;/programlisting&gt;
&lt;/example&gt;
]|
&lt;refsect1 id="gi-gibaseinfo.struct-hierarchy" role="struct_hierarchy"&gt;
&lt;title role="struct_hierarchy.title"&gt;Struct hierarchy&lt;/title&gt;
&lt;synopsis&gt;
## Hierarchy
|[&lt;!-- language="plain" --&gt;
GIBaseInfo
+----&lt;link linkend="gi-GIArgInfo"&gt;GIArgInfo&lt;/link&gt;
+----&lt;link linkend="gi-GICallableInfo"&gt;GICallableInfo&lt;/link&gt;
+----&lt;link linkend="gi-GIConstantInfo"&gt;GIConstantInfo&lt;/link&gt;
+----&lt;link linkend="gi-GIFieldInfo"&gt;GIFieldInfo&lt;/link&gt;
+----&lt;link linkend="gi-GIPropertyInfo"&gt;GIPropertyInfo&lt;/link&gt;
+----&lt;link linkend="gi-GIRegisteredTypeInfo"&gt;GIRegisteredTypeInfo&lt;/link&gt;
+----&lt;link linkend="gi-GITypeInfo"&gt;GITypeInfo&lt;/link&gt;
&lt;/synopsis&gt;
&lt;/refsect1&gt;</doc>
+---- GIArgInfo
+---- GICallableInfo
+---- GIConstantInfo
+---- GIFieldInfo
+---- GIPropertyInfo
+---- GIRegisteredTypeInfo
+---- GITypeInfo
]|</doc>
<field name="dummy1" readable="0" private="1">
<type name="gint32" c:type="gint32"/>
</field>
@@ -390,9 +392,7 @@ normal GIR annotations.
Both the @name and @value should be treated as constants
and must not be freed.
&lt;example&gt;
&lt;title&gt;Iterating over attributes&lt;/title&gt;
&lt;programlisting&gt;
|[&lt;!-- language="C" --&gt;
void
print_attributes (GIBaseInfo *info)
{
@@ -404,8 +404,7 @@ print_attributes (GIBaseInfo *info)
g_print ("attribute name: %s value: %s", name, value);
}
}
&lt;/programlisting&gt;
&lt;/example&gt;</doc>
]|</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if there are more attributes</doc>
<type name="gboolean" c:type="gboolean"/>
@@ -743,7 +742,7 @@ against.</doc>
<doc xml:space="preserve">The micro version number of the girepository library.</doc>
<type name="gint" c:type="gint"/>
</constant>
<constant name="MINOR_VERSION" value="70" c:type="GI_MINOR_VERSION" version="1.60">
<constant name="MINOR_VERSION" value="72" c:type="GI_MINOR_VERSION" version="1.60">
<doc xml:space="preserve">The minor version number of the girepository library.</doc>
<type name="gint" c:type="gint"/>
</constant>
@@ -1006,9 +1005,10 @@ such as g_irepository_require() before calling this function.</doc>
</parameters>
</method>
<method name="get_dependencies" c:identifier="g_irepository_get_dependencies">
<doc xml:space="preserve">Return an array of all (transitive) versioned dependencies for
@namespace_. Returned strings are of the form
&lt;code&gt;namespace-version&lt;/code&gt;.
<doc xml:space="preserve">Retrieves all (transitive) versioned dependencies for
@namespace_.
The strings are of the form `namespace-version`.
Note: @namespace_ must have already been loaded using a function
such as g_irepository_require() before calling this function.
@@ -1016,7 +1016,7 @@ such as g_irepository_require() before calling this function.
To get only the immediate dependencies for @namespace_, use
g_irepository_get_immediate_dependencies().</doc>
<return-value transfer-ownership="full">
<doc xml:space="preserve">Zero-terminated string array of all versioned
<doc xml:space="preserve">all versioned
dependencies</doc>
<array c:type="gchar**">
<type name="utf8"/>
@@ -1036,7 +1036,7 @@ g_irepository_get_immediate_dependencies().</doc>
</method>
<method name="get_immediate_dependencies" c:identifier="g_irepository_get_immediate_dependencies" version="1.44">
<doc xml:space="preserve">Return an array of the immediate versioned dependencies for @namespace_.
Returned strings are of the form &lt;code&gt;namespace-version&lt;/code&gt;.
Returned strings are of the form `namespace-version`.
Note: @namespace_ must have already been loaded using a function
such as g_irepository_require() before calling this function.
@@ -1395,12 +1395,34 @@ only used until the callback is invoked, and the callback.
is invoked always exactly once.</doc>
</member>
<member name="notified" value="3" c:identifier="GI_SCOPE_TYPE_NOTIFIED">
<doc xml:space="preserve">The callback and and associated
<doc xml:space="preserve">The callback and associated
user_data is used until the caller is notfied via the destroy_notify.</doc>
</member>
<member name="forever" value="4" c:identifier="GI_SCOPE_TYPE_FOREVER">
<doc xml:space="preserve">The callback and associated user_data is
used until the process terminates</doc>
</member>
</enumeration>
<function-macro name="TYPE_TAG_IS_BASIC" c:identifier="G_TYPE_TAG_IS_BASIC" introspectable="0">
<function-macro name="TYPE_TAG_IS_BASIC" c:identifier="G_TYPE_TAG_IS_BASIC" introspectable="0" deprecated="1" deprecated-version="1.72">
<doc xml:space="preserve">Checks if @tag is a basic type.</doc>
<doc-deprecated xml:space="preserve">Use GI_TYPE_TAG_IS_BASIC() instead</doc-deprecated>
<parameters>
<parameter name="tag">
<doc xml:space="preserve">a type tag</doc>
</parameter>
</parameters>
</function-macro>
<function-macro name="TYPE_TAG_IS_CONTAINER" c:identifier="GI_TYPE_TAG_IS_CONTAINER" version="1.72" introspectable="0">
<doc xml:space="preserve">Checks if @tag is a container type. That is, a type which may have a nonnull
return from g_type_info_get_param_type().</doc>
<parameters>
<parameter name="tag">
<doc xml:space="preserve">a type tag</doc>
</parameter>
</parameters>
</function-macro>
<function-macro name="TYPE_TAG_IS_NUMERIC" c:identifier="GI_TYPE_TAG_IS_NUMERIC" version="1.72" introspectable="0">
<doc xml:space="preserve">Checks if @tag is a numeric type. That is, integer or floating point.</doc>
<parameters>
<parameter name="tag">
<doc xml:space="preserve">a type tag</doc>
@@ -2471,270 +2493,138 @@ have been g_module_symbol()&lt;!-- --&gt;ed before calling this function.</doc>
</return-value>
</function>
<docsection name="giarginfo">
<doc xml:space="preserve">GIArgInfo represents an argument. An argument is always
part of a #GICallableInfo.
<doc xml:space="preserve">GIArgInfo represents an argument of a callable.
&lt;refsect1 id="gi-giarginfo.struct-hierarchy" role="struct_hierarchy"&gt;
&lt;title role="struct_hierarchy.title"&gt;Struct hierarchy&lt;/title&gt;
&lt;synopsis&gt;
&lt;link linkend="GIBaseInfo"&gt;GIBaseInfo&lt;/link&gt;
+----GIArgInfo
&lt;/synopsis&gt;
&lt;/refsect1&gt;</doc>
An argument is always part of a #GICallableInfo.</doc>
</docsection>
<docsection name="gicallableinfo">
<doc xml:space="preserve">GICallableInfo represents an entity which is callable.
Currently a function (#GIFunctionInfo), virtual function,
(#GIVFuncInfo) or callback (#GICallbackInfo).
Examples of callable are:
- functions (#GIFunctionInfo)
- virtual functions (#GIVFuncInfo)
- callbacks (#GICallbackInfo).
A callable has a list of arguments (#GIArgInfo), a return type,
direction and a flag which decides if it returns null.
&lt;refsect1 id="gi-gicallableinfo.struct-hierarchy" role="struct_hierarchy"&gt;
&lt;title role="struct_hierarchy.title"&gt;Struct hierarchy&lt;/title&gt;
&lt;synopsis&gt;
&lt;link linkend="GIBaseInfo"&gt;GIBaseInfo&lt;/link&gt;
+----GICallableInfo
+----&lt;link linkend="gi-GIFunctionInfo"&gt;GIFunctionInfo&lt;/link&gt;
+----&lt;link linkend="gi-GISignalInfo"&gt;GISignalInfo&lt;/link&gt;
+----&lt;link linkend="gi-GIVFuncInfo"&gt;GIVFuncInfo&lt;/link&gt;
&lt;/synopsis&gt;
&lt;/refsect1&gt;</doc>
direction and a flag which decides if it returns null.</doc>
</docsection>
<docsection name="gicallbackinfo">
<doc xml:space="preserve">GICallbackInfo represents a callback.
&lt;refsect1 id="gi-gicallbackinfo.struct-hierarchy" role="struct_hierarchy"&gt;
&lt;title role="struct_hierarchy.title"&gt;Struct hierarchy&lt;/title&gt;
&lt;synopsis&gt;
&lt;link linkend="GIBaseInfo"&gt;GIBaseInfo&lt;/link&gt;
+----&lt;link linkend="gi-GICallableInfo"&gt;GICallableInfo&lt;/link&gt;
+----GIFunctionInfo
+----&lt;link linkend="gi-GISignalInfo"&gt;GISignalInfo&lt;/link&gt;
+----&lt;link linkend="gi-GIVFuncInfo"&gt;GIVFuncInfo&lt;/link&gt;
&lt;/synopsis&gt;
&lt;/refsect1&gt;</doc>
<doc xml:space="preserve">GICallbackInfo represents a callback.</doc>
</docsection>
<docsection name="giconstantinfo">
<doc xml:space="preserve">GIConstantInfo represents a constant. A constant has a type associated
which can be obtained by calling g_constant_info_get_type() and a value,
which can be obtained by calling g_constant_info_get_value().
<doc xml:space="preserve">GIConstantInfo represents a constant.
&lt;refsect1 id="gi-giconstantinfo.struct-hierarchy" role="struct_hierarchy"&gt;
&lt;title role="struct_hierarchy.title"&gt;Struct hierarchy&lt;/title&gt;
&lt;synopsis&gt;
&lt;link linkend="GIBaseInfo"&gt;GIBaseInfo&lt;/link&gt;
+----GIConstantInfo
&lt;/synopsis&gt;
&lt;/refsect1&gt;</doc>
A constant has a type associated which can be obtained by calling
g_constant_info_get_type() and a value, which can be obtained by
calling g_constant_info_get_value().</doc>
</docsection>
<docsection name="gienuminfo">
<doc xml:space="preserve">A GIEnumInfo represents an enumeration and a GIValueInfo struct represents a value
of an enumeration. The GIEnumInfo contains a set of values and a type
The GIValueInfo is fetched by calling g_enum_info_get_value() on a #GIEnumInfo.
<doc xml:space="preserve">A GIEnumInfo represents an enumeration, and a GIValueInfo represents
a value in the enumeration.
&lt;refsect1 id="gi-gienuminfo.struct-hierarchy" role="struct_hierarchy"&gt;
&lt;title role="struct_hierarchy.title"&gt;Struct hierarchy&lt;/title&gt;
&lt;synopsis&gt;
&lt;link linkend="GIBaseInfo"&gt;GIBaseInfo&lt;/link&gt;
+----&lt;link linkend="gi-GIRegisteredTypeInfo"&gt;GIRegisteredTypeInfo&lt;/link&gt;
+----GIEnumInfo
&lt;/synopsis&gt;
&lt;/refsect1&gt;</doc>
The GIEnumInfo contains a set of values and a type.
The GIValueInfo is fetched by calling g_enum_info_get_value() on
a GIEnumInfo.</doc>
</docsection>
<docsection name="gifieldinfo">
<doc xml:space="preserve">A GIFieldInfo struct represents a field of a struct (see #GIStructInfo),
union (see #GIUnionInfo) or an object (see #GIObjectInfo). The GIFieldInfo
is fetched by calling g_struct_info_get_field(), g_union_info_get_field()
or g_object_info_get_field().
A field has a size, type and a struct offset asssociated and a set of flags,
which is currently #GI_FIELD_IS_READABLE or #GI_FIELD_IS_WRITABLE.
<doc xml:space="preserve">A GIFieldInfo struct represents a field of a struct, union, or object.
&lt;refsect1 id="gi-gifieldinfo.struct-hierarchy" role="struct_hierarchy"&gt;
&lt;title role="struct_hierarchy.title"&gt;Struct hierarchy&lt;/title&gt;
&lt;synopsis&gt;
&lt;link linkend="GIBaseInfo"&gt;GIBaseInfo&lt;/link&gt;
+----GIFieldInfo
&lt;/synopsis&gt;
&lt;/refsect1&gt;</doc>
The GIFieldInfo is fetched by calling g_struct_info_get_field(),
g_union_info_get_field() or g_object_info_get_field().
A field has a size, type and a struct offset asssociated and a set of flags,
which are currently #GI_FIELD_IS_READABLE or #GI_FIELD_IS_WRITABLE.
See also: #GIStructInfo, #GIUnionInfo, #GIObjectInfo</doc>
</docsection>
<docsection name="gifunctioninfo">
<doc xml:space="preserve">GIFunctionInfo represents a function, method or constructor.
To find out what kind of entity a #GIFunctionInfo represents, call
g_function_info_get_flags().
See also #GICallableInfo for information on how to retreive arguments and
other metadata.
&lt;refsect1 id="gi-gifunctioninfo.struct-hierarchy" role="struct_hierarchy"&gt;
&lt;title role="struct_hierarchy.title"&gt;Struct hierarchy&lt;/title&gt;
&lt;synopsis&gt;
&lt;link linkend="GIBaseInfo"&gt;GIBaseInfo&lt;/link&gt;
+----&lt;link linkend="gi-GICallableInfo"&gt;GICallableInfo&lt;/link&gt;
+----GIFunctionInfo
+----&lt;link linkend="gi-GISignalInfo"&gt;GISignalInfo&lt;/link&gt;
+----&lt;link linkend="gi-GIVFuncInfo"&gt;GIVFuncInfo&lt;/link&gt;
&lt;/synopsis&gt;
&lt;/refsect1&gt;</doc>
other metadata.</doc>
</docsection>
<docsection name="giinterfaceinfo">
<doc xml:space="preserve">GIInterfaceInfo represents a #GInterface type.
A GInterface has methods, fields, properties, signals, interfaces, constants,
virtual functions and prerequisites.
&lt;refsect1 id="gi-giinterfaceinfo.struct-hierarchy" role="struct_hierarchy"&gt;
&lt;title role="struct_hierarchy.title"&gt;Struct hierarchy&lt;/title&gt;
&lt;synopsis&gt;
&lt;link linkend="GIBaseInfo"&gt;GIBaseInfo&lt;/link&gt;
+----&lt;link linkend="gi-GIRegisteredTypeInfo"&gt;GIRegisteredTypeInfo&lt;/link&gt;
+----GIInterfaceInfo
&lt;/synopsis&gt;
&lt;/refsect1&gt;</doc>
virtual functions and prerequisites.</doc>
</docsection>
<docsection name="giobjectinfo">
<doc xml:space="preserve">GIObjectInfo represents a #GObject. This doesn't represent a specific
instance of a GObject, instead this represent the object type (eg class).
<doc xml:space="preserve">GIObjectInfo represents a classed type.
A GObject has methods, fields, properties, signals, interfaces, constants
and virtual functions.
Classed types in GType inherit from #GTypeInstance; the most common
type is #GObject.
&lt;refsect1 id="gi-giobjectinfo.struct-hierarchy" role="struct_hierarchy"&gt;
&lt;title role="struct_hierarchy.title"&gt;Struct hierarchy&lt;/title&gt;
&lt;synopsis&gt;
&lt;link linkend="GIBaseInfo"&gt;GIBaseInfo&lt;/link&gt;
+----&lt;link linkend="gi-GIRegisteredTypeInfo"&gt;GIRegisteredTypeInfo&lt;/link&gt;
+----GIObjectInfo
&lt;/synopsis&gt;
&lt;/refsect1&gt;</doc>
A GIObjectInfo doesn't represent a specific instance of a classed type,
instead this represent the object type (eg class).
A GIObjectInfo has methods, fields, properties, signals, interfaces,
constants and virtual functions.</doc>
</docsection>
<docsection name="gipropertyinfo">
<doc xml:space="preserve">GIPropertyInfo represents a property. A property belongs to
either a #GIObjectInfo or a #GIInterfaceInfo.
<doc xml:space="preserve">GIPropertyInfo represents a property in a #GObject.
&lt;refsect1 id="gi-gipropertyinfo.struct-hierarchy" role="struct_hierarchy"&gt;
&lt;title role="struct_hierarchy.title"&gt;Struct hierarchy&lt;/title&gt;
&lt;synopsis&gt;
&lt;link linkend="GIBaseInfo"&gt;GIBaseInfo&lt;/link&gt;
+----GIPropertyInfo
&lt;/synopsis&gt;
&lt;/refsect1&gt;</doc>
A property belongs to either a #GIObjectInfo or a #GIInterfaceInfo.</doc>
</docsection>
<docsection name="giregisteredtypeinfo">
<doc xml:space="preserve">GIRegisteredTypeInfo represents an entity with a GType associated. Could
be either a #GIEnumInfo, #GIInterfaceInfo, #GIObjectInfo, #GIStructInfo or a
#GIUnionInfo.
<doc xml:space="preserve">GIRegisteredTypeInfo represents an entity with a GType associated.
Could be either a #GIEnumInfo, #GIInterfaceInfo, #GIObjectInfo,
#GIStructInfo or a #GIUnionInfo.
A registered type info struct has a name and a type function.
To get the name call g_registered_type_info_get_type_name().
Most users want to call g_registered_type_info_get_g_type() and don't worry
about the rest of the details.
&lt;refsect1 id="gi-giregisteredtypeinfo.struct-hierarchy" role="struct_hierarchy"&gt;
&lt;title role="struct_hierarchy.title"&gt;Struct hierarchy&lt;/title&gt;
&lt;synopsis&gt;
&lt;link linkend="GIBaseInfo"&gt;GIBaseInfo&lt;/link&gt;
+----GIRegisteredTypeInfo
+----&lt;link linkend="gi-GIEnumInfo"&gt;GIEnumInfo&lt;/link&gt;
+----&lt;link linkend="gi-GIInterfaceInfo"&gt;GIInterfaceInfo&lt;/link&gt;
+----&lt;link linkend="gi-GIObjectInfo"&gt;GIObjectInfo&lt;/link&gt;
+----&lt;link linkend="gi-GIStructInfo"&gt;GIStructInfo&lt;/link&gt;
+----&lt;link linkend="gi-GIUnionInfo"&gt;GIUnionInfo&lt;/link&gt;
&lt;/synopsis&gt;
&lt;/refsect1&gt;</doc>
about the rest of the details.</doc>
</docsection>
<docsection name="gisignalinfo">
<doc xml:space="preserve">GISignalInfo represents a signal. It's a sub-struct of #GICallableInfo
and contains a set of flags and a class closure.
<doc xml:space="preserve">GISignalInfo represents a signal.
It's a sub-struct of #GICallableInfo and contains a set of flags and
a class closure.
See #GICallableInfo for information on how to retreive arguments
and other metadata from the signal.
&lt;refsect1 id="gi-gisignalinfo.struct-hierarchy" role="struct_hierarchy"&gt;
&lt;title role="struct_hierarchy.title"&gt;Struct hierarchy&lt;/title&gt;
&lt;synopsis&gt;
&lt;link linkend="GIBaseInfo"&gt;GIBaseInfo&lt;/link&gt;
+----&lt;link linkend="gi-GICallableInfo"&gt;GICallableInfo&lt;/link&gt;
+----&lt;link linkend="gi-GIFunctionInfo"&gt;GIFunctionInfo&lt;/link&gt;
+----GISignalInfo
+----&lt;link linkend="gi-GIVFuncInfo"&gt;GIVFuncInfo&lt;/link&gt;
&lt;/synopsis&gt;
&lt;/refsect1&gt;</doc>
and other metadata from the signal.</doc>
</docsection>
<docsection name="gistructinfo">
<doc xml:space="preserve">GIStructInfo represents a generic C structure type.
A structure has methods and fields.
&lt;refsect1 id="gi-giobjectinfo.struct-hierarchy" role="struct_hierarchy"&gt;
&lt;title role="struct_hierarchy.title"&gt;Struct hierarchy&lt;/title&gt;
&lt;synopsis&gt;
&lt;link linkend="GIBaseInfo"&gt;GIBaseInfo&lt;/link&gt;
+----&lt;link linkend="gi-GIRegisteredTypeInfo"&gt;GIRegisteredTypeInfo&lt;/link&gt;
+----GIStructInfo
&lt;/synopsis&gt;
&lt;/refsect1&gt;</doc>
A structure has methods and fields.</doc>
</docsection>
<docsection name="gitypeinfo">
<doc xml:space="preserve">GITypeInfo represents a type. You can retrieve a type info from
an argument (see #GIArgInfo), a functions return value (see #GIFunctionInfo),
a field (see #GIFieldInfo), a property (see #GIPropertyInfo), a constant
<doc xml:space="preserve">GITypeInfo represents a type.
You can retrieve a type info from an argument (see #GIArgInfo), a
functions return value (see #GIFunctionInfo), a field (see
#GIFieldInfo), a property (see #GIPropertyInfo), a constant
(see #GIConstantInfo) or for a union discriminator (see #GIUnionInfo).
A type can either be a of a basic type which is a standard C primitive
type or an interface type. For interface types you need to call
g_type_info_get_interface() to get a reference to the base info for that
interface.
&lt;refsect1 id="gi-gitypeinfo.struct-hierarchy" role="struct_hierarchy"&gt;
&lt;title role="struct_hierarchy.title"&gt;Struct hierarchy&lt;/title&gt;
&lt;synopsis&gt;
&lt;link linkend="GIBaseInfo"&gt;GIBaseInfo&lt;/link&gt;
+----GITypeInfo
&lt;/synopsis&gt;
&lt;/refsect1&gt;</doc>
interface.</doc>
</docsection>
<docsection name="giunioninfo">
<doc xml:space="preserve">GIUnionInfo represents a union type.
A union has methods and fields. Unions can optionally have a
discriminator, which is a field deciding what type of real union
fields is valid for specified instance.
&lt;refsect1 id="gi-giobjectinfo.struct-hierarchy" role="struct_hierarchy"&gt;
&lt;title role="struct_hierarchy.title"&gt;Struct hierarchy&lt;/title&gt;
&lt;synopsis&gt;
&lt;link linkend="GIBaseInfo"&gt;GIBaseInfo&lt;/link&gt;
+----&lt;link linkend="gi-GIRegisteredTypeInfo"&gt;GIRegisteredTypeInfo&lt;/link&gt;
+----GIUnionInfo
&lt;/synopsis&gt;
&lt;/refsect1&gt;</doc>
fields is valid for specified instance.</doc>
</docsection>
<docsection name="givalueinfo">
<doc xml:space="preserve">GIValueInfo represents a value.
&lt;refsect1 id="gi-givalueinfo.struct-hierarchy" role="struct_hierarchy"&gt;
&lt;title role="struct_hierarchy.title"&gt;Struct hierarchy&lt;/title&gt;
&lt;synopsis&gt;
&lt;link linkend="GIBaseInfo"&gt;GIBaseInfo&lt;/link&gt;
+----GIValueInfo
&lt;/synopsis&gt;
&lt;/refsect1&gt;</doc>
<doc xml:space="preserve">GIValueInfo represents a value.</doc>
</docsection>
<docsection name="givfuncinfo">
<doc xml:space="preserve">GIVfuncInfo represents a virtual function. A property belongs to
either a #GIObjectInfo or a #GIInterfaceInfo.
<doc xml:space="preserve">GIVfuncInfo represents a virtual function.
&lt;refsect1 id="gi-givfuncinfo.struct-hierarchy" role="struct_hierarchy"&gt;
&lt;title role="struct_hierarchy.title"&gt;Struct hierarchy&lt;/title&gt;
&lt;synopsis&gt;
&lt;link linkend="GIBaseInfo"&gt;GIBaseInfo&lt;/link&gt;
+----&lt;link linkend="gi-GICallableInfo"&gt;GICallableInfo&lt;/link&gt;
+----&lt;link linkend="gi-GIFunctionInfo"&gt;GIFunctionInfo&lt;/link&gt;
+----&lt;link linkend="gi-GISignalInfo"&gt;GISignalInfo&lt;/link&gt;
+----GIVFuncInfo
&lt;/synopsis&gt;
&lt;/refsect1&gt;</doc>
A virtual function is a callable object that belongs to either a
#GIObjectInfo or a #GIInterfaceInfo.</doc>
</docsection>
<function name="info_new" c:identifier="g_info_new">
<doc xml:space="preserve">TODO</doc>
@@ -3965,7 +3855,7 @@ from @hash_pointer, depending on the storage type of @info.</doc>
</function>
<function name="type_info_get_array_fixed_size" c:identifier="g_type_info_get_array_fixed_size">
<doc xml:space="preserve">Obtain the fixed array size of the type. The type tag must be a
#GI_TYPE_TAG_ARRAY or -1 will returned.</doc>
#GI_TYPE_TAG_ARRAY or -1 will be returned.</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">the size or -1 if it's not an array</doc>
<type name="gint" c:type="gint"/>
@@ -3978,8 +3868,8 @@ from @hash_pointer, depending on the storage type of @info.</doc>
</parameters>
</function>
<function name="type_info_get_array_length" c:identifier="g_type_info_get_array_length">
<doc xml:space="preserve">Obtain the array length of the type. The type tag must be a
#GI_TYPE_TAG_ARRAY or -1 will returned.</doc>
<doc xml:space="preserve">Obtain the position of the argument which gives the array length of the type.
The type tag must be a #GI_TYPE_TAG_ARRAY or -1 will be returned.</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">the array length, or -1 if the type is not an array</doc>
<type name="gint" c:type="gint"/>
@@ -4116,7 +4006,7 @@ pointer).</doc>
</function>
<function name="type_info_is_zero_terminated" c:identifier="g_type_info_is_zero_terminated">
<doc xml:space="preserve">Obtain if the last element of the array is %NULL. The type tag must be a
#GI_TYPE_TAG_ARRAY or %FALSE will returned.</doc>
#GI_TYPE_TAG_ARRAY or %FALSE will be returned.</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if zero terminated</doc>
<type name="gboolean" c:type="gboolean"/>
@@ -4128,6 +4018,63 @@ pointer).</doc>
</parameter>
</parameters>
</function>
<function name="type_tag_argument_from_hash_pointer" c:identifier="gi_type_tag_argument_from_hash_pointer" version="1.72">
<doc xml:space="preserve">GLib data structures, such as #GList, #GSList, and #GHashTable, all store
data pointers.
In the case where the list or hash table is storing single types rather than
structs, these data pointers may have values stuffed into them via macros
such as %GPOINTER_TO_INT.
Use this function to ensure that all values are correctly extracted from
stuffed pointers, regardless of the machine's architecture or endianness.
This function fills in the appropriate field of @arg with the value extracted
from @hash_pointer, depending on @storage_type.</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="storage_type" transfer-ownership="none">
<doc xml:space="preserve">a #GITypeTag obtained from g_type_info_get_storage_type()</doc>
<type name="TypeTag" c:type="GITypeTag"/>
</parameter>
<parameter name="hash_pointer" transfer-ownership="none" nullable="1" allow-none="1">
<doc xml:space="preserve">A pointer, such as a #GHashTable data pointer</doc>
<type name="gpointer" c:type="gpointer"/>
</parameter>
<parameter name="arg" transfer-ownership="none">
<doc xml:space="preserve">A #GIArgument to fill in</doc>
<type name="Argument" c:type="GIArgument*"/>
</parameter>
</parameters>
</function>
<function name="type_tag_hash_pointer_from_argument" c:identifier="gi_type_tag_hash_pointer_from_argument" version="1.72">
<doc xml:space="preserve">GLib data structures, such as #GList, #GSList, and #GHashTable, all store
data pointers.
In the case where the list or hash table is storing single types rather than
structs, these data pointers may have values stuffed into them via macros
such as %GPOINTER_TO_INT.
Use this function to ensure that all values are correctly stuffed into
pointers, regardless of the machine's architecture or endianness.
This function returns a pointer stuffed with the appropriate field of @arg,
depending on @storage_type.</doc>
<return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">A stuffed pointer, that can be stored in a #GHashTable, for example</doc>
<type name="gpointer" c:type="gpointer"/>
</return-value>
<parameters>
<parameter name="storage_type" transfer-ownership="none">
<doc xml:space="preserve">a #GITypeTag obtained from g_type_info_get_storage_type()</doc>
<type name="TypeTag" c:type="GITypeTag"/>
</parameter>
<parameter name="arg" transfer-ownership="none">
<doc xml:space="preserve">A #GIArgument with the value to stuff into a pointer</doc>
<type name="Argument" c:type="GIArgument*"/>
</parameter>
</parameters>
</function>
<function name="type_tag_to_string" c:identifier="g_type_tag_to_string">
<doc xml:space="preserve">Obtain a string representation of @type</doc>
<return-value transfer-ownership="none">

File diff suppressed because it is too large Load Diff

View File

@@ -54,7 +54,7 @@ If @module refers to the application itself, "main" is returned.</doc>
</method>
<method name="symbol" c:identifier="g_module_symbol">
<doc xml:space="preserve">Gets a symbol pointer from a module, such as one exported
by #G_MODULE_EXPORT. Note that a valid symbol can be %NULL.</doc>
by %G_MODULE_EXPORT. Note that a valid symbol can be %NULL.</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE on success</doc>
<type name="gboolean" c:type="gboolean"/>
@@ -145,7 +145,7 @@ First of all g_module_open_full() tries to open @file_name as a module.
If that fails and @file_name has the ".la"-suffix (and is a libtool
archive) it tries to open the corresponding module. If that fails
and it doesn't have the proper module suffix for the platform
(#G_MODULE_SUFFIX), this suffix will be appended and the corresponding
(%G_MODULE_SUFFIX), this suffix will be appended and the corresponding
module will be opened. If that fails and @file_name doesn't have the
".la"-suffix, this suffix is appended and g_module_open_full() tries to open
the corresponding module. If eventually that fails as well, %NULL is

View File

@@ -79,6 +79,12 @@ retrieve the private data from an instance of the type; for instance:
}
]|
Since GLib 2.72, the returned `MyObjectPrivate` pointer is guaranteed to be
aligned to at least the alignment of the largest basic GLib type (typically
this is #guint64 or #gdouble). If you need larger alignment for an element in
the struct, you should allocate it on the heap (aligned), or arrange for your
`MyObjectPrivate` struct to be appropriately padded.
Note that this macro can only be used together with the `G_DEFINE_TYPE_*`
macros, since it depends on variable names from those macros.
@@ -115,6 +121,12 @@ names from that macro.</doc>
</parameter>
</parameters>
</function-macro>
<function-macro name="BINDING_GROUP" c:identifier="G_BINDING_GROUP" introspectable="0">
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<callback name="BaseFinalizeFunc" c:type="GBaseFinalizeFunc">
<doc xml:space="preserve">A callback function used by the type system to finalize those portions
of a derived types class structure that were setup from the corresponding
@@ -438,6 +450,195 @@ This enumeration can be extended at later date.</doc>
transformation functions to g_object_bind_property_full().</doc>
</member>
</bitfield>
<class name="BindingGroup" c:symbol-prefix="binding_group" c:type="GBindingGroup" version="2.72" parent="Object" glib:type-name="GBindingGroup" glib:get-type="g_binding_group_get_type">
<doc xml:space="preserve">The #GBindingGroup can be used to bind multiple properties
from an object collectively.
Use the various methods to bind properties from a single source
object to multiple destination objects. Properties can be bound
bidirectionally and are connected when the source object is set
with g_binding_group_set_source().</doc>
<constructor name="new" c:identifier="g_binding_group_new" version="2.72">
<doc xml:space="preserve">Creates a new #GBindingGroup.</doc>
<return-value transfer-ownership="full">
<doc xml:space="preserve">a new #GBindingGroup</doc>
<type name="BindingGroup" c:type="GBindingGroup*"/>
</return-value>
</constructor>
<method name="bind" c:identifier="g_binding_group_bind" version="2.72">
<doc xml:space="preserve">Creates a binding between @source_property on the source object
and @target_property on @target. Whenever the @source_property
is changed the @target_property is updated using the same value.
The binding flag %G_BINDING_SYNC_CREATE is automatically specified.
See g_object_bind_property() for more information.</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
<doc xml:space="preserve">the #GBindingGroup</doc>
<type name="BindingGroup" c:type="GBindingGroup*"/>
</instance-parameter>
<parameter name="source_property" transfer-ownership="none">
<doc xml:space="preserve">the property on the source to bind</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="target" transfer-ownership="none">
<doc xml:space="preserve">the target #GObject</doc>
<type name="Object" c:type="gpointer"/>
</parameter>
<parameter name="target_property" transfer-ownership="none">
<doc xml:space="preserve">the property on @target to bind</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="flags" transfer-ownership="none">
<doc xml:space="preserve">the flags used to create the #GBinding</doc>
<type name="BindingFlags" c:type="GBindingFlags"/>
</parameter>
</parameters>
</method>
<method name="bind_full" c:identifier="g_binding_group_bind_full" shadowed-by="bind_with_closures" version="2.72">
<doc xml:space="preserve">Creates a binding between @source_property on the source object and
@target_property on @target, allowing you to set the transformation
functions to be used by the binding. The binding flag
%G_BINDING_SYNC_CREATE is automatically specified.
See g_object_bind_property_full() for more information.</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
<doc xml:space="preserve">the #GBindingGroup</doc>
<type name="BindingGroup" c:type="GBindingGroup*"/>
</instance-parameter>
<parameter name="source_property" transfer-ownership="none">
<doc xml:space="preserve">the property on the source to bind</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="target" transfer-ownership="none">
<doc xml:space="preserve">the target #GObject</doc>
<type name="Object" c:type="gpointer"/>
</parameter>
<parameter name="target_property" transfer-ownership="none">
<doc xml:space="preserve">the property on @target to bind</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="flags" transfer-ownership="none">
<doc xml:space="preserve">the flags used to create the #GBinding</doc>
<type name="BindingFlags" c:type="GBindingFlags"/>
</parameter>
<parameter name="transform_to" transfer-ownership="none" nullable="1" allow-none="1" scope="notified">
<doc xml:space="preserve">the transformation function
from the source object to the @target, or %NULL to use the default</doc>
<type name="BindingTransformFunc" c:type="GBindingTransformFunc"/>
</parameter>
<parameter name="transform_from" transfer-ownership="none" nullable="1" allow-none="1" scope="notified" closure="6" destroy="7">
<doc xml:space="preserve">the transformation function
from the @target to the source object, or %NULL to use the default</doc>
<type name="BindingTransformFunc" c:type="GBindingTransformFunc"/>
</parameter>
<parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1">
<doc xml:space="preserve">custom data to be passed to the transformation
functions, or %NULL</doc>
<type name="gpointer" c:type="gpointer"/>
</parameter>
<parameter name="user_data_destroy" transfer-ownership="none" scope="async">
<doc xml:space="preserve">function to be called when disposing the binding,
to free the resources used by the transformation functions</doc>
<type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
</parameter>
</parameters>
</method>
<method name="bind_with_closures" c:identifier="g_binding_group_bind_with_closures" shadows="bind_full" version="2.72">
<doc xml:space="preserve">Creates a binding between @source_property on the source object and
@target_property on @target, allowing you to set the transformation
functions to be used by the binding. The binding flag
%G_BINDING_SYNC_CREATE is automatically specified.
This function is the language bindings friendly version of
g_binding_group_bind_property_full(), using #GClosures
instead of function pointers.
See g_object_bind_property_with_closures() for more information.</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
<doc xml:space="preserve">the #GBindingGroup</doc>
<type name="BindingGroup" c:type="GBindingGroup*"/>
</instance-parameter>
<parameter name="source_property" transfer-ownership="none">
<doc xml:space="preserve">the property on the source to bind</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="target" transfer-ownership="none">
<doc xml:space="preserve">the target #GObject</doc>
<type name="Object" c:type="gpointer"/>
</parameter>
<parameter name="target_property" transfer-ownership="none">
<doc xml:space="preserve">the property on @target to bind</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="flags" transfer-ownership="none">
<doc xml:space="preserve">the flags used to create the #GBinding</doc>
<type name="BindingFlags" c:type="GBindingFlags"/>
</parameter>
<parameter name="transform_to" transfer-ownership="none" nullable="1" allow-none="1">
<doc xml:space="preserve">a #GClosure wrapping the
transformation function from the source object to the @target,
or %NULL to use the default</doc>
<type name="Closure" c:type="GClosure*"/>
</parameter>
<parameter name="transform_from" transfer-ownership="none" nullable="1" allow-none="1">
<doc xml:space="preserve">a #GClosure wrapping the
transformation function from the @target to the source object,
or %NULL to use the default</doc>
<type name="Closure" c:type="GClosure*"/>
</parameter>
</parameters>
</method>
<method name="dup_source" c:identifier="g_binding_group_dup_source" version="2.72">
<doc xml:space="preserve">Gets the source object used for binding properties.</doc>
<return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">a #GObject or %NULL.</doc>
<type name="Object" c:type="gpointer"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
<doc xml:space="preserve">the #GBindingGroup</doc>
<type name="BindingGroup" c:type="GBindingGroup*"/>
</instance-parameter>
</parameters>
</method>
<method name="set_source" c:identifier="g_binding_group_set_source" glib:set-property="source" version="2.72">
<doc xml:space="preserve">Sets @source as the source object used for creating property
bindings. If there is already a source object all bindings from it
will be removed.
Note that all properties that have been bound must exist on @source.</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
<doc xml:space="preserve">the #GBindingGroup</doc>
<type name="BindingGroup" c:type="GBindingGroup*"/>
</instance-parameter>
<parameter name="source" transfer-ownership="none" nullable="1" allow-none="1">
<doc xml:space="preserve">the source #GObject,
or %NULL to clear it</doc>
<type name="Object" c:type="gpointer"/>
</parameter>
</parameters>
</method>
<property name="source" version="2.72" writable="1" transfer-ownership="none" setter="set_source">
<doc xml:space="preserve">The source object used for binding properties.</doc>
<type name="Object"/>
</property>
</class>
<callback name="BindingTransformFunc" c:type="GBindingTransformFunc" version="2.26">
<doc xml:space="preserve">A function to be called to transform @from_value to @to_value.
@@ -3212,6 +3413,18 @@ GtkWidget * gtk_frobber_new (void);
#endif
]|
Since the instance structure is public it is often needed to declare a
private struct as follow in your C file:
|[&lt;!-- language="C" --&gt;
typedef struct _GtkFrobberPrivate GtkFrobberPrivate;
struct _GtkFrobberPrivate
{
...
};
G_DEFINE_TYPE_WITH_PRIVATE (GtkFrobber, gtk_frobber, GTK_TYPE_WIDGET)
]|
This results in the following things happening:
- the usual `gtk_frobber_get_type()` function is declared with a return type of #GType
@@ -3287,6 +3500,17 @@ MyAppWindow * my_app_window_new (void);
#endif
]|
And use it as follow in your C file:
|[&lt;!-- language="C" --&gt;
struct _MyAppWindow
{
GtkWindow parent;
...
};
G_DEFINE_TYPE (MyAppWindow, my_app_window, GTK_TYPE_WINDOW)
]|
This results in the following things happening:
- the usual `my_app_window_get_type()` function is declared with a return type of #GType
@@ -3366,6 +3590,18 @@ gpointer my_model_get_item (MyModel *model);
#endif
]|
And use it as follow in your C file:
|[&lt;!-- language="C" --&gt;
G_DEFINE_INTERFACE (MyModel, my_model, G_TYPE_OBJECT);
static void
my_model_default_init (MyModelInterface *iface)
{
...
}
]|
This results in the following things happening:
- the usual `my_model_get_type()` function is declared with a return type of #GType
@@ -3512,7 +3748,7 @@ G_DEFINE_BOXED_TYPE_WITH_CODE (GdkRectangle, gdk_rectangle,
register_rectangle_transform_funcs (g_define_type_id))
]|
Similarly to the %G_DEFINE_TYPE family of macros, the #GType of the newly
Similarly to the `G_DEFINE_TYPE_*` family of macros, the #GType of the newly
defined boxed type is exposed in the `g_define_type_id` variable.</doc>
<parameters>
<parameter name="TypeName">
@@ -4131,6 +4367,12 @@ certain runtime checks to identify invalid casts.</doc>
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_BINDING_GROUP" c:identifier="G_IS_BINDING_GROUP" introspectable="0">
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_ENUM_CLASS" c:identifier="G_IS_ENUM_CLASS" introspectable="0">
<doc xml:space="preserve">Checks whether @class "is a" valid #GEnumClass structure of type %G_TYPE_ENUM
or derived.</doc>
@@ -4386,6 +4628,12 @@ or derived.</doc>
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_SIGNAL_GROUP" c:identifier="G_IS_SIGNAL_GROUP" introspectable="0">
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_TYPE_MODULE" c:identifier="G_IS_TYPE_MODULE" introspectable="0">
<parameters>
<parameter name="module">
@@ -4760,11 +5008,19 @@ properties in set_property() and get_property() implementations.</doc>
<doc xml:space="preserve">The base object type.
All the fields in the `GObject` structure are private to the implementation
and should never be accessed directly.</doc>
and should never be accessed directly.
Since GLib 2.72, all #GObjects are guaranteed to be aligned to at least the
alignment of the largest basic GLib type (typically this is #guint64 or
#gdouble). If you need larger alignment for an element in a #GObject, you
should allocate it on the heap (aligned), or arrange for your #GObject to be
appropriately padded. This guarantee applies to the #GObject (or derived)
struct, the #GObjectClass (or derived) struct, and any private data allocated
by G_ADD_PRIVATE().</doc>
<constructor name="new" c:identifier="g_object_new" introspectable="0">
<doc xml:space="preserve">Creates a new instance of a #GObject subtype and sets its properties.
Construction parameters (see #G_PARAM_CONSTRUCT, #G_PARAM_CONSTRUCT_ONLY)
Construction parameters (see %G_PARAM_CONSTRUCT, %G_PARAM_CONSTRUCT_ONLY)
which are not explicitly specified are set to their default values. Any
private data for the object is guaranteed to be initialized with zeros, as
per g_type_create_instance().
@@ -4781,7 +5037,13 @@ value that you provide is 64 bit. This means that you should use a cast or
make use of the %G_GINT64_CONSTANT or %G_GUINT64_CONSTANT macros.
Similarly, #gfloat is promoted to #gdouble, so you must ensure that the value
you provide is a #gdouble, even for a property of type #gfloat.</doc>
you provide is a #gdouble, even for a property of type #gfloat.
Since GLib 2.72, all #GObjects are guaranteed to be aligned to at least the
alignment of the largest basic GLib type (typically this is #guint64 or
#gdouble). If you need larger alignment for an element in a #GObject, you
should allocate it on the heap (aligned), or arrange for your #GObject to be
appropriately padded.</doc>
<return-value transfer-ownership="full">
<doc xml:space="preserve">a new instance of
@object_type</doc>
@@ -4806,7 +5068,7 @@ you provide is a #gdouble, even for a property of type #gfloat.</doc>
<constructor name="new_valist" c:identifier="g_object_new_valist" introspectable="0">
<doc xml:space="preserve">Creates a new instance of a #GObject subtype and sets its properties.
Construction parameters (see #G_PARAM_CONSTRUCT, #G_PARAM_CONSTRUCT_ONLY)
Construction parameters (see %G_PARAM_CONSTRUCT, %G_PARAM_CONSTRUCT_ONLY)
which are not explicitly specified are set to their default values.</doc>
<return-value transfer-ownership="full">
<doc xml:space="preserve">a new instance of @object_type</doc>
@@ -4866,7 +5128,7 @@ which are not explicitly specified are set to their default values.</doc>
<constructor name="newv" c:identifier="g_object_newv" deprecated="1" deprecated-version="2.54">
<doc xml:space="preserve">Creates a new instance of a #GObject subtype and sets its properties.
Construction parameters (see #G_PARAM_CONSTRUCT, #G_PARAM_CONSTRUCT_ONLY)
Construction parameters (see %G_PARAM_CONSTRUCT, %G_PARAM_CONSTRUCT_ONLY)
which are not explicitly specified are set to their default values.</doc>
<doc-deprecated xml:space="preserve">Use g_object_new_with_properties() instead.
deprecated. See #GParameter for more information.</doc-deprecated>
@@ -7291,7 +7553,7 @@ See also: %G_PARAM_STATIC_STRINGS</doc>
Since 2.26</doc>
</member>
</bitfield>
<class name="ParamSpec" c:symbol-prefix="param_spec" c:type="GParamSpec" abstract="1" glib:type-name="GParam" glib:get-type="intern" glib:type-struct="ParamSpecClass" glib:fundamental="1" glib:ref-func="g_param_spec_ref_sink" glib:unref-func="g_param_spec_uref" glib:set-value-func="g_value_set_param" glib:get-value-func="g_value_get_param">
<class name="ParamSpec" c:symbol-prefix="param_spec" c:type="GParamSpec" abstract="1" glib:type-name="GParam" glib:get-type="intern" glib:type-struct="ParamSpecClass" glib:fundamental="1" glib:ref-func="g_param_spec_ref_sink" glib:unref-func="g_param_spec_unref" glib:set-value-func="g_value_set_param" glib:get-value-func="g_value_get_param">
<doc xml:space="preserve">#GParamSpec is an object structure that encapsulates the metadata
required to specify parameters, such as e.g. #GObject properties.
@@ -7324,7 +7586,7 @@ e.g. a tooltip. The @nick and @blurb should ideally be localized.</doc>
</return-value>
<parameters>
<parameter name="param_type" transfer-ownership="none">
<doc xml:space="preserve">the #GType for the property; must be derived from #G_TYPE_PARAM</doc>
<doc xml:space="preserve">the #GType for the property; must be derived from %G_TYPE_PARAM</doc>
<type name="GType" c:type="GType"/>
</parameter>
<parameter name="name" transfer-ownership="none">
@@ -8399,6 +8661,12 @@ to hand parameter name/value pairs to g_object_newv().</doc>
<doc xml:space="preserve">A mask for all #GSignalFlags bits.</doc>
<type name="gint" c:type="gint"/>
</constant>
<function-macro name="SIGNAL_GROUP" c:identifier="G_SIGNAL_GROUP" introspectable="0">
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<constant name="SIGNAL_MATCH_MASK" value="63" c:type="G_SIGNAL_MATCH_MASK">
<doc xml:space="preserve">A mask for all #GSignalMatchType bits.</doc>
<type name="gint" c:type="gint"/>
@@ -8447,7 +8715,7 @@ last callback.</doc>
Emission hooks allow 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.</doc>
You may not attach these to signals created with the %G_SIGNAL_NO_HOOKS flag.</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">whether it wants to stay connected. If it returns %FALSE, the signal
hook is disconnected (and destroyed).</doc>
@@ -8522,6 +8790,293 @@ You may not attach these to signals created with the #G_SIGNAL_NO_HOOKS flag.</d
call to the accumulator function for a signal emission. Since 2.68.</doc>
</member>
</bitfield>
<class name="SignalGroup" c:symbol-prefix="signal_group" c:type="GSignalGroup" version="2.72" parent="Object" glib:type-name="GSignalGroup" glib:get-type="g_signal_group_get_type">
<doc xml:space="preserve">#GSignalGroup manages to simplify the process of connecting
many signals to a #GObject as a group. As such there is no API
to disconnect a signal from the group.
In particular, this allows you to:
- Change the target instance, which automatically causes disconnection
of the signals from the old instance and connecting to the new instance.
- Block and unblock signals as a group
- Ensuring that blocked state transfers across target instances.
One place you might want to use such a structure is with #GtkTextView and
#GtkTextBuffer. Often times, you'll need to connect to many signals on
#GtkTextBuffer from a #GtkTextView subclass. This allows you to create a
signal group during instance construction, simply bind the
#GtkTextView:buffer property to #GSignalGroup:target and connect
all the signals you need. When the #GtkTextView:buffer property changes
all of the signals will be transitioned correctly.</doc>
<constructor name="new" c:identifier="g_signal_group_new" version="2.72">
<doc xml:space="preserve">Creates a new #GSignalGroup for target instances of @target_type.</doc>
<return-value transfer-ownership="full">
<doc xml:space="preserve">a new #GSignalGroup</doc>
<type name="SignalGroup" c:type="GSignalGroup*"/>
</return-value>
<parameters>
<parameter name="target_type" transfer-ownership="none">
<doc xml:space="preserve">the #GType of the target instance.</doc>
<type name="GType" c:type="GType"/>
</parameter>
</parameters>
</constructor>
<method name="block" c:identifier="g_signal_group_block" version="2.72">
<doc xml:space="preserve">Blocks all signal handlers managed by @self so they will not
be called during any signal emissions. Must be unblocked exactly
the same number of times it has been blocked to become active again.
This blocked state will be kept across changes of the target instance.</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
<doc xml:space="preserve">the #GSignalGroup</doc>
<type name="SignalGroup" c:type="GSignalGroup*"/>
</instance-parameter>
</parameters>
</method>
<method name="connect" c:identifier="g_signal_group_connect" version="2.72" introspectable="0">
<doc xml:space="preserve">Connects @c_handler to the signal @detailed_signal
on the target instance of @self.
You cannot connect a signal handler after #GSignalGroup:target has been set.</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
<doc xml:space="preserve">a #GSignalGroup</doc>
<type name="SignalGroup" c:type="GSignalGroup*"/>
</instance-parameter>
<parameter name="detailed_signal" transfer-ownership="none">
<doc xml:space="preserve">a string of the form "signal-name::detail"</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="c_handler" transfer-ownership="none" scope="notified" closure="2">
<doc xml:space="preserve">the #GCallback to connect</doc>
<type name="Callback" c:type="GCallback"/>
</parameter>
<parameter name="data" transfer-ownership="none" nullable="1" allow-none="1">
<doc xml:space="preserve">the data to pass to @c_handler calls</doc>
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</method>
<method name="connect_after" c:identifier="g_signal_group_connect_after" version="2.72" introspectable="0">
<doc xml:space="preserve">Connects @c_handler to the signal @detailed_signal
on the target instance of @self.
The @c_handler will be called after the default handler of the signal.
You cannot connect a signal handler after #GSignalGroup:target has been set.</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
<doc xml:space="preserve">a #GSignalGroup</doc>
<type name="SignalGroup" c:type="GSignalGroup*"/>
</instance-parameter>
<parameter name="detailed_signal" transfer-ownership="none">
<doc xml:space="preserve">a string of the form "signal-name::detail"</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="c_handler" transfer-ownership="none" scope="notified" closure="2">
<doc xml:space="preserve">the #GCallback to connect</doc>
<type name="Callback" c:type="GCallback"/>
</parameter>
<parameter name="data" transfer-ownership="none" nullable="1" allow-none="1">
<doc xml:space="preserve">the data to pass to @c_handler calls</doc>
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</method>
<method name="connect_data" c:identifier="g_signal_group_connect_data" version="2.72">
<doc xml:space="preserve">Connects @c_handler to the signal @detailed_signal
on the target instance of @self.
You cannot connect a signal handler after #GSignalGroup:target has been set.</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
<doc xml:space="preserve">a #GSignalGroup</doc>
<type name="SignalGroup" c:type="GSignalGroup*"/>
</instance-parameter>
<parameter name="detailed_signal" transfer-ownership="none">
<doc xml:space="preserve">a string of the form "signal-name::detail"</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="c_handler" transfer-ownership="none" scope="notified" closure="2" destroy="3">
<doc xml:space="preserve">the #GCallback to connect</doc>
<type name="Callback" c:type="GCallback"/>
</parameter>
<parameter name="data" transfer-ownership="none" nullable="1" allow-none="1">
<doc xml:space="preserve">the data to pass to @c_handler calls</doc>
<type name="gpointer" c:type="gpointer"/>
</parameter>
<parameter name="notify" transfer-ownership="none" scope="notified">
<doc xml:space="preserve">function to be called when disposing of @self</doc>
<type name="ClosureNotify" c:type="GClosureNotify"/>
</parameter>
<parameter name="flags" transfer-ownership="none">
<doc xml:space="preserve">the flags used to create the signal connection</doc>
<type name="ConnectFlags" c:type="GConnectFlags"/>
</parameter>
</parameters>
</method>
<method name="connect_object" c:identifier="g_signal_group_connect_object" version="2.72" introspectable="0">
<doc xml:space="preserve">Connects @c_handler to the signal @detailed_signal on #GSignalGroup:target.
Ensures that the @object stays alive during the call to @c_handler
by temporarily adding a reference count. When the @object is destroyed
the signal handler will automatically be removed.
You cannot connect a signal handler after #GSignalGroup:target has been set.</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
<doc xml:space="preserve">a #GSignalGroup</doc>
<type name="SignalGroup" c:type="GSignalGroup*"/>
</instance-parameter>
<parameter name="detailed_signal" transfer-ownership="none">
<doc xml:space="preserve">a string of the form `signal-name` with optional `::signal-detail`</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="c_handler" transfer-ownership="none" scope="notified">
<doc xml:space="preserve">the #GCallback to connect</doc>
<type name="Callback" c:type="GCallback"/>
</parameter>
<parameter name="object" transfer-ownership="none">
<doc xml:space="preserve">the #GObject to pass as data to @c_handler calls</doc>
<type name="gpointer" c:type="gpointer"/>
</parameter>
<parameter name="flags" transfer-ownership="none">
<doc xml:space="preserve">#GConnectFlags for the signal connection</doc>
<type name="ConnectFlags" c:type="GConnectFlags"/>
</parameter>
</parameters>
</method>
<method name="connect_swapped" c:identifier="g_signal_group_connect_swapped" version="2.72">
<doc xml:space="preserve">Connects @c_handler to the signal @detailed_signal
on the target instance of @self.
The instance on which the signal is emitted and @data
will be swapped when calling @c_handler.
You cannot connect a signal handler after #GSignalGroup:target has been set.</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
<doc xml:space="preserve">a #GSignalGroup</doc>
<type name="SignalGroup" c:type="GSignalGroup*"/>
</instance-parameter>
<parameter name="detailed_signal" transfer-ownership="none">
<doc xml:space="preserve">a string of the form "signal-name::detail"</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="c_handler" transfer-ownership="none" scope="async" closure="2">
<doc xml:space="preserve">the #GCallback to connect</doc>
<type name="Callback" c:type="GCallback"/>
</parameter>
<parameter name="data" transfer-ownership="none" nullable="1" allow-none="1">
<doc xml:space="preserve">the data to pass to @c_handler calls</doc>
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</method>
<method name="dup_target" c:identifier="g_signal_group_dup_target" version="2.72">
<doc xml:space="preserve">Gets the target instance used when connecting signals.</doc>
<return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve">The target instance</doc>
<type name="Object" c:type="gpointer"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
<doc xml:space="preserve">the #GSignalGroup</doc>
<type name="SignalGroup" c:type="GSignalGroup*"/>
</instance-parameter>
</parameters>
</method>
<method name="set_target" c:identifier="g_signal_group_set_target" glib:set-property="target" version="2.72">
<doc xml:space="preserve">Sets the target instance used when connecting signals. Any signal
that has been registered with g_signal_group_connect_object() or
similar functions will be connected to this object.
If the target instance was previously set, signals will be
disconnected from that object prior to connecting to @target.</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
<doc xml:space="preserve">the #GSignalGroup.</doc>
<type name="SignalGroup" c:type="GSignalGroup*"/>
</instance-parameter>
<parameter name="target" transfer-ownership="none" nullable="1" allow-none="1">
<doc xml:space="preserve">The target instance used
when connecting signals.</doc>
<type name="Object" c:type="gpointer"/>
</parameter>
</parameters>
</method>
<method name="unblock" c:identifier="g_signal_group_unblock" version="2.72">
<doc xml:space="preserve">Unblocks all signal handlers managed by @self so they will be
called again during any signal emissions unless it is blocked
again. Must be unblocked exactly the same number of times it
has been blocked to become active again.</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
<doc xml:space="preserve">the #GSignalGroup</doc>
<type name="SignalGroup" c:type="GSignalGroup*"/>
</instance-parameter>
</parameters>
</method>
<property name="target" version="2.72" writable="1" transfer-ownership="none" setter="set_target">
<doc xml:space="preserve">The target instance used when connecting signals.</doc>
<type name="Object"/>
</property>
<property name="target-type" version="2.72" writable="1" construct-only="1" transfer-ownership="none">
<doc xml:space="preserve">The #GType of the target property.</doc>
<type name="GType" c:type="GType"/>
</property>
<glib:signal name="bind" when="last" version="2.72">
<doc xml:space="preserve">This signal is emitted when #GSignalGroup:target is set to a new value
other than %NULL. It is similar to #GObject::notify on `target` except it
will not emit when #GSignalGroup:target is %NULL and also allows for
receiving the #GObject without a data-race.</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="instance" transfer-ownership="none">
<doc xml:space="preserve">a #GObject containing the new value for #GSignalGroup:target</doc>
<type name="Object"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="unbind" when="last" version="2.72">
<doc xml:space="preserve">This signal is emitted when the target instance of @self is set to a
new #GObject.
This signal will only be emitted if the previous target of @self is
non-%NULL.</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</glib:signal>
</class>
<record name="SignalInvocationHint" c:type="GSignalInvocationHint">
<doc xml:space="preserve">The #GSignalInvocationHint structure is used to pass on additional information
to callbacks during a signal emission.</doc>
@@ -8848,7 +9403,7 @@ The private structure must have been registered in the
class_init function with g_type_class_add_private().
This macro should only be used in type implementations.</doc>
<doc-deprecated xml:space="preserve">Use %G_ADD_PRIVATE and the generated
<doc-deprecated xml:space="preserve">Use G_ADD_PRIVATE() and the generated
`your_type_get_instance_private()` function instead</doc-deprecated>
<parameters>
<parameter name="instance">
@@ -12023,7 +12578,12 @@ triggered when the object is finalized.
Since the object is already being disposed when the #GWeakNotify is called,
there's not much you could do with the object, apart from e.g. using its
address as hash-index or the like.</doc>
address as hash-index or the like.
In particular, this means it&#x2019;s invalid to call g_object_ref(),
g_weak_ref_init(), g_weak_ref_set(), g_object_add_toggle_ref(),
g_object_weak_ref(), g_object_add_weak_pointer() or any function which calls
them on the object from this callback.</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
@@ -12055,11 +12615,14 @@ atomic with respect to invalidation of weak pointers to destroyed
objects.
If the object's #GObjectClass.dispose method results in additional
references to the object being held, any #GWeakRefs taken
before it was disposed will continue to point to %NULL. If
#GWeakRefs are taken after the object is disposed and
re-referenced, they will continue to point to it until its refcount
goes back to zero, at which point they too will be invalidated.</doc>
references to the object being held (&#x2018;re-referencing&#x2019;), any #GWeakRefs taken
before it was disposed will continue to point to %NULL. Any #GWeakRefs taken
during disposal and after re-referencing, or after disposal has returned due
to the re-referencing, will continue to point to the object until its refcount
goes back to zero, at which point they too will be invalidated.
It is invalid to take a #GWeakRef on an object during #GObjectClass.dispose
without first having or creating a strong reference to the object.</doc>
<union name="priv" c:type="priv">
<field name="p" writable="1">
<type name="gpointer" c:type="gpointer"/>
@@ -12235,7 +12798,7 @@ boxed type with name @name.
Boxed type handling functions have to be provided to copy and free
opaque boxed structures of this type.
For the general case, it is recommended to use #G_DEFINE_BOXED_TYPE
For the general case, it is recommended to use G_DEFINE_BOXED_TYPE()
instead of calling g_boxed_type_register_static() directly. The macro
will create the appropriate `*_get_type()` function for the boxed type.</doc>
<return-value transfer-ownership="none">
@@ -14573,7 +15136,7 @@ See g_param_spec_internal() for details on property names.</doc>
</function>
<function name="param_type_register_static" c:identifier="g_param_type_register_static">
<doc xml:space="preserve">Registers @name as the name of a new static type derived
from #G_TYPE_PARAM.
from %G_TYPE_PARAM.
The type system uses the information contained in the #GParamSpecTypeInfo
structure pointed to by @info to manage the #GParamSpec type and its
@@ -14876,7 +15439,7 @@ handling is needed.</doc>
<function name="signal_add_emission_hook" c:identifier="g_signal_add_emission_hook">
<doc xml:space="preserve">Adds an emission hook for a signal, which will get called for any emission
of that signal, independent of the instance. This is possible only
for signals which don't have #G_SIGNAL_NO_HOOKS flag set.</doc>
for signals which don't have %G_SIGNAL_NO_HOOKS flag set.</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">the hook id, for later use with g_signal_remove_emission_hook().</doc>
<type name="gulong" c:type="gulong"/>
@@ -14944,7 +15507,7 @@ g_signal_override_class_handler().</doc>
<parameter name="..." transfer-ownership="none">
<doc xml:space="preserve">parameters to be passed to the parent class closure, followed by a
location for the return value. If the return type of the signal
is #G_TYPE_NONE, the return value location can be omitted.</doc>
is %G_TYPE_NONE, the return value location can be omitted.</doc>
<varargs/>
</parameter>
</parameters>
@@ -14952,7 +15515,7 @@ g_signal_override_class_handler().</doc>
<function-macro name="signal_connect" c:identifier="g_signal_connect" introspectable="0">
<doc xml:space="preserve">Connects a #GCallback function to a signal for a particular object.
The handler will be called before the default handler of the signal.
The handler will be called synchronously, before the default handler of the signal. g_signal_emit() will not return control until all handlers are called.
See [memory management of signal handlers][signal-memory-management] for
details on how to handle the return value and memory management of @data.</doc>
@@ -14974,7 +15537,7 @@ details on how to handle the return value and memory management of @data.</doc>
<function-macro name="signal_connect_after" c:identifier="g_signal_connect_after" introspectable="0">
<doc xml:space="preserve">Connects a #GCallback function to a signal for a particular object.
The handler will be called after the default handler of the signal.</doc>
The handler will be called synchronously, after the default handler of the signal.</doc>
<parameters>
<parameter name="instance">
<doc xml:space="preserve">the instance to connect to.</doc>
@@ -15163,7 +15726,8 @@ g_signal_connect (button, "clicked",
</parameters>
</function-macro>
<function name="signal_emit" c:identifier="g_signal_emit" introspectable="0">
<doc xml:space="preserve">Emits a signal.
<doc xml:space="preserve">Emits a signal. Signal emission is done synchronously.
The method will only return control after all handlers are called or signal emission was stopped.
Note that g_signal_emit() resets the return value to the default
if no handlers are connected, in contrast to g_signal_emitv().</doc>
@@ -15186,13 +15750,14 @@ if no handlers are connected, in contrast to g_signal_emitv().</doc>
<parameter name="..." transfer-ownership="none">
<doc xml:space="preserve">parameters to be passed to the signal, followed by a
location for the return value. If the return type of the signal
is #G_TYPE_NONE, the return value location can be omitted.</doc>
is %G_TYPE_NONE, the return value location can be omitted.</doc>
<varargs/>
</parameter>
</parameters>
</function>
<function name="signal_emit_by_name" c:identifier="g_signal_emit_by_name" introspectable="0">
<doc xml:space="preserve">Emits a signal.
<doc xml:space="preserve">Emits a signal. Signal emission is done synchronously.
The method will only return control after all handlers are called or signal emission was stopped.
Note that g_signal_emit_by_name() resets the return value to the default
if no handlers are connected, in contrast to g_signal_emitv().</doc>
@@ -15218,7 +15783,8 @@ if no handlers are connected, in contrast to g_signal_emitv().</doc>
</parameters>
</function>
<function name="signal_emit_valist" c:identifier="g_signal_emit_valist" introspectable="0">
<doc xml:space="preserve">Emits a signal.
<doc xml:space="preserve">Emits a signal. Signal emission is done synchronously.
The method will only return control after all handlers are called or signal emission was stopped.
Note that g_signal_emit_valist() resets the return value to the default
if no handlers are connected, in contrast to g_signal_emitv().</doc>
@@ -15242,13 +15808,14 @@ if no handlers are connected, in contrast to g_signal_emitv().</doc>
<parameter name="var_args" transfer-ownership="none">
<doc xml:space="preserve">a list of parameters to be passed to the signal, followed by a
location for the return value. If the return type of the signal
is #G_TYPE_NONE, the return value location can be omitted.</doc>
is %G_TYPE_NONE, the return value location can be omitted.</doc>
<type name="va_list" c:type="va_list"/>
</parameter>
</parameters>
</function>
<function name="signal_emitv" c:identifier="g_signal_emitv">
<doc xml:space="preserve">Emits a signal.
<doc xml:space="preserve">Emits a signal. Signal emission is done synchronously.
The method will only return control after all handlers are called or signal emission was stopped.
Note that g_signal_emitv() doesn't change @return_value if no handlers are
connected, in contrast to g_signal_emit() and g_signal_emit_valist().</doc>
@@ -15813,7 +16380,7 @@ be used.</doc>
<type name="SignalCMarshaller" c:type="GSignalCMarshaller"/>
</parameter>
<parameter name="return_type" transfer-ownership="none">
<doc xml:space="preserve">the type of return value, or #G_TYPE_NONE for a signal
<doc xml:space="preserve">the type of return value, or %G_TYPE_NONE for a signal
without a return value.</doc>
<type name="GType" c:type="GType"/>
</parameter>
@@ -15884,7 +16451,7 @@ the marshaller for this signal.</doc>
<type name="SignalCMarshaller" c:type="GSignalCMarshaller"/>
</parameter>
<parameter name="return_type" transfer-ownership="none">
<doc xml:space="preserve">the type of return value, or #G_TYPE_NONE for a signal
<doc xml:space="preserve">the type of return value, or %G_TYPE_NONE for a signal
without a return value.</doc>
<type name="GType" c:type="GType"/>
</parameter>
@@ -15943,7 +16510,7 @@ the marshaller for this signal.</doc>
<type name="SignalCMarshaller" c:type="GSignalCMarshaller"/>
</parameter>
<parameter name="return_type" transfer-ownership="none">
<doc xml:space="preserve">the type of return value, or #G_TYPE_NONE for a signal
<doc xml:space="preserve">the type of return value, or %G_TYPE_NONE for a signal
without a return value.</doc>
<type name="GType" c:type="GType"/>
</parameter>
@@ -16004,7 +16571,7 @@ the marshaller for this signal.</doc>
<type name="SignalCMarshaller" c:type="GSignalCMarshaller"/>
</parameter>
<parameter name="return_type" transfer-ownership="none">
<doc xml:space="preserve">the type of return value, or #G_TYPE_NONE for a signal
<doc xml:space="preserve">the type of return value, or %G_TYPE_NONE for a signal
without a return value</doc>
<type name="GType" c:type="GType"/>
</parameter>
@@ -17235,7 +17802,7 @@ left untouched.</doc>
instances (if not abstract). The value of @flags determines the nature
(e.g. abstract or not) of the type.</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">the new type identifier or #G_TYPE_INVALID if registration failed</doc>
<doc xml:space="preserve">the new type identifier or %G_TYPE_INVALID if registration failed</doc>
<type name="GType" c:type="GType"/>
</return-value>
<parameters>

View File

@@ -192,6 +192,9 @@ for the launched application itself.</doc>
<doc xml:space="preserve">Sets the screen on which applications will be launched when
using this context. See also gdk_app_launch_context_set_display().
Note that, typically, a #GdkScreen represents a logical screen,
not a physical monitor.
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.</doc>
@@ -14770,7 +14773,7 @@ See gdk_keymap_get_caps_lock_state().</doc>
<constant name="MAX_TIMECOORD_AXES" value="128" c:type="GDK_MAX_TIMECOORD_AXES">
<type name="gint" c:type="gint"/>
</constant>
<constant name="MICRO_VERSION" value="31" c:type="GDK_MICRO_VERSION">
<constant name="MICRO_VERSION" value="33" c:type="GDK_MICRO_VERSION">
<type name="gint" c:type="gint"/>
</constant>
<constant name="MINOR_VERSION" value="24" c:type="GDK_MINOR_VERSION">

View File

@@ -72,8 +72,7 @@ sliding, which should take precedence over resizing.</doc>
<doc xml:space="preserve">`GdkAppLaunchContext` handles launching an application in a graphical context.
It is an implementation of `GAppLaunchContext` that provides startup
notification and allows to launch applications on a specific screen
or workspace.
notification and allows to launch applications on a specific workspace.
## Launching an application
@@ -82,7 +81,6 @@ GdkAppLaunchContext *context;
context = gdk_display_get_app_launch_context (display);
gdk_app_launch_context_set_display (display);
gdk_app_launch_context_set_timestamp (gdk_event_get_time (event));
if (!g_app_info_launch_default_for_uri ("http://www.gtk.org", context, &amp;error))
@@ -110,6 +108,10 @@ g_object_unref (context);
This only works when running under a window manager that
supports multiple workspaces, as described in the
[Extended Window Manager Hints](http://www.freedesktop.org/Standards/wm-spec).
Specifically this sets the `_NET_WM_DESKTOP` property described
in that spec.
This only works when using the X11 backend.
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
@@ -710,7 +712,7 @@ See [method@Gdk.Clipboard.read_value_async].</doc>
Values should be passed the same way they are passed to other value
collecting APIs, such as [`method@GObject.Object.set`] or
[`id@g_signal_emit`].
[`func@GObject.signal_emit`].
```c
gdk_clipboard_set (clipboard, GTK_TYPE_STRING, "Hello World");
@@ -952,7 +954,7 @@ Also see [class@Gdk.ContentSerializer].</doc>
<doc xml:space="preserve">Gets the cancellable for the current operation.
This is the `GCancellable` that was passed to [func@Gdk.content_deserialize_async].</doc>
<return-value transfer-ownership="none">
<return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">the cancellable for the current operation</doc>
<type name="Gio.Cancellable" c:type="GCancellable*"/>
</return-value>
@@ -1759,7 +1761,7 @@ given `GType` is not supported, this operation can fail and
<doc xml:space="preserve">a `GdkContentProvider`</doc>
<type name="ContentProvider" c:type="GdkContentProvider*"/>
</instance-parameter>
<parameter name="value" transfer-ownership="none">
<parameter name="value" direction="out" caller-allocates="1" transfer-ownership="none">
<doc xml:space="preserve">the `GValue` to fill</doc>
<type name="GObject.Value" c:type="GValue*"/>
</parameter>
@@ -1895,7 +1897,7 @@ given `GType` is not supported, this operation can fail and
<doc xml:space="preserve">a `GdkContentProvider`</doc>
<type name="ContentProvider" c:type="GdkContentProvider*"/>
</instance-parameter>
<parameter name="value" transfer-ownership="none">
<parameter name="value" direction="out" caller-allocates="1" transfer-ownership="none">
<doc xml:space="preserve">the `GValue` to fill</doc>
<type name="GObject.Value" c:type="GValue*"/>
</parameter>
@@ -2165,7 +2167,7 @@ See [method@Gdk.ContentProvider.write_mime_type_async].</doc>
<doc xml:space="preserve">a `GdkContentProvider`</doc>
<type name="ContentProvider" c:type="GdkContentProvider*"/>
</parameter>
<parameter name="value" transfer-ownership="none">
<parameter name="value" direction="out" caller-allocates="1" transfer-ownership="none">
<doc xml:space="preserve">the `GValue` to fill</doc>
<type name="GObject.Value" c:type="GValue*"/>
</parameter>
@@ -2212,7 +2214,7 @@ Also see [class@Gdk.ContentDeserializer].</doc>
<doc xml:space="preserve">Gets the cancellable for the current operation.
This is the `GCancellable` that was passed to [func@content_serialize_async].</doc>
<return-value transfer-ownership="none">
<return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">the cancellable for the current operation</doc>
<type name="Gio.Cancellable" c:type="GCancellable*"/>
</return-value>
@@ -2458,8 +2460,7 @@ something about it.
Cursors by themselves are not very interesting: they must be bound to a
window for users to see them. This is done with [method@Gdk.Surface.set_cursor]
or [method@Gdk.Surface.set_device_cursor]. Applications will typically
use higher-level GTK functions such as [method@Gtk.Widget.set_cursor]`
instead.
use higher-level GTK functions such as [method@Gtk.Widget.set_cursor] instead.
Cursors are not bound to a given [class@Gdk.Display], so they can be shared.
However, the appearance of cursors may vary when used on different
@@ -2773,7 +2774,7 @@ This is only relevant for keyboard devices.</doc>
<method name="get_device_tool" c:identifier="gdk_device_get_device_tool">
<attribute name="org.gtk.Method.get_property" value="tool"/>
<doc xml:space="preserve">Retrieves the current tool for @device.</doc>
<return-value transfer-ownership="none">
<return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">the `GdkDeviceTool`</doc>
<type name="DeviceTool" c:type="GdkDeviceTool*"/>
</return-value>
@@ -3157,7 +3158,7 @@ See [method@Gdk.Device.get_vendor_id].</doc>
<type name="utf8" c:type="gchar*"/>
</property>
<glib:signal name="changed" when="last">
<doc xml:space="preserve">Emitted either when the the number of either axes or keys changes.
<doc xml:space="preserve">Emitted either when the number of either axes or keys changes.
On X11 this will normally happen when the physical device
routing events through the logical device changes (for
@@ -3478,6 +3479,27 @@ This cleans up associated resources.</doc>
</instance-parameter>
</parameters>
</method>
<method name="create_gl_context" c:identifier="gdk_display_create_gl_context" version="4.6" throws="1">
<doc xml:space="preserve">Creates a new `GdkGLContext` for the `GdkDisplay`.
The context is disconnected from any particular surface or surface
and cannot be used to draw to any surface. It can only be used to
draw to non-surface framebuffers like textures.
If the creation of the `GdkGLContext` failed, @error will be set.
Before using the returned `GdkGLContext`, you will need to
call [method@Gdk.GLContext.make_current] or [method@Gdk.GLContext.realize].</doc>
<return-value transfer-ownership="full">
<doc xml:space="preserve">the newly created `GdkGLContext`</doc>
<type name="GLContext" c:type="GdkGLContext*"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
<doc xml:space="preserve">a `GdkDisplay`</doc>
<type name="Display" c:type="GdkDisplay*"/>
</instance-parameter>
</parameters>
</method>
<method name="device_is_grabbed" c:identifier="gdk_display_device_is_grabbed">
<doc xml:space="preserve">Returns %TRUE if there is an ongoing grab on @device for @display.</doc>
<return-value transfer-ownership="none">
@@ -4611,7 +4633,8 @@ these functions explicitly.</doc>
</return-value>
<parameters>
<instance-parameter name="context" transfer-ownership="none">
<doc xml:space="preserve">the `GdkDrawContext` used to draw the frame</doc>
<doc xml:space="preserve">the `GdkDrawContext` used to draw the frame. The context must
have a surface.</doc>
<type name="DrawContext" c:type="GdkDrawContext*"/>
</instance-parameter>
<parameter name="region" transfer-ownership="none">
@@ -5145,7 +5168,10 @@ If not, this function returns %FALSE.</doc>
</parameters>
</method>
<method name="get_axes" c:identifier="gdk_event_get_axes">
<doc xml:space="preserve">Extracts all axis values from an event.</doc>
<doc xml:space="preserve">Extracts all axis values from an event.
To find out which axes are used, use [method@Gdk.DeviceTool.get_axes]
on the device tool returned by [method@Gdk.Event.get_device_tool].</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE on success, otherwise %FALSE</doc>
<type name="gboolean" c:type="gboolean"/>
@@ -5169,7 +5195,10 @@ If not, this function returns %FALSE.</doc>
</method>
<method name="get_axis" c:identifier="gdk_event_get_axis">
<doc xml:space="preserve">Extract the axis value for a particular axis use from
an event structure.</doc>
an event structure.
To find out which axes are used, use [method@Gdk.DeviceTool.get_axes]
on the device tool returned by [method@Gdk.Event.get_device_tool].</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the specified axis was found, otherwise %FALSE</doc>
<type name="gboolean" c:type="gboolean"/>
@@ -5274,7 +5303,8 @@ The history includes positions that are not delivered as separate events
to the application because they occurred in the same frame as @event.
Note that only motion and scroll events record history, and motion
events do it only if one of the mouse buttons is down.</doc>
events do it only if one of the mouse buttons is down, or the device
has a tool.</doc>
<return-value transfer-ownership="container" nullable="1">
<doc xml:space="preserve">an
array of time and coordinates</doc>
@@ -5356,7 +5386,7 @@ Emulated pointer events typically originate from a touch events.</doc>
</method>
<method name="get_surface" c:identifier="gdk_event_get_surface">
<doc xml:space="preserve">Extracts the surface associated with an event.</doc>
<return-value transfer-ownership="none">
<return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">The `GdkSurface` associated with the event</doc>
<type name="Surface" c:type="GdkSurface*"/>
</return-value>
@@ -5527,7 +5557,11 @@ of related touch events.</doc>
<member name="pad_group_mode" value="27" c:identifier="GDK_PAD_GROUP_MODE" glib:nick="pad-group-mode" glib:name="GDK_PAD_GROUP_MODE">
<doc xml:space="preserve">A tablet pad group mode change.</doc>
</member>
<member name="event_last" value="28" c:identifier="GDK_EVENT_LAST" glib:nick="event-last" glib:name="GDK_EVENT_LAST">
<member name="touchpad_hold" value="28" c:identifier="GDK_TOUCHPAD_HOLD" glib:nick="touchpad-hold" glib:name="GDK_TOUCHPAD_HOLD">
<doc xml:space="preserve">A touchpad hold gesture event, the current state
is determined by its phase field. Since: 4.6</doc>
</member>
<member name="event_last" value="29" c:identifier="GDK_EVENT_LAST" glib:nick="event-last" glib:name="GDK_EVENT_LAST">
<doc xml:space="preserve">marks the end of the GdkEventType enumeration.</doc>
</member>
</enumeration>
@@ -5549,8 +5583,26 @@ of related touch events.</doc>
</parameter>
</parameters>
</function-macro>
<glib:boxed glib:name="FileList" c:symbol-prefix="file_list" glib:type-name="GdkFileList" glib:get-type="gdk_file_list_get_type">
</glib:boxed>
<record name="FileList" c:type="GdkFileList" version="4.6" glib:type-name="GdkFileList" glib:get-type="gdk_file_list_get_type" c:symbol-prefix="file_list">
<doc xml:space="preserve">An opaque type representing a list of files.</doc>
<method name="get_files" c:identifier="gdk_file_list_get_files" version="4.6">
<doc xml:space="preserve">Retrieves the list of files inside a `GdkFileList`.
This function is meant for language bindings.</doc>
<return-value transfer-ownership="container">
<doc xml:space="preserve">the files inside the list</doc>
<type name="GLib.SList" c:type="GSList*">
<type name="Gio.File"/>
</type>
</return-value>
<parameters>
<instance-parameter name="file_list" transfer-ownership="none">
<doc xml:space="preserve">the file list</doc>
<type name="FileList" c:type="GdkFileList*"/>
</instance-parameter>
</parameters>
</method>
</record>
<class name="FocusEvent" c:symbol-prefix="focus_event" c:type="GdkFocusEvent" parent="Event" glib:type-name="GdkFocusEvent" glib:get-type="gdk_focus_event_get_type" glib:fundamental="1">
<doc xml:space="preserve">An event related to a keyboard focus change.</doc>
<method name="get_in" c:identifier="gdk_focus_event_get_in">
@@ -6069,13 +6121,22 @@ If @timings is no longer referenced, it will be freed.</doc>
<doc xml:space="preserve">Span across all monitors when fullscreen.</doc>
</member>
</enumeration>
<bitfield name="GLAPI" version="4.6" glib:type-name="GdkGLAPI" glib:get-type="gdk_gl_api_get_type" c:type="GdkGLAPI">
<doc xml:space="preserve">The list of the different APIs that GdkGLContext can potentially support.</doc>
<member name="gl" value="1" c:identifier="GDK_GL_API_GL" glib:nick="gl" glib:name="GDK_GL_API_GL">
<doc xml:space="preserve">The OpenGL API</doc>
</member>
<member name="gles" value="2" c:identifier="GDK_GL_API_GLES" glib:nick="gles" glib:name="GDK_GL_API_GLES">
<doc xml:space="preserve">The OpenGL ES API</doc>
</member>
</bitfield>
<class name="GLContext" c:symbol-prefix="gl_context" c:type="GdkGLContext" parent="DrawContext" abstract="1" glib:type-name="GdkGLContext" glib:get-type="gdk_gl_context_get_type">
<doc xml:space="preserve">`GdkGLContext` is an object representing a platform-specific
OpenGL draw context.
`GdkGLContext`s are created for a surface using
[method@Gdk.Surface.create_gl_context], and the context will match
the the characteristics of the surface.
the characteristics of the surface.
A `GdkGLContext` is not tied to any particular normal framebuffer.
For instance, it cannot draw to the surface back buffer. The GDK
@@ -6135,6 +6196,36 @@ until [method@Gdk.GLContext.make_current] is called.</doc>
<type name="GLContext" c:type="GdkGLContext*"/>
</return-value>
</function>
<method name="get_allowed_apis" c:identifier="gdk_gl_context_get_allowed_apis" glib:get-property="allowed-apis" version="4.6">
<attribute name="org.gtk.Method.get_property" value="allowed-apis"/>
<doc xml:space="preserve">Gets the allowed APIs set via gdk_gl_context_set_allowed_apis().</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">the allowed APIs</doc>
<type name="GLAPI" c:type="GdkGLAPI"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
<doc xml:space="preserve">a GL context</doc>
<type name="GLContext" c:type="GdkGLContext*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_api" c:identifier="gdk_gl_context_get_api" glib:get-property="api" version="4.6">
<attribute name="org.gtk.Method.get_property" value="api"/>
<doc xml:space="preserve">Gets the API currently in use.
If the renderer has not been realized yet, 0 is returned.</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">the currently used API</doc>
<type name="GLAPI" c:type="GdkGLAPI"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
<doc xml:space="preserve">a GL context</doc>
<type name="GLContext" c:type="GdkGLContext*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_debug_enabled" c:identifier="gdk_gl_context_get_debug_enabled">
<doc xml:space="preserve">Retrieves whether the context is doing extra validations and runtime checking.
@@ -6350,6 +6441,29 @@ It is safe to call this function on a realized `GdkGLContext`.</doc>
</instance-parameter>
</parameters>
</method>
<method name="set_allowed_apis" c:identifier="gdk_gl_context_set_allowed_apis" glib:set-property="allowed-apis" version="4.6">
<attribute name="org.gtk.Method.set_property" value="allowed-apis"/>
<doc xml:space="preserve">Sets the allowed APIs. When gdk_gl_context_realize() is called, only the
allowed APIs will be tried. If you set this to 0, realizing will always fail.
If you set it on a realized context, the property will not have any effect.
It is only relevant during gdk_gl_context_realize().
By default, all APIs are allowed.</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
<doc xml:space="preserve">a GL context</doc>
<type name="GLContext" c:type="GdkGLContext*"/>
</instance-parameter>
<parameter name="apis" transfer-ownership="none">
<doc xml:space="preserve">the allowed APIs</doc>
<type name="GLAPI" c:type="GdkGLAPI"/>
</parameter>
</parameters>
</method>
<method name="set_debug_enabled" c:identifier="gdk_gl_context_set_debug_enabled">
<doc xml:space="preserve">Sets whether the `GdkGLContext` should perform extra validations and
runtime checking.
@@ -6450,6 +6564,16 @@ the OpenGL or OpenGL ES API, extensions, or shaders.</doc>
</parameter>
</parameters>
</method>
<property name="allowed-apis" version="4.6" writable="1" transfer-ownership="none" setter="set_allowed_apis" getter="get_allowed_apis">
<attribute name="org.gtk.Property.get" value="gdk_gl_context_get_allowed_apis"/>
<doc xml:space="preserve">The allowed APIs.</doc>
<type name="GLAPI"/>
</property>
<property name="api" version="4.6" transfer-ownership="none" getter="get_api">
<attribute name="org.gtk.Property.get" value="gdk_gl_context_get_api"/>
<doc xml:space="preserve">The API currently in use.</doc>
<type name="GLAPI"/>
</property>
<property name="shared-context" deprecated="1" deprecated-version="4.4" writable="1" construct-only="1" transfer-ownership="none" getter="get_shared_context">
<attribute name="org.gtk.Property.get" value="gdk_gl_context_get_shared_context"/>
<doc xml:space="preserve">Always %NULL
@@ -6487,6 +6611,8 @@ anymore, this function has been deprecated and now always returns %NULL.</doc>
<class name="GLTexture" c:symbol-prefix="gl_texture" c:type="GdkGLTexture" parent="Texture" glib:type-name="GdkGLTexture" glib:get-type="gdk_gl_texture_get_type" glib:type-struct="GLTextureClass">
<doc xml:space="preserve">A GdkTexture representing a GL texture object.</doc>
<implements name="Paintable"/>
<implements name="Gio.Icon"/>
<implements name="Gio.LoadableIcon"/>
<constructor name="new" c:identifier="gdk_gl_texture_new">
<doc xml:space="preserve">Creates a new texture for an existing GL texture.
@@ -6494,8 +6620,9 @@ Note that the GL texture must not be modified until @destroy is called,
which will happen when the GdkTexture object is finalized, or due to
an explicit call of [method@Gdk.GLTexture.release].</doc>
<return-value transfer-ownership="full">
<doc xml:space="preserve">A newly-created `GdkTexture`</doc>
<type name="Texture" c:type="GdkTexture*"/>
<doc xml:space="preserve">A newly-created
`GdkTexture`</doc>
<type name="GLTexture" c:type="GdkTexture*"/>
</return-value>
<parameters>
<parameter name="context" transfer-ownership="none">
@@ -13851,7 +13978,7 @@ Note that we ignore Caps Lock for matching.</doc>
</parameters>
</function-macro>
<enumeration name="MemoryFormat" glib:type-name="GdkMemoryFormat" glib:get-type="gdk_memory_format_get_type" c:type="GdkMemoryFormat">
<doc xml:space="preserve">`GdkMemoryFormat` describes a format that bytes can have in memory.
<doc xml:space="preserve">`GdkMemoryFormat` describes formats that image data can have in memory.
It describes formats by listing the contents of the memory passed to it.
So GDK_MEMORY_A8R8G8B8 will be 1 byte (8 bits) of alpha, followed by a
@@ -13892,7 +14019,43 @@ for details).</doc>
<member name="b8g8r8" value="8" c:identifier="GDK_MEMORY_B8G8R8" glib:nick="b8g8r8" glib:name="GDK_MEMORY_B8G8R8">
<doc xml:space="preserve">3 bytes; for blue, green, red. The data is opaque.</doc>
</member>
<member name="n_formats" value="9" c:identifier="GDK_MEMORY_N_FORMATS" glib:nick="n-formats" glib:name="GDK_MEMORY_N_FORMATS">
<member name="r16g16b16" value="9" c:identifier="GDK_MEMORY_R16G16B16" glib:nick="r16g16b16" glib:name="GDK_MEMORY_R16G16B16">
<doc xml:space="preserve">3 guint16 values; for red, green, blue. Since: 4.6</doc>
</member>
<member name="r16g16b16a16_premultiplied" value="10" c:identifier="GDK_MEMORY_R16G16B16A16_PREMULTIPLIED" glib:nick="r16g16b16a16-premultiplied" glib:name="GDK_MEMORY_R16G16B16A16_PREMULTIPLIED">
<doc xml:space="preserve">4 guint16 values; for red, green,
blue, alpha. The color values are premultiplied with the alpha value.
Since: 4.6</doc>
</member>
<member name="r16g16b16a16" value="11" c:identifier="GDK_MEMORY_R16G16B16A16" glib:nick="r16g16b16a16" glib:name="GDK_MEMORY_R16G16B16A16">
<doc xml:space="preserve">4 guint16 values; for red, green, blue, alpha.
Since: 4.6</doc>
</member>
<member name="r16g16b16_float" value="12" c:identifier="GDK_MEMORY_R16G16B16_FLOAT" glib:nick="r16g16b16-float" glib:name="GDK_MEMORY_R16G16B16_FLOAT">
<doc xml:space="preserve">3 half-float values; for red, green, blue.
The data is opaque. Since: 4.6</doc>
</member>
<member name="r16g16b16a16_float_premultiplied" value="13" c:identifier="GDK_MEMORY_R16G16B16A16_FLOAT_PREMULTIPLIED" glib:nick="r16g16b16a16-float-premultiplied" glib:name="GDK_MEMORY_R16G16B16A16_FLOAT_PREMULTIPLIED">
<doc xml:space="preserve">4 half-float values; for
red, green, blue and alpha. The color values are premultiplied with
the alpha value. Since: 4.6</doc>
</member>
<member name="r16g16b16a16_float" value="14" c:identifier="GDK_MEMORY_R16G16B16A16_FLOAT" glib:nick="r16g16b16a16-float" glib:name="GDK_MEMORY_R16G16B16A16_FLOAT">
<doc xml:space="preserve">4 half-float values; for red, green,
blue and alpha. Since: 4.6</doc>
</member>
<member name="r32g32b32_float" value="15" c:identifier="GDK_MEMORY_R32G32B32_FLOAT" glib:nick="r32g32b32-float" glib:name="GDK_MEMORY_R32G32B32_FLOAT">
</member>
<member name="r32g32b32a32_float_premultiplied" value="16" c:identifier="GDK_MEMORY_R32G32B32A32_FLOAT_PREMULTIPLIED" glib:nick="r32g32b32a32-float-premultiplied" glib:name="GDK_MEMORY_R32G32B32A32_FLOAT_PREMULTIPLIED">
<doc xml:space="preserve">4 float values; for
red, green, blue and alpha. The color values are premultiplied with
the alpha value. Since: 4.6</doc>
</member>
<member name="r32g32b32a32_float" value="17" c:identifier="GDK_MEMORY_R32G32B32A32_FLOAT" glib:nick="r32g32b32a32-float" glib:name="GDK_MEMORY_R32G32B32A32_FLOAT">
<doc xml:space="preserve">4 float values; for red, green, blue and
alpha. Since: 4.6</doc>
</member>
<member name="n_formats" value="18" c:identifier="GDK_MEMORY_N_FORMATS" glib:nick="n-formats" glib:name="GDK_MEMORY_N_FORMATS">
<doc xml:space="preserve">The number of formats. This value will change as
more formats get added, so do not rely on its concrete integer.</doc>
</member>
@@ -13900,14 +14063,16 @@ for details).</doc>
<class name="MemoryTexture" c:symbol-prefix="memory_texture" c:type="GdkMemoryTexture" parent="Texture" glib:type-name="GdkMemoryTexture" glib:get-type="gdk_memory_texture_get_type" glib:type-struct="MemoryTextureClass">
<doc xml:space="preserve">A `GdkTexture` representing image data in memory.</doc>
<implements name="Paintable"/>
<implements name="Gio.Icon"/>
<implements name="Gio.LoadableIcon"/>
<constructor name="new" c:identifier="gdk_memory_texture_new">
<doc xml:space="preserve">Creates a new texture for a blob of image data.
The `GBytes` must contain @stride x @height pixels
The `GBytes` must contain @stride &#xD7; @height pixels
in the given format.</doc>
<return-value transfer-ownership="full">
<doc xml:space="preserve">A newly-created `GdkTexture`</doc>
<type name="Texture" c:type="GdkTexture*"/>
<type name="MemoryTexture" c:type="GdkTexture*"/>
</return-value>
<parameters>
<parameter name="width" transfer-ownership="none">
@@ -14943,7 +15108,7 @@ property.</doc>
<method name="get_parent" c:identifier="gdk_popup_get_parent" glib:get-property="parent">
<attribute name="org.gtk.Method.get_property" value="parent"/>
<doc xml:space="preserve">Returns the parent surface of a popup.</doc>
<return-value transfer-ownership="none">
<return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">the parent surface</doc>
<type name="Surface" c:type="GdkSurface*"/>
</return-value>
@@ -15532,7 +15697,7 @@ from previous contents.</doc>
The string can be either one of:
- A standard name (Taken from the X11 rgb.txt file).
- A standard name (Taken from the Css specification).
- A hexadecimal value in the form &#x201C;\#rgb&#x201D;, &#x201C;\#rrggbb&#x201D;,
&#x201C;\#rrrgggbbb&#x201D; or &#x201D;\#rrrrggggbbbb&#x201D;
- A hexadecimal value in the form &#x201C;\#rgba&#x201D;, &#x201C;\#rrggbbaa&#x201D;,
@@ -16042,8 +16207,8 @@ of physical pixels on an output device are laid out.</doc>
It&#x2019;s a low-level object, used to implement high-level objects
such as [class@Gtk.Window] or [class@Gtk.Dialog] in GTK.
The surfaces you see in practice are either [class@Gdk.Toplevel] or
[class@Gdk.Popup], and those interfaces provide much of the required
The surfaces you see in practice are either [iface@Gdk.Toplevel] or
[iface@Gdk.Popup], and those interfaces provide much of the required
API to interact with these surfaces. Other, more specialized surface
types exist, but you will rarely interact with them directly.</doc>
<constructor name="new_popup" c:identifier="gdk_surface_new_popup">
@@ -16114,7 +16279,7 @@ The context is disconnected from any particular surface or surface.
If the creation of the `GdkGLContext` failed, @error will be set.
Before using the returned `GdkGLContext`, you will need to
call [method@Gdk.GLContext.make_current] or [method@Gdk.GLContext.realize].</doc>
<return-value transfer-ownership="full" nullable="1">
<return-value transfer-ownership="full">
<doc xml:space="preserve">the newly created `GdkGLContext`</doc>
<type name="GLContext" c:type="GdkGLContext*"/>
</return-value>
@@ -16729,18 +16894,23 @@ It is primarily meant for pixel data that will not change over
multiple frames, and will be used for a long time.
There are various ways to create `GdkTexture` objects from a
`GdkPixbuf`, or a Cairo surface, or other pixel data.
[class@GdkPixbuf.Pixbuf], or a Cairo surface, or other pixel data.
The ownership of the pixel data is transferred to the `GdkTexture`
instance; you can only make a copy of it, via
[method@Gdk.Texture.download].
instance; you can only make a copy of it, via [method@Gdk.Texture.download].
`GdkTexture` is an immutable object: That means you cannot change
anything about it other than increasing the reference count via
g_object_ref().</doc>
[method@GObject.Object.ref], and consequently, it is a thread-safe object.</doc>
<implements name="Paintable"/>
<implements name="Gio.Icon"/>
<implements name="Gio.LoadableIcon"/>
<constructor name="new_for_pixbuf" c:identifier="gdk_texture_new_for_pixbuf">
<doc xml:space="preserve">Creates a new texture object representing the `GdkPixbuf`.</doc>
<doc xml:space="preserve">Creates a new texture object representing the `GdkPixbuf`.
This function is threadsafe, so that you can e.g. use GTask
and [method@Gio.Task.run_in_thread] to avoid blocking the main thread
while loading a big image.</doc>
<return-value transfer-ownership="full">
<doc xml:space="preserve">a new `GdkTexture`</doc>
<type name="Texture" c:type="GdkTexture*"/>
@@ -16752,13 +16922,39 @@ g_object_ref().</doc>
</parameter>
</parameters>
</constructor>
<constructor name="new_from_bytes" c:identifier="gdk_texture_new_from_bytes" version="4.6" throws="1">
<doc xml:space="preserve">Creates a new texture by loading an image from memory,
The file format is detected automatically. The supported formats
are PNG and JPEG, though more formats might be available.
If %NULL is returned, then @error will be set.
This function is threadsafe, so that you can e.g. use GTask
and [method@Gio.Task.run_in_thread] to avoid blocking the main thread
while loading a big image.</doc>
<return-value transfer-ownership="full">
<doc xml:space="preserve">A newly-created `GdkTexture`</doc>
<type name="Texture" c:type="GdkTexture*"/>
</return-value>
<parameters>
<parameter name="bytes" transfer-ownership="none">
<doc xml:space="preserve">a `GBytes` containing the data to load</doc>
<type name="GLib.Bytes" c:type="GBytes*"/>
</parameter>
</parameters>
</constructor>
<constructor name="new_from_file" c:identifier="gdk_texture_new_from_file" throws="1">
<doc xml:space="preserve">Creates a new texture by loading an image from a file.
The file format is detected automatically. The supported formats
are PNG and JPEG, though more formats might be available.
If %NULL is returned, then @error will be set.</doc>
If %NULL is returned, then @error will be set.
This function is threadsafe, so that you can e.g. use GTask
and [method@Gio.Task.run_in_thread] to avoid blocking the main thread
while loading a big image.</doc>
<return-value transfer-ownership="full">
<doc xml:space="preserve">A newly-created `GdkTexture`</doc>
<type name="Texture" c:type="GdkTexture*"/>
@@ -16770,6 +16966,28 @@ If %NULL is returned, then @error will be set.</doc>
</parameter>
</parameters>
</constructor>
<constructor name="new_from_filename" c:identifier="gdk_texture_new_from_filename" version="4.6" throws="1">
<doc xml:space="preserve">Creates a new texture by loading an image from a file.
The file format is detected automatically. The supported formats
are PNG and JPEG, though more formats might be available.
If %NULL is returned, then @error will be set.
This function is threadsafe, so that you can e.g. use GTask
and [method@Gio.Task.run_in_thread] to avoid blocking the main thread
while loading a big image.</doc>
<return-value transfer-ownership="full">
<doc xml:space="preserve">A newly-created `GdkTexture`</doc>
<type name="Texture" c:type="GdkTexture*"/>
</return-value>
<parameters>
<parameter name="path" transfer-ownership="none">
<doc xml:space="preserve">the filename to load</doc>
<type name="filename" c:type="const char*"/>
</parameter>
</parameters>
</constructor>
<constructor name="new_from_resource" c:identifier="gdk_texture_new_from_resource">
<doc xml:space="preserve">Creates a new texture by loading an image from a resource.
@@ -16779,7 +16997,11 @@ are PNG and JPEG, though more formats might be available.
It is a fatal error if @resource_path does not specify a valid
image resource and the program will abort if that happens.
If you are unsure about the validity of a resource, use
[ctor@Gdk.Texture.new_from_file] to load it.</doc>
[ctor@Gdk.Texture.new_from_file] to load it.
This function is threadsafe, so that you can e.g. use GTask
and [method@Gio.Task.run_in_thread] to avoid blocking the main thread
while loading a big image.</doc>
<return-value transfer-ownership="full">
<doc xml:space="preserve">A newly-created `GdkTexture`</doc>
<type name="Texture" c:type="GdkTexture*"/>
@@ -16865,8 +17087,9 @@ cairo_surface_mark_dirty (surface);
This is a utility function intended for debugging and testing.
If you want more control over formats, proper error handling or
want to store to a `GFile` or other location, you might want to
look into using the gdk-pixbuf library.</doc>
want to store to a [iface@Gio.File] or other location, you might want to
use [method@Gdk.Texture.save_to_png_bytes] or look into the
gdk-pixbuf library.</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if saving succeeded, %FALSE on failure.</doc>
<type name="gboolean" c:type="gboolean"/>
@@ -16882,6 +17105,75 @@ look into using the gdk-pixbuf library.</doc>
</parameter>
</parameters>
</method>
<method name="save_to_png_bytes" c:identifier="gdk_texture_save_to_png_bytes" version="4.6">
<doc xml:space="preserve">Store the given @texture in memory as a PNG file.
Use [ctor@Gdk.Texture.new_from_bytes] to read it back.
If you want to serialize a texture, this is a convenient and
portable way to do that.
If you need more control over the generated image, such as
attaching metadata, you should look into an image handling
library such as the gdk-pixbuf library.
If you are dealing with high dynamic range float data, you
might also want to consider [method@Gdk.Texture.save_to_tiff_bytes]
instead.</doc>
<return-value transfer-ownership="full">
<doc xml:space="preserve">a newly allocated `GBytes` containing PNG data</doc>
<type name="GLib.Bytes" c:type="GBytes*"/>
</return-value>
<parameters>
<instance-parameter name="texture" transfer-ownership="none">
<doc xml:space="preserve">a `GdkTexture`</doc>
<type name="Texture" c:type="GdkTexture*"/>
</instance-parameter>
</parameters>
</method>
<method name="save_to_tiff" c:identifier="gdk_texture_save_to_tiff" version="4.6">
<doc xml:space="preserve">Store the given @texture to the @filename as a TIFF file.
GTK will attempt to store data without loss.</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if saving succeeded, %FALSE on failure.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="texture" transfer-ownership="none">
<doc xml:space="preserve">a `GdkTexture`</doc>
<type name="Texture" c:type="GdkTexture*"/>
</instance-parameter>
<parameter name="filename" transfer-ownership="none">
<doc xml:space="preserve">the filename to store to</doc>
<type name="filename" c:type="const char*"/>
</parameter>
</parameters>
</method>
<method name="save_to_tiff_bytes" c:identifier="gdk_texture_save_to_tiff_bytes" version="4.6">
<doc xml:space="preserve">Store the given @texture in memory as a TIFF file.
Use [ctor@Gdk.Texture.new_from_bytes] to read it back.
This function is intended to store a representation of the
texture's data that is as accurate as possible. This is
particularly relevant when working with high dynamic range
images and floating-point texture data.
If that is not your concern and you are interested in a
smaller size and a more portable format, you might want to
use [method@Gdk.Texture.save_to_png_bytes].</doc>
<return-value transfer-ownership="full">
<doc xml:space="preserve">a newly allocated `GBytes` containing TIFF data</doc>
<type name="GLib.Bytes" c:type="GBytes*"/>
</return-value>
<parameters>
<instance-parameter name="texture" transfer-ownership="none">
<doc xml:space="preserve">a `GdkTexture`</doc>
<type name="Texture" c:type="GdkTexture*"/>
</instance-parameter>
</parameters>
</method>
<property name="height" writable="1" construct-only="1" transfer-ownership="none" getter="get_height">
<attribute name="org.gtk.Property.get" value="gdk_texture_get_height"/>
<doc xml:space="preserve">The height of the texture, in pixels.</doc>
@@ -16894,6 +17186,27 @@ look into using the gdk-pixbuf library.</doc>
</property>
</class>
<record name="TextureClass" c:type="GdkTextureClass" disguised="1" glib:is-gtype-struct-for="Texture"/>
<enumeration name="TextureError" version="4.6" glib:type-name="GdkTextureError" glib:get-type="gdk_texture_error_get_type" c:type="GdkTextureError" glib:error-domain="gdk-texture-error-quark">
<doc xml:space="preserve">Possible errors that can be returned by `GdkTexture` constructors.</doc>
<member name="too_large" value="0" c:identifier="GDK_TEXTURE_ERROR_TOO_LARGE" glib:nick="too-large" glib:name="GDK_TEXTURE_ERROR_TOO_LARGE">
<doc xml:space="preserve">Not enough memory to handle this image</doc>
</member>
<member name="corrupt_image" value="1" c:identifier="GDK_TEXTURE_ERROR_CORRUPT_IMAGE" glib:nick="corrupt-image" glib:name="GDK_TEXTURE_ERROR_CORRUPT_IMAGE">
<doc xml:space="preserve">The image data appears corrupted</doc>
</member>
<member name="unsupported_content" value="2" c:identifier="GDK_TEXTURE_ERROR_UNSUPPORTED_CONTENT" glib:nick="unsupported-content" glib:name="GDK_TEXTURE_ERROR_UNSUPPORTED_CONTENT">
<doc xml:space="preserve">The image contains features
that cannot be loaded</doc>
</member>
<member name="unsupported_format" value="3" c:identifier="GDK_TEXTURE_ERROR_UNSUPPORTED_FORMAT" glib:nick="unsupported-format" glib:name="GDK_TEXTURE_ERROR_UNSUPPORTED_FORMAT">
<doc xml:space="preserve">The image format is not supported</doc>
</member>
<function name="quark" c:identifier="gdk_texture_error_quark">
<return-value transfer-ownership="none">
<type name="GLib.Quark" c:type="GQuark"/>
</return-value>
</function>
</enumeration>
<record name="TimeCoord" c:type="GdkTimeCoord">
<doc xml:space="preserve">A `GdkTimeCoord` stores a single event in a motion history.</doc>
<field name="time" writable="1">
@@ -16911,7 +17224,7 @@ look into using the gdk-pixbuf library.</doc>
</array>
</field>
</record>
<enumeration name="TitlebarGesture" glib:type-name="GdkTitlebarGesture" glib:get-type="gdk_titlebar_gesture_get_type" c:type="GdkTitlebarGesture">
<enumeration name="TitlebarGesture" version="4.4" glib:type-name="GdkTitlebarGesture" glib:get-type="gdk_titlebar_gesture_get_type" c:type="GdkTitlebarGesture">
<member name="double_click" value="1" c:identifier="GDK_TITLEBAR_GESTURE_DOUBLE_CLICK" glib:nick="double-click" glib:name="GDK_TITLEBAR_GESTURE_DOUBLE_CLICK">
</member>
<member name="right_click" value="2" c:identifier="GDK_TITLEBAR_GESTURE_RIGHT_CLICK" glib:nick="right-click" glib:name="GDK_TITLEBAR_GESTURE_RIGHT_CLICK">
@@ -17338,15 +17651,17 @@ tiled window states.</doc>
</instance-parameter>
</parameters>
</method>
<method name="titlebar_gesture" c:identifier="gdk_toplevel_titlebar_gesture">
<method name="titlebar_gesture" c:identifier="gdk_toplevel_titlebar_gesture" version="4.4">
<return-value transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="toplevel" transfer-ownership="none">
<doc xml:space="preserve">a `GdkToplevel`</doc>
<type name="Toplevel" c:type="GdkToplevel*"/>
</instance-parameter>
<parameter name="gesture" transfer-ownership="none">
<doc xml:space="preserve">a `GdkTitlebarGesture`</doc>
<type name="TitlebarGesture" c:type="GdkTitlebarGesture"/>
</parameter>
</parameters>
@@ -17942,7 +18257,7 @@ Vulkan draw context.
`GdkVulkanContext`s are created for a surface using
[method@Gdk.Surface.create_vulkan_context], and the context will match
the the characteristics of the surface.
the characteristics of the surface.
Support for `GdkVulkanContext` is platform-specific and context creation
can fail, returning %NULL context.</doc>
@@ -17972,8 +18287,8 @@ for example in response to a change of the surface size.</doc>
</return-value>
</function>
</enumeration>
<function name="cairo_draw_from_gl" c:identifier="gdk_cairo_draw_from_gl">
<doc xml:space="preserve">The main way to draw GL content in GTK.
<function name="cairo_draw_from_gl" c:identifier="gdk_cairo_draw_from_gl" deprecated="1" deprecated-version="4.6">
<doc xml:space="preserve">The main way to not draw GL content in GTK.
It takes a render buffer ID (@source_type == GL_RENDERBUFFER) or a texture
id (@source_type == GL_TEXTURE) and draws it onto @cr with an OVER operation,
@@ -17991,6 +18306,11 @@ For GL_RENDERBUFFER the code will always fall back to software for buffers
with alpha components, so make sure you use GL_TEXTURE if using alpha.
Calling this may change the current GL context.</doc>
<doc-deprecated xml:space="preserve">The function is overly complex and produces broken output
in various combinations of arguments. If you want to draw with GL textures
in GTK, use [ctor@Gdk.GLTexture.new]; if you want to use that texture in
Cairo, use [method@Gdk.Texture.download] to download the data into a Cairo
image surface.</doc-deprecated>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
@@ -18180,7 +18500,7 @@ call [func@Gdk.content_deserialize_finish] to get the result of the operation.</
<doc xml:space="preserve">the `GAsyncResult`</doc>
<type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
</parameter>
<parameter name="value" transfer-ownership="none">
<parameter name="value" direction="out" caller-allocates="1" transfer-ownership="none">
<doc xml:space="preserve">return location for the result of the operation</doc>
<type name="GObject.Value" c:type="GValue*"/>
</parameter>
@@ -18773,6 +19093,11 @@ in order to take effect.</doc>
</parameter>
</parameters>
</function>
<function name="texture_error_quark" c:identifier="gdk_texture_error_quark" moved-to="TextureError.quark">
<return-value transfer-ownership="none">
<type name="GLib.Quark" c:type="GQuark"/>
</return-value>
</function>
<function name="toplevel_size_get_type" c:identifier="gdk_toplevel_size_get_type">
<return-value transfer-ownership="none">
<type name="GType" c:type="GType"/>

View File

@@ -13,7 +13,7 @@ and/or use gtk-doc annotations. -->
the gdk-pixbuf library.
Currently only RGB is supported.</doc>
<member name="rgb" value="0" c:identifier="GDK_COLORSPACE_RGB" glib:nick="rgb">
<member name="rgb" value="0" c:identifier="GDK_COLORSPACE_RGB" glib:nick="rgb" glib:name="GDK_COLORSPACE_RGB">
<doc xml:space="preserve">Indicates a red/green/blue additive color space.</doc>
</member>
</enumeration>
@@ -81,26 +81,26 @@ balance.
**Note**: Cubic filtering is missing from the list; hyperbolic
interpolation is just as fast and results in higher quality.</doc>
<member name="nearest" value="0" c:identifier="GDK_INTERP_NEAREST" glib:nick="nearest">
<member name="nearest" value="0" c:identifier="GDK_INTERP_NEAREST" glib:nick="nearest" glib:name="GDK_INTERP_NEAREST">
<doc xml:space="preserve">Nearest neighbor sampling; this is the fastest
and lowest quality mode. Quality is normally unacceptable when scaling
down, but may be OK when scaling up.</doc>
</member>
<member name="tiles" value="1" c:identifier="GDK_INTERP_TILES" glib:nick="tiles">
<member name="tiles" value="1" c:identifier="GDK_INTERP_TILES" glib:nick="tiles" glib:name="GDK_INTERP_TILES">
<doc xml:space="preserve">This is an accurate simulation of the PostScript
image operator without any interpolation enabled. Each pixel is
rendered as a tiny parallelogram of solid color, the edges of which
are implemented with antialiasing. It resembles nearest neighbor for
enlargement, and bilinear for reduction.</doc>
</member>
<member name="bilinear" value="2" c:identifier="GDK_INTERP_BILINEAR" glib:nick="bilinear">
<member name="bilinear" value="2" c:identifier="GDK_INTERP_BILINEAR" glib:nick="bilinear" glib:name="GDK_INTERP_BILINEAR">
<doc xml:space="preserve">Best quality/speed balance; use this mode by
default. Bilinear interpolation. For enlargement, it is
equivalent to point-sampling the ideal bilinear-interpolated image.
For reduction, it is equivalent to laying down small tiles and
integrating over the coverage area.</doc>
</member>
<member name="hyper" value="3" c:identifier="GDK_INTERP_HYPER" glib:nick="hyper">
<member name="hyper" value="3" c:identifier="GDK_INTERP_HYPER" glib:nick="hyper" glib:name="GDK_INTERP_HYPER">
<doc xml:space="preserve">This is the slowest and highest quality
reconstruction function. It is derived from the hyperbolic filters in
Wolberg's "Digital Image Warping", and is formally defined as the
@@ -316,7 +316,7 @@ interpolation is just as fast and results in higher quality.</doc>
"0.8.2" for example.</doc>
<type name="gint" c:type="gint"/>
</constant>
<constant name="PIXBUF_MICRO" value="6" c:type="GDK_PIXBUF_MICRO">
<constant name="PIXBUF_MICRO" value="8" c:type="GDK_PIXBUF_MICRO">
<doc xml:space="preserve">Micro version of gdk-pixbuf library, that is the "2" in
"0.8.2" for example.</doc>
<type name="gint" c:type="gint"/>
@@ -344,7 +344,7 @@ interpolation is just as fast and results in higher quality.</doc>
</parameter>
</parameters>
</function-macro>
<constant name="PIXBUF_VERSION" value="2.42.6" c:type="GDK_PIXBUF_VERSION">
<constant name="PIXBUF_VERSION" value="2.42.8" c:type="GDK_PIXBUF_VERSION">
<doc xml:space="preserve">Contains the full version of GdkPixbuf as a string.
This is the version being compiled against; contrast with
@@ -1572,7 +1572,7 @@ result in a new pixbuf.</doc>
</parameter>
</parameters>
</method>
<method name="get_bits_per_sample" c:identifier="gdk_pixbuf_get_bits_per_sample">
<method name="get_bits_per_sample" c:identifier="gdk_pixbuf_get_bits_per_sample" glib:get-property="bits-per-sample">
<doc xml:space="preserve">Queries the number of bits per color sample in a pixbuf.</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">Number of bits per color sample.</doc>
@@ -1598,7 +1598,7 @@ result in a new pixbuf.</doc>
</instance-parameter>
</parameters>
</method>
<method name="get_colorspace" c:identifier="gdk_pixbuf_get_colorspace">
<method name="get_colorspace" c:identifier="gdk_pixbuf_get_colorspace" glib:get-property="colorspace">
<doc xml:space="preserve">Queries the color space of a pixbuf.</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">Color space.</doc>
@@ -1611,7 +1611,7 @@ result in a new pixbuf.</doc>
</instance-parameter>
</parameters>
</method>
<method name="get_has_alpha" c:identifier="gdk_pixbuf_get_has_alpha">
<method name="get_has_alpha" c:identifier="gdk_pixbuf_get_has_alpha" glib:get-property="has-alpha">
<doc xml:space="preserve">Queries whether a pixbuf has an alpha channel (opacity information).</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">`TRUE` if it has an alpha channel, `FALSE` otherwise.</doc>
@@ -1624,7 +1624,7 @@ result in a new pixbuf.</doc>
</instance-parameter>
</parameters>
</method>
<method name="get_height" c:identifier="gdk_pixbuf_get_height">
<method name="get_height" c:identifier="gdk_pixbuf_get_height" glib:get-property="height">
<doc xml:space="preserve">Queries the height of a pixbuf.</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">Height in pixels.</doc>
@@ -1637,7 +1637,7 @@ result in a new pixbuf.</doc>
</instance-parameter>
</parameters>
</method>
<method name="get_n_channels" c:identifier="gdk_pixbuf_get_n_channels">
<method name="get_n_channels" c:identifier="gdk_pixbuf_get_n_channels" glib:get-property="n-channels">
<doc xml:space="preserve">Queries the number of channels of a pixbuf.</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">Number of channels.</doc>
@@ -1700,13 +1700,13 @@ attached by another function using [method@GdkPixbuf.Pixbuf.set_option].</doc>
</instance-parameter>
</parameters>
</method>
<method name="get_pixels" c:identifier="gdk_pixbuf_get_pixels" shadowed-by="get_pixels_with_length">
<method name="get_pixels" c:identifier="gdk_pixbuf_get_pixels" shadowed-by="get_pixels_with_length" glib:get-property="pixels">
<doc xml:space="preserve">Queries a pointer to the pixel data of a pixbuf.
This function will cause an implicit copy of the pixbuf data if the
pixbuf was created from read-only data.
Please see the section on [image data](#image-data) for information
Please see the section on [image data](class.Pixbuf.html#image-data) for information
about how the pixel data is stored in memory.</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">A pointer to the pixbuf's pixel data.</doc>
@@ -1727,7 +1727,7 @@ about how the pixel data is stored in memory.</doc>
This function will cause an implicit copy of the pixbuf data if the
pixbuf was created from read-only data.
Please see the section on [image data](#image-data) for information
Please see the section on [image data](class.Pixbuf.html#image-data) for information
about how the pixel data is stored in memory.</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">A pointer to the pixbuf's
@@ -1747,7 +1747,7 @@ pixel data.</doc>
</parameter>
</parameters>
</method>
<method name="get_rowstride" c:identifier="gdk_pixbuf_get_rowstride">
<method name="get_rowstride" c:identifier="gdk_pixbuf_get_rowstride" glib:get-property="rowstride">
<doc xml:space="preserve">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.</doc>
<return-value transfer-ownership="none">
@@ -1761,7 +1761,7 @@ the start of a row and the start of the next row.</doc>
</instance-parameter>
</parameters>
</method>
<method name="get_width" c:identifier="gdk_pixbuf_get_width">
<method name="get_width" c:identifier="gdk_pixbuf_get_width" glib:get-property="width">
<doc xml:space="preserve">Queries the width of a pixbuf.</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">Width in pixels.</doc>
@@ -2582,27 +2582,27 @@ the new value is ignored and `FALSE` is returned.</doc>
</instance-parameter>
</parameters>
</method>
<property name="bits-per-sample" writable="1" construct-only="1" transfer-ownership="none">
<property name="bits-per-sample" writable="1" construct-only="1" transfer-ownership="none" getter="get_bits_per_sample">
<doc xml:space="preserve">The number of bits per sample.
Currently only 8 bit per sample are supported.</doc>
<type name="gint" c:type="gint"/>
</property>
<property name="colorspace" writable="1" construct-only="1" transfer-ownership="none">
<property name="colorspace" writable="1" construct-only="1" transfer-ownership="none" getter="get_colorspace">
<doc xml:space="preserve">The color space of the pixbuf.
Currently, only `GDK_COLORSPACE_RGB` is supported.</doc>
<type name="Colorspace"/>
</property>
<property name="has-alpha" writable="1" construct-only="1" transfer-ownership="none">
<property name="has-alpha" writable="1" construct-only="1" transfer-ownership="none" getter="get_has_alpha">
<doc xml:space="preserve">Whether the pixbuf has an alpha channel.</doc>
<type name="gboolean" c:type="gboolean"/>
</property>
<property name="height" writable="1" construct-only="1" transfer-ownership="none">
<property name="height" writable="1" construct-only="1" transfer-ownership="none" getter="get_height">
<doc xml:space="preserve">The number of rows of the pixbuf.</doc>
<type name="gint" c:type="gint"/>
</property>
<property name="n-channels" writable="1" construct-only="1" transfer-ownership="none">
<property name="n-channels" writable="1" construct-only="1" transfer-ownership="none" getter="get_n_channels">
<doc xml:space="preserve">The number of samples per pixel.
Currently, only 3 or 4 samples per pixel are supported.</doc>
@@ -2611,11 +2611,11 @@ Currently, only 3 or 4 samples per pixel are supported.</doc>
<property name="pixel-bytes" writable="1" construct-only="1" transfer-ownership="none">
<type name="GLib.Bytes"/>
</property>
<property name="pixels" writable="1" construct-only="1" transfer-ownership="none">
<property name="pixels" writable="1" construct-only="1" transfer-ownership="none" getter="get_pixels">
<doc xml:space="preserve">A pointer to the pixel data of the pixbuf.</doc>
<type name="gpointer" c:type="gpointer"/>
</property>
<property name="rowstride" writable="1" construct-only="1" transfer-ownership="none">
<property name="rowstride" writable="1" construct-only="1" transfer-ownership="none" getter="get_rowstride">
<doc xml:space="preserve">The number of bytes between the start of a row and
the start of the next row.
@@ -2623,7 +2623,7 @@ This number must (obviously) be at least as large as the
width of the pixbuf.</doc>
<type name="gint" c:type="gint"/>
</property>
<property name="width" writable="1" construct-only="1" transfer-ownership="none">
<property name="width" writable="1" construct-only="1" transfer-ownership="none" getter="get_width">
<doc xml:space="preserve">The number of columns of the pixbuf.</doc>
<type name="gint" c:type="gint"/>
</property>
@@ -2644,13 +2644,13 @@ For now both cases fall back to a bilevel clipping mask.</doc>
<doc-deprecated xml:space="preserve">There is no user of GdkPixbufAlphaMode in GdkPixbuf,
and the Xlib utility functions have been split out to their own
library, gdk-pixbuf-xlib</doc-deprecated>
<member name="bilevel" value="0" c:identifier="GDK_PIXBUF_ALPHA_BILEVEL" glib:nick="bilevel">
<member name="bilevel" value="0" c:identifier="GDK_PIXBUF_ALPHA_BILEVEL" glib:nick="bilevel" glib:name="GDK_PIXBUF_ALPHA_BILEVEL">
<doc xml:space="preserve">A bilevel clipping mask (black and white)
will be created and used to draw the image. Pixels below 0.5 opacity
will be considered fully transparent, and all others will be
considered fully opaque.</doc>
</member>
<member name="full" value="1" c:identifier="GDK_PIXBUF_ALPHA_FULL" glib:nick="full">
<member name="full" value="1" c:identifier="GDK_PIXBUF_ALPHA_FULL" glib:nick="full" glib:name="GDK_PIXBUF_ALPHA_FULL">
<doc xml:space="preserve">For now falls back to #GDK_PIXBUF_ALPHA_BILEVEL.
In the future it will do full alpha compositing.</doc>
</member>
@@ -3419,26 +3419,26 @@ the pixel data can be freed when the pixbuf is finalized.</doc>
Many gdk-pixbuf operations can cause errors in this domain, or in
the `G_FILE_ERROR` domain.</doc>
<member name="corrupt_image" value="0" c:identifier="GDK_PIXBUF_ERROR_CORRUPT_IMAGE" glib:nick="corrupt-image">
<member name="corrupt_image" value="0" c:identifier="GDK_PIXBUF_ERROR_CORRUPT_IMAGE" glib:nick="corrupt-image" glib:name="GDK_PIXBUF_ERROR_CORRUPT_IMAGE">
<doc xml:space="preserve">An image file was broken somehow.</doc>
</member>
<member name="insufficient_memory" value="1" c:identifier="GDK_PIXBUF_ERROR_INSUFFICIENT_MEMORY" glib:nick="insufficient-memory">
<member name="insufficient_memory" value="1" c:identifier="GDK_PIXBUF_ERROR_INSUFFICIENT_MEMORY" glib:nick="insufficient-memory" glib:name="GDK_PIXBUF_ERROR_INSUFFICIENT_MEMORY">
<doc xml:space="preserve">Not enough memory.</doc>
</member>
<member name="bad_option" value="2" c:identifier="GDK_PIXBUF_ERROR_BAD_OPTION" glib:nick="bad-option">
<member name="bad_option" value="2" c:identifier="GDK_PIXBUF_ERROR_BAD_OPTION" glib:nick="bad-option" glib:name="GDK_PIXBUF_ERROR_BAD_OPTION">
<doc xml:space="preserve">A bad option was passed to a pixbuf save module.</doc>
</member>
<member name="unknown_type" value="3" c:identifier="GDK_PIXBUF_ERROR_UNKNOWN_TYPE" glib:nick="unknown-type">
<member name="unknown_type" value="3" c:identifier="GDK_PIXBUF_ERROR_UNKNOWN_TYPE" glib:nick="unknown-type" glib:name="GDK_PIXBUF_ERROR_UNKNOWN_TYPE">
<doc xml:space="preserve">Unknown image type.</doc>
</member>
<member name="unsupported_operation" value="4" c:identifier="GDK_PIXBUF_ERROR_UNSUPPORTED_OPERATION" glib:nick="unsupported-operation">
<member name="unsupported_operation" value="4" c:identifier="GDK_PIXBUF_ERROR_UNSUPPORTED_OPERATION" glib:nick="unsupported-operation" glib:name="GDK_PIXBUF_ERROR_UNSUPPORTED_OPERATION">
<doc xml:space="preserve">Don't know how to perform the
given operation on the type of image at hand.</doc>
</member>
<member name="failed" value="5" c:identifier="GDK_PIXBUF_ERROR_FAILED" glib:nick="failed">
<member name="failed" value="5" c:identifier="GDK_PIXBUF_ERROR_FAILED" glib:nick="failed" glib:name="GDK_PIXBUF_ERROR_FAILED">
<doc xml:space="preserve">Generic failure code, something went wrong.</doc>
</member>
<member name="incomplete_animation" value="6" c:identifier="GDK_PIXBUF_ERROR_INCOMPLETE_ANIMATION" glib:nick="incomplete-animation">
<member name="incomplete_animation" value="6" c:identifier="GDK_PIXBUF_ERROR_INCOMPLETE_ANIMATION" glib:nick="incomplete-animation" glib:name="GDK_PIXBUF_ERROR_INCOMPLETE_ANIMATION">
<doc xml:space="preserve">Only part of the animation was loaded.</doc>
</member>
<function name="quark" c:identifier="gdk_pixbuf_error_quark">
@@ -4237,149 +4237,41 @@ Installing a module is a two-step process:
<doc xml:space="preserve">a `GdkPixbufFormat` holding information about the module.</doc>
<type name="PixbufFormat" c:type="GdkPixbufFormat*"/>
</field>
<field name="load" introspectable="0">
<callback name="load" introspectable="0" throws="1">
<return-value>
<type name="Pixbuf" c:type="GdkPixbuf*"/>
</return-value>
<parameters>
<parameter name="f" transfer-ownership="none">
<type name="gpointer" c:type="FILE*"/>
</parameter>
</parameters>
</callback>
<field name="load" writable="1">
<doc xml:space="preserve">loads an image from a file.</doc>
<type name="PixbufModuleLoadFunc" c:type="GdkPixbufModuleLoadFunc"/>
</field>
<field name="load_xpm_data" introspectable="0">
<callback name="load_xpm_data" introspectable="0">
<return-value>
<type name="Pixbuf" c:type="GdkPixbuf*"/>
</return-value>
<parameters>
<parameter name="data" transfer-ownership="none">
<type name="utf8" c:type="const char**"/>
</parameter>
</parameters>
</callback>
<field name="load_xpm_data" writable="1">
<doc xml:space="preserve">loads an image from data in memory.</doc>
<type name="PixbufModuleLoadXpmDataFunc" c:type="GdkPixbufModuleLoadXpmDataFunc"/>
</field>
<field name="begin_load" introspectable="0">
<callback name="begin_load" introspectable="0" throws="1">
<return-value transfer-ownership="none">
<type name="gpointer" c:type="gpointer"/>
</return-value>
<parameters>
<parameter name="size_func" transfer-ownership="none">
<type name="PixbufModuleSizeFunc" c:type="GdkPixbufModuleSizeFunc"/>
</parameter>
<parameter name="prepared_func" transfer-ownership="none">
<type name="PixbufModulePreparedFunc" c:type="GdkPixbufModulePreparedFunc"/>
</parameter>
<parameter name="updated_func" transfer-ownership="none" closure="3">
<type name="PixbufModuleUpdatedFunc" c:type="GdkPixbufModuleUpdatedFunc"/>
</parameter>
<parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1" closure="3">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</callback>
<field name="begin_load" introspectable="0" writable="1">
<doc xml:space="preserve">begins an incremental load.</doc>
<type name="PixbufModuleBeginLoadFunc" c:type="GdkPixbufModuleBeginLoadFunc"/>
</field>
<field name="stop_load">
<callback name="stop_load" throws="1">
<return-value transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="context" transfer-ownership="none">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</callback>
<field name="stop_load" writable="1">
<doc xml:space="preserve">stops an incremental load.</doc>
<type name="PixbufModuleStopLoadFunc" c:type="GdkPixbufModuleStopLoadFunc"/>
</field>
<field name="load_increment">
<callback name="load_increment" throws="1">
<return-value transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="context" transfer-ownership="none">
<type name="gpointer" c:type="gpointer"/>
</parameter>
<parameter name="buf" transfer-ownership="none">
<type name="guint8" c:type="const guchar*"/>
</parameter>
<parameter name="size" transfer-ownership="none">
<type name="guint" c:type="guint"/>
</parameter>
</parameters>
</callback>
<field name="load_increment" writable="1">
<doc xml:space="preserve">continues an incremental load.</doc>
<type name="PixbufModuleIncrementLoadFunc" c:type="GdkPixbufModuleIncrementLoadFunc"/>
</field>
<field name="load_animation" introspectable="0">
<callback name="load_animation" introspectable="0" throws="1">
<return-value>
<type name="PixbufAnimation" c:type="GdkPixbufAnimation*"/>
</return-value>
<parameters>
<parameter name="f" transfer-ownership="none">
<type name="gpointer" c:type="FILE*"/>
</parameter>
</parameters>
</callback>
<field name="load_animation" writable="1">
<doc xml:space="preserve">loads an animation from a file.</doc>
<type name="PixbufModuleLoadAnimationFunc" c:type="GdkPixbufModuleLoadAnimationFunc"/>
</field>
<field name="save">
<callback name="save" throws="1">
<return-value transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="f" transfer-ownership="none">
<type name="gpointer" c:type="FILE*"/>
</parameter>
<parameter name="pixbuf" transfer-ownership="none">
<type name="Pixbuf" c:type="GdkPixbuf*"/>
</parameter>
<parameter name="param_keys" transfer-ownership="none">
<type name="utf8" c:type="gchar**"/>
</parameter>
<parameter name="param_values" transfer-ownership="none">
<type name="utf8" c:type="gchar**"/>
</parameter>
</parameters>
</callback>
<field name="save" writable="1">
<doc xml:space="preserve">saves a `GdkPixbuf` to a file.</doc>
<type name="PixbufModuleSaveFunc" c:type="GdkPixbufModuleSaveFunc"/>
</field>
<field name="save_to_callback" introspectable="0">
<callback name="save_to_callback" introspectable="0" throws="1">
<return-value transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="save_func" transfer-ownership="none" closure="1">
<type name="PixbufSaveFunc" c:type="GdkPixbufSaveFunc"/>
</parameter>
<parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1" closure="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
<parameter name="pixbuf" transfer-ownership="none">
<type name="Pixbuf" c:type="GdkPixbuf*"/>
</parameter>
<parameter name="option_keys" transfer-ownership="none">
<type name="utf8" c:type="gchar**"/>
</parameter>
<parameter name="option_values" transfer-ownership="none">
<type name="utf8" c:type="gchar**"/>
</parameter>
</parameters>
</callback>
<field name="save_to_callback" introspectable="0" writable="1">
<doc xml:space="preserve">saves a `GdkPixbuf` by calling the given `GdkPixbufSaveFunc`.</doc>
<type name="PixbufModuleSaveCallbackFunc" c:type="GdkPixbufModuleSaveCallbackFunc"/>
</field>
<field name="is_save_option_supported">
<callback name="is_save_option_supported">
<return-value transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="option_key" transfer-ownership="none">
<type name="utf8" c:type="const gchar*"/>
</parameter>
</parameters>
</callback>
<field name="is_save_option_supported" writable="1">
<doc xml:space="preserve">returns whether a save option key is supported by the module</doc>
<type name="PixbufModuleSaveOptionSupportedFunc" c:type="GdkPixbufModuleSaveOptionSupportedFunc"/>
</field>
<field name="_reserved1" introspectable="0">
<callback name="_reserved1">
@@ -4410,6 +4302,41 @@ Installing a module is a two-step process:
</callback>
</field>
</record>
<callback name="PixbufModuleBeginLoadFunc" c:type="GdkPixbufModuleBeginLoadFunc" introspectable="0" throws="1">
<doc xml:space="preserve">Sets up the image loading state.
The image loader is responsible for storing the given function pointers
and user data, and call them when needed.
The image loader should set up an internal state object, and return it
from this function; the state object will then be updated from the
[callback@GdkPixbuf.PixbufModuleIncrementLoadFunc] callback, and will be freed
by [callback@GdkPixbuf.PixbufModuleStopLoadFunc] callback.</doc>
<return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve">the data to be passed to
[callback@GdkPixbuf.PixbufModuleIncrementLoadFunc]
and [callback@GdkPixbuf.PixbufModuleStopLoadFunc], or `NULL` in case of error</doc>
<type name="gpointer" c:type="gpointer"/>
</return-value>
<parameters>
<parameter name="size_func" transfer-ownership="none">
<doc xml:space="preserve">the function to be called when the size is known</doc>
<type name="PixbufModuleSizeFunc" c:type="GdkPixbufModuleSizeFunc"/>
</parameter>
<parameter name="prepared_func" transfer-ownership="none">
<doc xml:space="preserve">the function to be called when the data has been prepared</doc>
<type name="PixbufModulePreparedFunc" c:type="GdkPixbufModulePreparedFunc"/>
</parameter>
<parameter name="updated_func" transfer-ownership="none" closure="3">
<doc xml:space="preserve">the function to be called when the data has been updated</doc>
<type name="PixbufModuleUpdatedFunc" c:type="GdkPixbufModuleUpdatedFunc"/>
</parameter>
<parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1" closure="3">
<doc xml:space="preserve">the data to be passed to the functions</doc>
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</callback>
<callback name="PixbufModuleFillInfoFunc" c:type="GdkPixbufModuleFillInfoFunc" version="2.2">
<doc xml:space="preserve">Defines the type of the function used to fill a
#GdkPixbufFormat structure with information about a module.</doc>
@@ -4436,6 +4363,74 @@ Installing a module is a two-step process:
</parameter>
</parameters>
</callback>
<callback name="PixbufModuleIncrementLoadFunc" c:type="GdkPixbufModuleIncrementLoadFunc" throws="1">
<doc xml:space="preserve">Incrementally loads a buffer into the image data.</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">`TRUE` if the incremental load was successful</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="context" transfer-ownership="none" nullable="1" allow-none="1">
<doc xml:space="preserve">the state object created by [callback@GdkPixbuf.PixbufModuleBeginLoadFunc]</doc>
<type name="gpointer" c:type="gpointer"/>
</parameter>
<parameter name="buf" transfer-ownership="none">
<doc xml:space="preserve">the data to load</doc>
<array length="2" zero-terminated="0" c:type="const guchar*">
<type name="guint8"/>
</array>
</parameter>
<parameter name="size" transfer-ownership="none">
<doc xml:space="preserve">the length of the data to load</doc>
<type name="guint" c:type="guint"/>
</parameter>
</parameters>
</callback>
<callback name="PixbufModuleLoadAnimationFunc" c:type="GdkPixbufModuleLoadAnimationFunc" throws="1">
<doc xml:space="preserve">Loads a file from a standard C file stream into a new `GdkPixbufAnimation`.
In case of error, this function should return `NULL` and set the `error` argument.</doc>
<return-value transfer-ownership="full">
<doc xml:space="preserve">a newly created `GdkPixbufAnimation` for the contents of the file</doc>
<type name="PixbufAnimation" c:type="GdkPixbufAnimation*"/>
</return-value>
<parameters>
<parameter name="f" transfer-ownership="none" nullable="1" allow-none="1">
<doc xml:space="preserve">the file stream from which the image should be loaded</doc>
<type name="gpointer" c:type="FILE*"/>
</parameter>
</parameters>
</callback>
<callback name="PixbufModuleLoadFunc" c:type="GdkPixbufModuleLoadFunc" throws="1">
<doc xml:space="preserve">Loads a file from a standard C file stream into a new `GdkPixbuf`.
In case of error, this function should return `NULL` and set the `error` argument.</doc>
<return-value transfer-ownership="full">
<doc xml:space="preserve">a newly created `GdkPixbuf` for the contents of the file</doc>
<type name="Pixbuf" c:type="GdkPixbuf*"/>
</return-value>
<parameters>
<parameter name="f" transfer-ownership="none" nullable="1" allow-none="1">
<doc xml:space="preserve">the file stream from which the image should be loaded</doc>
<type name="gpointer" c:type="FILE*"/>
</parameter>
</parameters>
</callback>
<callback name="PixbufModuleLoadXpmDataFunc" c:type="GdkPixbufModuleLoadXpmDataFunc">
<doc xml:space="preserve">Loads XPM data into a new `GdkPixbuf`.</doc>
<return-value transfer-ownership="full">
<doc xml:space="preserve">a newly created `GdkPixbuf` for the XPM data</doc>
<type name="Pixbuf" c:type="GdkPixbuf*"/>
</return-value>
<parameters>
<parameter name="data" transfer-ownership="none">
<doc xml:space="preserve">the XPM data</doc>
<array c:type="const char**">
<type name="utf8" c:type="char*"/>
</array>
</parameter>
</parameters>
</callback>
<record name="PixbufModulePattern" c:type="GdkPixbufModulePattern" version="2.2">
<doc xml:space="preserve">The signature prefix for a module.
@@ -4506,6 +4501,91 @@ signal.</doc>
</parameter>
</parameters>
</callback>
<callback name="PixbufModuleSaveCallbackFunc" c:type="GdkPixbufModuleSaveCallbackFunc" introspectable="0" throws="1">
<doc xml:space="preserve">Saves a `GdkPixbuf` by calling the provided function.
The optional `option_keys` and `option_values` arrays contain the keys and
values (in the same order) for attributes to be saved alongside the image
data.</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">`TRUE` on success; in case of failure, `FALSE` is returned and
the `error` is set</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="save_func" transfer-ownership="none" closure="1">
<doc xml:space="preserve">the function to call when saving</doc>
<type name="PixbufSaveFunc" c:type="GdkPixbufSaveFunc"/>
</parameter>
<parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1" closure="1">
<doc xml:space="preserve">the data to pass to @save_func</doc>
<type name="gpointer" c:type="gpointer"/>
</parameter>
<parameter name="pixbuf" transfer-ownership="none">
<doc xml:space="preserve">the `GdkPixbuf` to save</doc>
<type name="Pixbuf" c:type="GdkPixbuf*"/>
</parameter>
<parameter name="option_keys" transfer-ownership="none" nullable="1" allow-none="1">
<doc xml:space="preserve">an array of option names</doc>
<array c:type="gchar**">
<type name="utf8" c:type="gchar*"/>
</array>
</parameter>
<parameter name="option_values" transfer-ownership="none" nullable="1" allow-none="1">
<doc xml:space="preserve">an array of option values</doc>
<array c:type="gchar**">
<type name="utf8" c:type="gchar*"/>
</array>
</parameter>
</parameters>
</callback>
<callback name="PixbufModuleSaveFunc" c:type="GdkPixbufModuleSaveFunc" throws="1">
<doc xml:space="preserve">Saves a `GdkPixbuf` into a standard C file stream.
The optional `param_keys` and `param_values` arrays contain the keys and
values (in the same order) for attributes to be saved alongside the image
data.</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">`TRUE` on success; in case of failure, `FALSE` is returned and
the `error` is set</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="f" transfer-ownership="none" nullable="1" allow-none="1">
<doc xml:space="preserve">the file stream into which the image should be saved</doc>
<type name="gpointer" c:type="FILE*"/>
</parameter>
<parameter name="pixbuf" transfer-ownership="none">
<doc xml:space="preserve">the image to save</doc>
<type name="Pixbuf" c:type="GdkPixbuf*"/>
</parameter>
<parameter name="param_keys" transfer-ownership="none" nullable="1" allow-none="1">
<doc xml:space="preserve">parameter keys to save</doc>
<array c:type="gchar**">
<type name="utf8" c:type="gchar*"/>
</array>
</parameter>
<parameter name="param_values" transfer-ownership="none" nullable="1" allow-none="1">
<doc xml:space="preserve">parameter values to save</doc>
<array c:type="gchar**">
<type name="utf8" c:type="gchar*"/>
</array>
</parameter>
</parameters>
</callback>
<callback name="PixbufModuleSaveOptionSupportedFunc" c:type="GdkPixbufModuleSaveOptionSupportedFunc">
<doc xml:space="preserve">Checks whether the given `option_key` is supported when saving.</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">`TRUE` if the option is supported</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="option_key" transfer-ownership="none">
<doc xml:space="preserve">the option key to check</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
</parameters>
</callback>
<callback name="PixbufModuleSizeFunc" c:type="GdkPixbufModuleSizeFunc" version="2.2">
<doc xml:space="preserve">Defines the type of the function that gets called once the size
of the loaded image is known.
@@ -4538,6 +4618,21 @@ efficiently.</doc>
</parameter>
</parameters>
</callback>
<callback name="PixbufModuleStopLoadFunc" c:type="GdkPixbufModuleStopLoadFunc" throws="1">
<doc xml:space="preserve">Finalizes the image loading state.
This function is called on success and error states.</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">`TRUE` if the loading operation was successful</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="context" transfer-ownership="full" nullable="1" allow-none="1">
<doc xml:space="preserve">the state object created by [callback@GdkPixbuf.PixbufModuleBeginLoadFunc]</doc>
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</callback>
<callback name="PixbufModuleUpdatedFunc" c:type="GdkPixbufModuleUpdatedFunc" version="2.2">
<doc xml:space="preserve">Defines the type of the function that gets called every time a region
of @pixbuf is updated.
@@ -4591,16 +4686,16 @@ signal.</doc>
<doc xml:space="preserve">The possible rotations which can be passed to gdk_pixbuf_rotate_simple().
To make them easier to use, their numerical values are the actual degrees.</doc>
<member name="none" value="0" c:identifier="GDK_PIXBUF_ROTATE_NONE" glib:nick="none">
<member name="none" value="0" c:identifier="GDK_PIXBUF_ROTATE_NONE" glib:nick="none" glib:name="GDK_PIXBUF_ROTATE_NONE">
<doc xml:space="preserve">No rotation.</doc>
</member>
<member name="counterclockwise" value="90" c:identifier="GDK_PIXBUF_ROTATE_COUNTERCLOCKWISE" glib:nick="counterclockwise">
<member name="counterclockwise" value="90" c:identifier="GDK_PIXBUF_ROTATE_COUNTERCLOCKWISE" glib:nick="counterclockwise" glib:name="GDK_PIXBUF_ROTATE_COUNTERCLOCKWISE">
<doc xml:space="preserve">Rotate by 90 degrees.</doc>
</member>
<member name="upsidedown" value="180" c:identifier="GDK_PIXBUF_ROTATE_UPSIDEDOWN" glib:nick="upsidedown">
<member name="upsidedown" value="180" c:identifier="GDK_PIXBUF_ROTATE_UPSIDEDOWN" glib:nick="upsidedown" glib:name="GDK_PIXBUF_ROTATE_UPSIDEDOWN">
<doc xml:space="preserve">Rotate by 180 degrees.</doc>
</member>
<member name="clockwise" value="270" c:identifier="GDK_PIXBUF_ROTATE_CLOCKWISE" glib:nick="clockwise">
<member name="clockwise" value="270" c:identifier="GDK_PIXBUF_ROTATE_CLOCKWISE" glib:nick="clockwise" glib:name="GDK_PIXBUF_ROTATE_CLOCKWISE">
<doc xml:space="preserve">Rotate by 270 degrees.</doc>
</member>
</enumeration>
@@ -4679,7 +4774,7 @@ was constructed.</doc>
</parameter>
</parameters>
</method>
<method name="get_loop" c:identifier="gdk_pixbuf_simple_anim_get_loop" version="2.18">
<method name="get_loop" c:identifier="gdk_pixbuf_simple_anim_get_loop" glib:get-property="loop" version="2.18">
<doc xml:space="preserve">Gets whether @animation should loop indefinitely when it reaches the end.</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the animation loops forever, %FALSE otherwise</doc>
@@ -4692,7 +4787,7 @@ was constructed.</doc>
</instance-parameter>
</parameters>
</method>
<method name="set_loop" c:identifier="gdk_pixbuf_simple_anim_set_loop" version="2.18">
<method name="set_loop" c:identifier="gdk_pixbuf_simple_anim_set_loop" glib:set-property="loop" version="2.18">
<doc xml:space="preserve">Sets whether @animation should loop indefinitely when it reaches the end.</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
@@ -4708,7 +4803,7 @@ was constructed.</doc>
</parameter>
</parameters>
</method>
<property name="loop" version="2.18" writable="1" transfer-ownership="none">
<property name="loop" version="2.18" writable="1" transfer-ownership="none" setter="set_loop" getter="get_loop">
<doc xml:space="preserve">Whether the animation should loop when it reaches the end.</doc>
<type name="gboolean" c:type="gboolean"/>
</property>

View File

@@ -286,7 +286,7 @@ if no ID has been defined.</doc>
</parameters>
</method>
<method name="query_registry" c:identifier="gdk_wayland_display_query_registry">
<doc xml:space="preserve">Returns %TRUE if the the interface was found in the display
<doc xml:space="preserve">Returns %TRUE if the interface was found in the display
`wl_registry.global` handler.</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the global is offered by the compositor</doc>

View File

@@ -933,7 +933,7 @@ a window manager change.</doc>
</method>
<method name="get_group" c:identifier="gdk_x11_surface_get_group">
<doc xml:space="preserve">Returns the group this surface belongs to.</doc>
<return-value transfer-ownership="none">
<return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">The group of this surface;</doc>
<type name="Gdk.Surface" c:type="GdkSurface*"/>
</return-value>

File diff suppressed because it is too large Load Diff

View File

@@ -1340,7 +1340,7 @@ The algorithm for decomposing a matrix is taken from the
[CSS3 Transforms specification](http://dev.w3.org/csswg/css-transforms/);
specifically, the decomposition code is based on the equivalent code
published in "Graphics Gems II", edited by Jim Arvo, and
[available online](http://tog.acm.org/resources/GraphicsGems/gemsii/unmatrix.c).</doc>
[available online](http://web.archive.org/web/20150512160205/http://tog.acm.org/resources/GraphicsGems/gemsii/unmatrix.c).</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">`true` if the matrix could be decomposed</doc>
<type name="gboolean" c:type="_Bool"/>

View File

@@ -146,7 +146,7 @@ node onto the @bottom node.</doc>
<type name="RenderNode" c:type="GskRenderNode*"/>
</parameter>
<parameter name="radius" transfer-ownership="none">
<doc xml:space="preserve">the blur radius</doc>
<doc xml:space="preserve">the blur radius. Must be positive</doc>
<type name="gfloat" c:type="float"/>
</parameter>
</parameters>
@@ -807,9 +807,8 @@ Adding this node has no visual effect.</doc>
</method>
</class>
<class name="GLRenderer" c:symbol-prefix="gl_renderer" c:type="GskGLRenderer" parent="Renderer" glib:type-name="GskGLRenderer" glib:get-type="gsk_gl_renderer_get_type" glib:type-struct="GLRendererClass">
<doc xml:space="preserve">A GSK renderer that is using OpenGL.</doc>
<constructor name="new" c:identifier="gsk_gl_renderer_new">
<doc xml:space="preserve">Creates a new `GskRenderer` using OpenGL.</doc>
<constructor name="new" c:identifier="gsk_gl_renderer_new" version="4.2">
<doc xml:space="preserve">Creates a new `GskRenderer` using the new OpenGL renderer.</doc>
<return-value transfer-ownership="full">
<doc xml:space="preserve">a new GL renderer</doc>
<type name="Renderer" c:type="GskRenderer*"/>
@@ -895,7 +894,7 @@ uniform sampler2D u_texture1;
uniform sampler2D u_texture2;
```
GTK uses the the "gsk" namespace in the symbols it uses in the
GTK uses the "gsk" namespace in the symbols it uses in the
shader, so your code should not use any symbols with the prefix gsk
or GSK. There are some helper functions declared that you can use:
@@ -1407,9 +1406,9 @@ renderer before using it.</doc>
<doc xml:space="preserve">Arguments for the uniforms</doc>
<type name="GLib.Bytes" c:type="GBytes*"/>
</parameter>
<parameter name="children" transfer-ownership="none">
<doc xml:space="preserve">array of child nodes, these will
be rendered to textures and used as input.</doc>
<parameter name="children" transfer-ownership="none" nullable="1" allow-none="1">
<doc xml:space="preserve">array of child nodes,
these will be rendered to textures and used as input.</doc>
<array length="4" zero-terminated="0" c:type="GskRenderNode**">
<type name="RenderNode" c:type="GskRenderNode*"/>
</array>
@@ -1551,18 +1550,6 @@ code, and what the corresponding C type is on the Gtk side.</doc>
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_NGL_RENDERER" c:identifier="GSK_IS_NGL_RENDERER" introspectable="0">
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_NGL_RENDERER_CLASS" c:identifier="GSK_IS_NGL_RENDERER_CLASS" introspectable="0">
<parameters>
<parameter name="klass">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_RENDERER" c:identifier="GSK_IS_RENDERER" introspectable="0">
<parameters>
<parameter name="obj">
@@ -1786,34 +1773,16 @@ points and color stops, and render that into the area given by @bounds.</doc>
</parameters>
</method>
</class>
<function-macro name="NGL_RENDERER" c:identifier="GSK_NGL_RENDERER" introspectable="0">
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="NGL_RENDERER_CLASS" c:identifier="GSK_NGL_RENDERER_CLASS" introspectable="0">
<parameters>
<parameter name="klass">
</parameter>
</parameters>
</function-macro>
<function-macro name="NGL_RENDERER_GET_CLASS" c:identifier="GSK_NGL_RENDERER_GET_CLASS" introspectable="0">
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<class name="NglRenderer" c:symbol-prefix="ngl_renderer" c:type="GskNglRenderer" parent="Renderer" glib:type-name="GskNglRenderer" glib:get-type="gsk_ngl_renderer_get_type" glib:type-struct="NglRendererClass">
<constructor name="new" c:identifier="gsk_ngl_renderer_new" version="4.2">
<doc xml:space="preserve">Creates a new `GskRenderer` using the new OpenGL renderer.</doc>
<class name="NglRenderer" c:symbol-prefix="ngl_renderer" parent="Renderer" glib:type-name="GskNglRenderer" glib:get-type="gsk_ngl_renderer_get_type">
<constructor name="new" c:identifier="gsk_ngl_renderer_new" deprecated="1" deprecated-version="4.4">
<doc xml:space="preserve">Same as gsk_gl_renderer_new().</doc>
<doc-deprecated xml:space="preserve">Use gsk_gl_renderer_new()</doc-deprecated>
<return-value transfer-ownership="full">
<doc xml:space="preserve">a new NGL renderer</doc>
<doc xml:space="preserve">a new GL renderer</doc>
<type name="Renderer" c:type="GskRenderer*"/>
</return-value>
</constructor>
</class>
<record name="NglRendererClass" c:type="GskNglRendererClass" disguised="1" glib:is-gtype-struct-for="NglRenderer"/>
<class name="OpacityNode" c:symbol-prefix="opacity_node" c:type="GskOpacityNode" parent="RenderNode" glib:type-name="GskOpacityNode" glib:get-type="gsk_opacity_node_get_type" glib:fundamental="1">
<doc xml:space="preserve">A render node controlling the opacity of its single child node.</doc>
<constructor name="new" c:identifier="gsk_opacity_node_new">
@@ -2198,9 +2167,9 @@ in horizontal orientation and by @vradius in vertial orientation.</doc>
</parameters>
</method>
</class>
<class name="RenderNode" c:symbol-prefix="render_node" c:type="GskRenderNode" abstract="1" glib:type-name="GskRenderNode" glib:get-type="gsk_render_node_get_type" glib:fundamental="1" glib:ref-func="gsk_render_node_ref" glib:unref-func="gsk_render_node_unref">
<class name="RenderNode" c:symbol-prefix="render_node" c:type="GskRenderNode" abstract="1" glib:type-name="GskRenderNode" glib:get-type="gsk_render_node_get_type" glib:fundamental="1" glib:ref-func="gsk_render_node_ref" glib:unref-func="gsk_render_node_unref" glib:set-value-func="gsk_value_set_render_node" glib:get-value-func="gsk_value_get_render_node">
<doc xml:space="preserve">`GskRenderNode` is the basic block in a scene graph to be
rendered using `GskRenderer`.
rendered using [class@Gsk.Renderer].
Each node has a parent, except the top-level node; each node may have
children nodes.
@@ -2213,7 +2182,7 @@ to a [class@Gsk.Renderer] it's safe to release any reference you have on
them. All [class@Gsk.RenderNode]s are immutable, you can only specify their
properties during construction.</doc>
<function name="deserialize" c:identifier="gsk_render_node_deserialize">
<doc xml:space="preserve">Loads data previously created via gsk_render_node_serialize().
<doc xml:space="preserve">Loads data previously created via [method@Gsk.RenderNode.serialize].
For a discussion of the supported format, see that function.</doc>
<return-value transfer-ownership="full" nullable="1">
@@ -2240,7 +2209,7 @@ For a discussion of the supported format, see that function.</doc>
Typically, you'll use this function to implement fallback rendering
of `GskRenderNode`s on an intermediate Cairo context, instead of using
the drawing context associated to a `GdkSurface`'s rendering buffer.
the drawing context associated to a [class@Gdk.Surface]'s rendering buffer.
For advanced nodes that cannot be supported using Cairo, in particular
for nodes doing 3D operations, this function may fail.</doc>
@@ -2339,8 +2308,8 @@ freed.</doc>
</parameters>
</method>
<method name="write_to_file" c:identifier="gsk_render_node_write_to_file" throws="1">
<doc xml:space="preserve">This function is equivalent to calling gsk_render_node_serialize()
followed by g_file_set_contents().
<doc xml:space="preserve">This function is equivalent to calling [method@Gsk.RenderNode.serialize]
followed by [func@GLib.file_set_contents].
See those two functions for details on the arguments.
@@ -2506,8 +2475,15 @@ If the renderer has not been realized yet, %NULL will be returned.</doc>
</method>
<method name="realize" c:identifier="gsk_renderer_realize" throws="1">
<doc xml:space="preserve">Creates the resources needed by the @renderer to render the scene
graph.</doc>
graph.
Since GTK 4.6, the surface may be `NULL`, which allows using
renderers without having to create a surface.
Note that it is mandatory to call [method@Gsk.Renderer.unrealize] before
destroying the renderer.</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">Whether the renderer was successfully realized</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
@@ -2515,15 +2491,17 @@ graph.</doc>
<doc xml:space="preserve">a `GskRenderer`</doc>
<type name="Renderer" c:type="GskRenderer*"/>
</instance-parameter>
<parameter name="surface" transfer-ownership="none">
<parameter name="surface" transfer-ownership="none" nullable="1" allow-none="1">
<doc xml:space="preserve">the `GdkSurface` renderer will be used on</doc>
<type name="Gdk.Surface" c:type="GdkSurface*"/>
</parameter>
</parameters>
</method>
<method name="render" c:identifier="gsk_renderer_render">
<doc xml:space="preserve">Renders the scene graph, described by a tree of `GskRenderNode` instances,
ensuring that the given @region gets redrawn.
<doc xml:space="preserve">Renders the scene graph, described by a tree of `GskRenderNode` instances
to the renderer's surface, ensuring that the given @region gets redrawn.
If the renderer has no associated surface, this function does nothing.
Renderers must ensure that changes of the contents given by the @root
node as well as the area given by @region are redrawn. They are however
@@ -2537,7 +2515,7 @@ the rendering is in progress.</doc>
</return-value>
<parameters>
<instance-parameter name="renderer" transfer-ownership="none">
<doc xml:space="preserve">a `GskRenderer`</doc>
<doc xml:space="preserve">a realized `GskRenderer`</doc>
<type name="Renderer" c:type="GskRenderer*"/>
</instance-parameter>
<parameter name="root" transfer-ownership="none">
@@ -2593,7 +2571,7 @@ transform node and pass that node instead.</doc>
</method>
<property name="realized" transfer-ownership="none">
<attribute name="org.gtk.Property.get" value="gsk_renderer_is_realized"/>
<doc xml:space="preserve">Whether the renderer has been associated with a surface.</doc>
<doc xml:space="preserve">Whether the renderer has been associated with a surface or draw context.</doc>
<type name="gboolean" c:type="gboolean"/>
</property>
<property name="surface" transfer-ownership="none" getter="get_surface">
@@ -3512,7 +3490,7 @@ color glyphs.</doc>
</instance-parameter>
</parameters>
</method>
<method name="has_color_glyphs" c:identifier="gsk_text_node_has_color_glyphs">
<method name="has_color_glyphs" c:identifier="gsk_text_node_has_color_glyphs" version="4.2">
<doc xml:space="preserve">Checks whether the text @node has color glyphs.</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the text node has color glyphs</doc>
@@ -3687,7 +3665,7 @@ The result of this function can later be parsed with
</method>
<method name="ref" c:identifier="gsk_transform_ref">
<doc xml:space="preserve">Acquires a reference on the given `GskTransform`.</doc>
<return-value transfer-ownership="none">
<return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">the `GskTransform` with an additional reference</doc>
<type name="Transform" c:type="GskTransform*"/>
</return-value>
@@ -3700,7 +3678,7 @@ The result of this function can later be parsed with
</method>
<method name="rotate" c:identifier="gsk_transform_rotate">
<doc xml:space="preserve">Rotates @next @angle degrees in 2D - or in 3D-speak, around the z axis.</doc>
<return-value transfer-ownership="full">
<return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve">The new transform</doc>
<type name="Transform" c:type="GskTransform*"/>
</return-value>
@@ -3719,7 +3697,7 @@ The result of this function can later be parsed with
<doc xml:space="preserve">Rotates @next @angle degrees around @axis.
For a rotation in 2D space, use [method@Gsk.Transform.rotate]</doc>
<return-value transfer-ownership="full">
<return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve">The new transform</doc>
<type name="Transform" c:type="GskTransform*"/>
</return-value>
@@ -3742,7 +3720,7 @@ For a rotation in 2D space, use [method@Gsk.Transform.rotate]</doc>
<doc xml:space="preserve">Scales @next in 2-dimensional space by the given factors.
Use [method@Gsk.Transform.scale_3d] to scale in all 3 dimensions.</doc>
<return-value transfer-ownership="full">
<return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve">The new transform</doc>
<type name="Transform" c:type="GskTransform*"/>
</return-value>
@@ -3763,7 +3741,7 @@ Use [method@Gsk.Transform.scale_3d] to scale in all 3 dimensions.</doc>
</method>
<method name="scale_3d" c:identifier="gsk_transform_scale_3d">
<doc xml:space="preserve">Scales @next by the given factors.</doc>
<return-value transfer-ownership="full">
<return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve">The new transform</doc>
<type name="Transform" c:type="GskTransform*"/>
</return-value>
@@ -3786,6 +3764,27 @@ Use [method@Gsk.Transform.scale_3d] to scale in all 3 dimensions.</doc>
</parameter>
</parameters>
</method>
<method name="skew" c:identifier="gsk_transform_skew" version="4.6">
<doc xml:space="preserve">Applies a skew transform.</doc>
<return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve">The new transform</doc>
<type name="Transform" c:type="GskTransform*"/>
</return-value>
<parameters>
<instance-parameter name="next" transfer-ownership="full" nullable="1" allow-none="1">
<doc xml:space="preserve">the next transform</doc>
<type name="Transform" c:type="GskTransform*"/>
</instance-parameter>
<parameter name="skew_x" transfer-ownership="none">
<doc xml:space="preserve">skew factor, in degrees, on the X axis</doc>
<type name="gfloat" c:type="float"/>
</parameter>
<parameter name="skew_y" transfer-ownership="none">
<doc xml:space="preserve">skew factor, in degrees, on the Y axis</doc>
<type name="gfloat" c:type="float"/>
</parameter>
</parameters>
</method>
<method name="to_2d" c:identifier="gsk_transform_to_2d">
<doc xml:space="preserve">Converts a `GskTransform` to a 2D transformation matrix.
@@ -3838,10 +3837,80 @@ Cairo.</doc>
</parameter>
</parameters>
</method>
<method name="to_2d_components" c:identifier="gsk_transform_to_2d_components" version="4.6">
<doc xml:space="preserve">Converts a `GskTransform` to 2D transformation factors.
To recreate an equivalent transform from the factors returned
by this function, use
gsk_transform_skew (
gsk_transform_scale (
gsk_transform_rotate (
gsk_transform_translate (NULL, &amp;GRAPHENE_POINT_T (dx, dy)),
angle),
scale_x, scale_y),
skew_x, skew_y)
@self must be a 2D transformation. If you are not sure, use
gsk_transform_get_category() &gt;= %GSK_TRANSFORM_CATEGORY_2D
to check.</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
<doc xml:space="preserve">a `GskTransform`</doc>
<type name="Transform" c:type="GskTransform*"/>
</instance-parameter>
<parameter name="out_skew_x" direction="out" caller-allocates="0" transfer-ownership="full">
<doc xml:space="preserve">return location for the skew factor
in the x direction</doc>
<type name="gfloat" c:type="float*"/>
</parameter>
<parameter name="out_skew_y" direction="out" caller-allocates="0" transfer-ownership="full">
<doc xml:space="preserve">return location for the skew factor
in the y direction</doc>
<type name="gfloat" c:type="float*"/>
</parameter>
<parameter name="out_scale_x" direction="out" caller-allocates="0" transfer-ownership="full">
<doc xml:space="preserve">return location for the scale
factor in the x direction</doc>
<type name="gfloat" c:type="float*"/>
</parameter>
<parameter name="out_scale_y" direction="out" caller-allocates="0" transfer-ownership="full">
<doc xml:space="preserve">return location for the scale
factor in the y direction</doc>
<type name="gfloat" c:type="float*"/>
</parameter>
<parameter name="out_angle" direction="out" caller-allocates="0" transfer-ownership="full">
<doc xml:space="preserve">return location for the rotation angle</doc>
<type name="gfloat" c:type="float*"/>
</parameter>
<parameter name="out_dx" direction="out" caller-allocates="0" transfer-ownership="full">
<doc xml:space="preserve">return location for the translation
in the x direction</doc>
<type name="gfloat" c:type="float*"/>
</parameter>
<parameter name="out_dy" direction="out" caller-allocates="0" transfer-ownership="full">
<doc xml:space="preserve">return location for the translation
in the y direction</doc>
<type name="gfloat" c:type="float*"/>
</parameter>
</parameters>
</method>
<method name="to_affine" c:identifier="gsk_transform_to_affine">
<doc xml:space="preserve">Converts a `GskTransform` to 2D affine transformation factors.
@self must be a 2D transformation. If you are not
To recreate an equivalent transform from the factors returned
by this function, use
gsk_transform_scale (gsk_transform_translate (NULL,
&amp;GRAPHENE_POINT_T (dx, dy)),
sx, sy)
@self must be a 2D affine transformation. If you are not
sure, use
gsk_transform_get_category() &gt;= %GSK_TRANSFORM_CATEGORY_2D_AFFINE
@@ -3943,7 +4012,7 @@ to check.</doc>
</method>
<method name="transform" c:identifier="gsk_transform_transform">
<doc xml:space="preserve">Applies all the operations from @other to @next.</doc>
<return-value transfer-ownership="full">
<return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve">The new transform</doc>
<type name="Transform" c:type="GskTransform*"/>
</return-value>
@@ -4004,7 +4073,7 @@ The result is the bounding box containing the coplanar quad.</doc>
</method>
<method name="translate" c:identifier="gsk_transform_translate">
<doc xml:space="preserve">Translates @next in 2-dimensional space by @point.</doc>
<return-value transfer-ownership="full">
<return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve">The new transform</doc>
<type name="Transform" c:type="GskTransform*"/>
</return-value>
@@ -4021,7 +4090,7 @@ The result is the bounding box containing the coplanar quad.</doc>
</method>
<method name="translate_3d" c:identifier="gsk_transform_translate_3d">
<doc xml:space="preserve">Translates @next by @point.</doc>
<return-value transfer-ownership="full">
<return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve">The new transform</doc>
<type name="Transform" c:type="GskTransform*"/>
</return-value>
@@ -4163,6 +4232,14 @@ with the given @transform.</doc>
</parameters>
</method>
</class>
<function-macro name="VALUE_HOLDS_RENDER_NODE" c:identifier="GSK_VALUE_HOLDS_RENDER_NODE" introspectable="0">
<doc xml:space="preserve">Evaluates to %TRUE if @value was initialized with %GSK_TYPE_RENDER_NODE.</doc>
<parameters>
<parameter name="value">
<doc xml:space="preserve">a `GValue`</doc>
</parameter>
</parameters>
</function-macro>
<function name="serialization_error_quark" c:identifier="gsk_serialization_error_quark" moved-to="SerializationError.quark">
<return-value transfer-ownership="none">
<type name="GLib.Quark" c:type="GQuark"/>
@@ -4192,5 +4269,68 @@ returned and %NULL is put in @out_transform.</doc>
</parameter>
</parameters>
</function>
<function name="value_dup_render_node" c:identifier="gsk_value_dup_render_node" version="4.6">
<doc xml:space="preserve">Retrieves the `GskRenderNode` stored inside the given `value`, and acquires
a reference to it.</doc>
<return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve">a `GskRenderNode`</doc>
<type name="RenderNode" c:type="GskRenderNode*"/>
</return-value>
<parameters>
<parameter name="value" transfer-ownership="none">
<doc xml:space="preserve">a [struct@GObject.Value] initialized with type `GSK_TYPE_RENDER_NODE`</doc>
<type name="GObject.Value" c:type="const GValue*"/>
</parameter>
</parameters>
</function>
<function name="value_get_render_node" c:identifier="gsk_value_get_render_node" version="4.6">
<doc xml:space="preserve">Retrieves the `GskRenderNode` stored inside the given `value`.</doc>
<return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">a `GskRenderNode`</doc>
<type name="RenderNode" c:type="GskRenderNode*"/>
</return-value>
<parameters>
<parameter name="value" transfer-ownership="none">
<doc xml:space="preserve">a `GValue` initialized with type `GSK_TYPE_RENDER_NODE`</doc>
<type name="GObject.Value" c:type="const GValue*"/>
</parameter>
</parameters>
</function>
<function name="value_set_render_node" c:identifier="gsk_value_set_render_node" version="4.6">
<doc xml:space="preserve">Stores the given `GskRenderNode` inside `value`.
The [struct@GObject.Value] will acquire a reference to the `node`.</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="value" transfer-ownership="none">
<doc xml:space="preserve">a [struct@GObject.Value] initialized with type `GSK_TYPE_RENDER_NODE`</doc>
<type name="GObject.Value" c:type="GValue*"/>
</parameter>
<parameter name="node" transfer-ownership="none">
<doc xml:space="preserve">a `GskRenderNode`</doc>
<type name="RenderNode" c:type="GskRenderNode*"/>
</parameter>
</parameters>
</function>
<function name="value_take_render_node" c:identifier="gsk_value_take_render_node" version="4.6">
<doc xml:space="preserve">Stores the given `GskRenderNode` inside `value`.
This function transfers the ownership of the `node` to the `GValue`.</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="value" transfer-ownership="none">
<doc xml:space="preserve">a [struct@GObject.Value] initialized with type `GSK_TYPE_RENDER_NODE`</doc>
<type name="GObject.Value" c:type="GValue*"/>
</parameter>
<parameter name="node" transfer-ownership="full" nullable="1" allow-none="1">
<doc xml:space="preserve">a `GskRenderNode`</doc>
<type name="RenderNode" c:type="GskRenderNode*"/>
</parameter>
</parameters>
</function>
</namespace>
</repository>

View File

@@ -9105,7 +9105,7 @@ container that has been allocated.</doc>
</parameter>
</parameters>
</function-macro>
<constant name="BINARY_AGE" value="2431" c:type="GTK_BINARY_AGE">
<constant name="BINARY_AGE" value="2433" c:type="GTK_BINARY_AGE">
<doc xml:space="preserve">Like gtk_get_binary_age(), but from the headers used at
application compile time, rather than from the library linked
against at application run time.</doc>
@@ -38881,7 +38881,7 @@ The default binding for this signal is `Alt + Up`.</doc>
</return-value>
</glib:signal>
</class>
<class name="FileChooserWidgetAccessible" c:symbol-prefix="file_chooser_widget_accessible" c:type="GtkFileChooserWidgetAccessible" parent="ContainerAccessible" glib:type-name="GtkFileChooserWidgetAccessible" glib:get-type="gtk_file_chooser_widget_accessible_get_type" glib:type-struct="FileChooserWidgetAccessibleClass">
<class name="FileChooserWidgetAccessible" c:symbol-prefix="file_chooser_widget_accessible" c:type="GtkFileChooserWidgetAccessible" version="3.24.30" parent="ContainerAccessible" glib:type-name="GtkFileChooserWidgetAccessible" glib:get-type="gtk_file_chooser_widget_accessible_get_type" glib:type-struct="FileChooserWidgetAccessibleClass">
<implements name="Atk.Action"/>
<implements name="Atk.Component"/>
<field name="parent">
@@ -46804,7 +46804,7 @@ shown if the window can't be closed).</doc>
<type name="Container" c:type="GtkContainer"/>
</field>
</class>
<class name="HeaderBarAccessible" c:symbol-prefix="header_bar_accessible" c:type="GtkHeaderBarAccessible" parent="ContainerAccessible" glib:type-name="GtkHeaderBarAccessible" glib:get-type="gtk_header_bar_accessible_get_type" glib:type-struct="HeaderBarAccessibleClass">
<class name="HeaderBarAccessible" c:symbol-prefix="header_bar_accessible" c:type="GtkHeaderBarAccessible" version="3.24.11" parent="ContainerAccessible" glib:type-name="GtkHeaderBarAccessible" glib:get-type="gtk_header_bar_accessible_get_type" glib:type-struct="HeaderBarAccessibleClass">
<implements name="Atk.Component"/>
<field name="parent">
<type name="ContainerAccessible" c:type="GtkContainerAccessible"/>
@@ -48359,7 +48359,7 @@ replaced by the slave corresponding to the new context id.</doc>
signal in case of conversion failure.</doc>
<type name="gint" c:type="gint"/>
</constant>
<constant name="INTERFACE_AGE" value="27" c:type="GTK_INTERFACE_AGE">
<constant name="INTERFACE_AGE" value="29" c:type="GTK_INTERFACE_AGE">
<doc xml:space="preserve">Like gtk_get_interface_age(), but from the headers used at
application compile time, rather than from the library linked
against at application run time.</doc>
@@ -63093,7 +63093,7 @@ against at application run time.</doc>
</parameter>
</parameters>
</function-macro>
<constant name="MICRO_VERSION" value="31" c:type="GTK_MICRO_VERSION">
<constant name="MICRO_VERSION" value="33" c:type="GTK_MICRO_VERSION">
<doc xml:space="preserve">Like gtk_get_micro_version(), but from the headers used at
application compile time, rather than from the library linked
against at application run time.</doc>
@@ -73504,7 +73504,7 @@ instance with gtk_socket_add_id().</doc>
</return-value>
</glib:signal>
</class>
<class name="PlugAccessible" c:symbol-prefix="plug_accessible" c:type="GtkPlugAccessible" parent="WindowAccessible" glib:type-name="GtkPlugAccessible" glib:get-type="gtk_plug_accessible_get_type" glib:type-struct="PlugAccessibleClass">
<class name="PlugAccessible" c:symbol-prefix="plug_accessible" c:type="GtkPlugAccessible" version="3.24.30" parent="WindowAccessible" glib:type-name="GtkPlugAccessible" glib:get-type="gtk_plug_accessible_get_type" glib:type-struct="PlugAccessibleClass">
<implements name="Atk.Component"/>
<implements name="Atk.Window"/>
<method name="get_id" c:identifier="gtk_plug_accessible_get_id">
@@ -90933,7 +90933,7 @@ want to reuse it you must add a signal handler that returns %TRUE.</doc>
</return-value>
</glib:signal>
</class>
<class name="SocketAccessible" c:symbol-prefix="socket_accessible" c:type="GtkSocketAccessible" parent="ContainerAccessible" glib:type-name="GtkSocketAccessible" glib:get-type="gtk_socket_accessible_get_type" glib:type-struct="SocketAccessibleClass">
<class name="SocketAccessible" c:symbol-prefix="socket_accessible" c:type="GtkSocketAccessible" version="3.24.30" parent="ContainerAccessible" glib:type-name="GtkSocketAccessible" glib:get-type="gtk_socket_accessible_get_type" glib:type-struct="SocketAccessibleClass">
<implements name="Atk.Component"/>
<method name="embed" c:identifier="gtk_socket_accessible_embed">
<return-value transfer-ownership="none">

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -1909,13 +1909,13 @@ application compile time, rather than from the library linked
against at application run time.</doc>
<type name="gint" c:type="gint"/>
</constant>
<constant name="MICRO_VERSION" value="3" c:type="JSC_MICRO_VERSION">
<constant name="MICRO_VERSION" value="1" c:type="JSC_MICRO_VERSION">
<doc xml:space="preserve">Like jsc_get_micro_version(), but from the headers used at
application compile time, rather than from the library linked
against at application run time.</doc>
<type name="gint" c:type="gint"/>
</constant>
<constant name="MINOR_VERSION" value="34" c:type="JSC_MINOR_VERSION">
<constant name="MINOR_VERSION" value="36" c:type="JSC_MINOR_VERSION">
<doc xml:space="preserve">Like jsc_get_minor_version(), but from the headers used at
application compile time, rather than from the library linked
against at application run time.</doc>
@@ -2610,7 +2610,10 @@ when used with an accessor descriptor.
Note that the value returned by @getter must be fully transferred. In case of boxed types, you could use
%G_TYPE_POINTER instead of the actual boxed #GType to ensure that the instance owned by #JSCClass is used.
If you really want to return a new copy of the boxed type, use #JSC_TYPE_VALUE and return a #JSCValue created
with jsc_value_new_object() that receives the copy as instance parameter.</doc>
with jsc_value_new_object() that receives the copy as instance parameter.
Note that @getter and @setter are called as functions and not methods, so they don't receive an instance as
first parameter. Use jsc_class_add_property() if you want to add property accessor invoked as a method.</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>

File diff suppressed because it is too large Load Diff

View File

@@ -270,7 +270,10 @@ to be used for a font.
The property will have a string elements, each of which
a comma-separated list of OpenType axis setting of the
form AXIS=VALUE.</doc>
form AXIS=VALUE.
This is equivalent to FC_FONT_VARIATIONS in versions of
fontconfig that have that.</doc>
<type name="utf8" c:type="gchar*"/>
</constant>
<class name="Font" c:symbol-prefix="font" c:type="PangoFcFont" parent="Pango.Font" abstract="1" glib:type-name="PangoFcFont" glib:get-type="pango_fc_font_get_type" glib:type-struct="FontClass">
@@ -328,13 +331,14 @@ the glyph, use [method@PangoFc.Font.has_char].</doc>
</parameter>
</parameters>
</method>
<method name="get_languages" c:identifier="pango_fc_font_get_languages" version="1.48">
<method name="get_languages" c:identifier="pango_fc_font_get_languages" version="1.48" deprecated="1" deprecated-version="1.50">
<doc xml:space="preserve">Returns the languages that are supported by @font.
This corresponds to the FC_LANG member of the FcPattern.
The returned array is only valid as long as the font
and its fontmap are valid.</doc>
<doc-deprecated xml:space="preserve">Use pango_font_get_language()</doc-deprecated>
<return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">a %NULL-terminated
array of `PangoLanguage`*</doc>
@@ -347,7 +351,7 @@ and its fontmap are valid.</doc>
</instance-parameter>
</parameters>
</method>
<method name="get_pattern" c:identifier="pango_fc_font_get_pattern" version="1.48" introspectable="0">
<method name="get_pattern" c:identifier="pango_fc_font_get_pattern" glib:get-property="pattern" version="1.48" introspectable="0">
<doc xml:space="preserve">Returns the FcPattern that @font is based on.</doc>
<return-value>
<doc xml:space="preserve">the fontconfig pattern for this font</doc>
@@ -452,7 +456,7 @@ This face will be kept around until you call
<doc xml:space="preserve">The PangoFc font map this font is associated with.</doc>
<type name="FontMap"/>
</property>
<property name="pattern" writable="1" construct-only="1" transfer-ownership="none">
<property name="pattern" writable="1" construct-only="1" transfer-ownership="none" getter="get_pattern">
<doc xml:space="preserve">The fontconfig pattern for this font.</doc>
<type name="gpointer" c:type="gpointer"/>
</property>

View File

@@ -4986,6 +4986,18 @@ is present in #WebKitHitTestResult:context</doc>
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_URI_SCHEME_RESPONSE" c:identifier="WEBKIT_IS_URI_SCHEME_RESPONSE" introspectable="0">
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_URI_SCHEME_RESPONSE_CLASS" c:identifier="WEBKIT_IS_URI_SCHEME_RESPONSE_CLASS" introspectable="0">
<parameters>
<parameter name="klass">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_USER_CONTENT_FILTER_STORE" c:identifier="WEBKIT_IS_USER_CONTENT_FILTER_STORE" introspectable="0">
<parameters>
<parameter name="obj">
@@ -6364,13 +6376,13 @@ against at application run time.</doc>
</parameter>
</parameters>
</function-macro>
<constant name="MICRO_VERSION" value="3" c:type="WEBKIT_MICRO_VERSION">
<constant name="MICRO_VERSION" value="1" c:type="WEBKIT_MICRO_VERSION">
<doc xml:space="preserve">Like webkit_get_micro_version(), but from the headers used at
application compile time, rather than from the library linked
against at application run time.</doc>
<type name="gint" c:type="gint"/>
</constant>
<constant name="MINOR_VERSION" value="34" c:type="WEBKIT_MINOR_VERSION">
<constant name="MINOR_VERSION" value="36" c:type="WEBKIT_MINOR_VERSION">
<doc xml:space="preserve">Like webkit_get_minor_version(), but from the headers used at
application compile time, rather than from the library linked
against at application run time.</doc>
@@ -11834,6 +11846,45 @@ present.</doc>
</parameter>
</parameters>
</method>
<method name="finish_with_response" c:identifier="webkit_uri_scheme_request_finish_with_response" version="2.36">
<doc xml:space="preserve">Finish a #WebKitURISchemeRequest by returning a #WebKitURISchemeResponse</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="request" transfer-ownership="none">
<doc xml:space="preserve">a #WebKitURISchemeRequest</doc>
<type name="URISchemeRequest" c:type="WebKitURISchemeRequest*"/>
</instance-parameter>
<parameter name="response" transfer-ownership="none">
<doc xml:space="preserve">a #WebKitURISchemeResponse</doc>
<type name="URISchemeResponse" c:type="WebKitURISchemeResponse*"/>
</parameter>
</parameters>
</method>
<method name="get_http_headers" c:identifier="webkit_uri_scheme_request_get_http_headers">
<return-value transfer-ownership="full">
<type name="Soup.MessageHeaders" c:type="SoupMessageHeaders*"/>
</return-value>
<parameters>
<instance-parameter name="request" transfer-ownership="none">
<type name="URISchemeRequest" c:type="WebKitURISchemeRequest*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_http_method" c:identifier="webkit_uri_scheme_request_get_http_method" version="2.36">
<doc xml:space="preserve">Get the HTTP method of the @request</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">the HTTP method of the @request</doc>
<type name="utf8" c:type="const gchar*"/>
</return-value>
<parameters>
<instance-parameter name="request" transfer-ownership="none">
<doc xml:space="preserve">a #WebKitURISchemeRequest</doc>
<type name="URISchemeRequest" c:type="WebKitURISchemeRequest*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_path" c:identifier="webkit_uri_scheme_request_get_path">
<doc xml:space="preserve">Get the URI path of @request</doc>
<return-value transfer-ownership="none">
@@ -11944,6 +11995,122 @@ made for a user registered URI scheme.</doc>
</field>
</record>
<record name="URISchemeRequestPrivate" c:type="WebKitURISchemeRequestPrivate" disguised="1"/>
<class name="URISchemeResponse" c:symbol-prefix="uri_scheme_response" c:type="WebKitURISchemeResponse" parent="GObject.Object" glib:type-name="WebKitURISchemeResponse" glib:get-type="webkit_uri_scheme_response_get_type" glib:type-struct="URISchemeResponseClass">
<constructor name="new" c:identifier="webkit_uri_scheme_response_new" version="2.36">
<doc xml:space="preserve">Create a new #WebKitURISchemeResponse</doc>
<return-value transfer-ownership="full">
<doc xml:space="preserve">the newly created #WebKitURISchemeResponse.</doc>
<type name="URISchemeResponse" c:type="WebKitURISchemeResponse*"/>
</return-value>
<parameters>
<parameter name="input_stream" transfer-ownership="none">
<doc xml:space="preserve">a #GInputStream to read the contents of the request</doc>
<type name="Gio.InputStream" c:type="GInputStream*"/>
</parameter>
<parameter name="stream_length" transfer-ownership="none">
<doc xml:space="preserve">the length of the stream or -1 if not known</doc>
<type name="gint64" c:type="gint64"/>
</parameter>
</parameters>
</constructor>
<method name="set_content_type" c:identifier="webkit_uri_scheme_response_set_content_type" version="2.36">
<doc xml:space="preserve">Sets the content type for the @response</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="response" transfer-ownership="none">
<doc xml:space="preserve">a #WebKitURISchemeResponse</doc>
<type name="URISchemeResponse" c:type="WebKitURISchemeResponse*"/>
</instance-parameter>
<parameter name="content_type" transfer-ownership="none">
<doc xml:space="preserve">the content type of the stream</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
</parameters>
</method>
<method name="set_http_headers" c:identifier="webkit_uri_scheme_response_set_http_headers">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="response" transfer-ownership="none">
<type name="URISchemeResponse" c:type="WebKitURISchemeResponse*"/>
</instance-parameter>
<parameter name="headers" transfer-ownership="none">
<type name="Soup.MessageHeaders" c:type="SoupMessageHeaders*"/>
</parameter>
</parameters>
</method>
<method name="set_status" c:identifier="webkit_uri_scheme_response_set_status" version="2.36">
<doc xml:space="preserve">Sets the status code and reason phrase for the @response.
If @status_code is a known value and @reason_phrase is %NULL, the @reason_phrase will be set automatically.</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="response" transfer-ownership="none">
<doc xml:space="preserve">a #WebKitURISchemeResponse</doc>
<type name="URISchemeResponse" c:type="WebKitURISchemeResponse*"/>
</instance-parameter>
<parameter name="status_code" transfer-ownership="none">
<doc xml:space="preserve">the HTTP status code to be returned</doc>
<type name="guint" c:type="guint"/>
</parameter>
<parameter name="reason_phrase" transfer-ownership="none" nullable="1" allow-none="1">
<doc xml:space="preserve">a reason phrase</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
</parameters>
</method>
<property name="stream" version="2.36" readable="0" writable="1" construct-only="1" transfer-ownership="none">
<doc xml:space="preserve">The input stream to read from.</doc>
<type name="Gio.InputStream"/>
</property>
<property name="stream-length" readable="0" writable="1" construct-only="1" transfer-ownership="none">
<type name="gint64" c:type="gint64"/>
</property>
<field name="parent">
<type name="GObject.Object" c:type="GObject"/>
</field>
<field name="priv">
<type name="URISchemeResponsePrivate" c:type="WebKitURISchemeResponsePrivate*"/>
</field>
</class>
<record name="URISchemeResponseClass" c:type="WebKitURISchemeResponseClass" glib:is-gtype-struct-for="URISchemeResponse">
<field name="parent_class">
<type name="GObject.ObjectClass" c:type="GObjectClass"/>
</field>
<field name="_webkit_reserved0" introspectable="0">
<callback name="_webkit_reserved0">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="_webkit_reserved1" introspectable="0">
<callback name="_webkit_reserved1">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="_webkit_reserved2" introspectable="0">
<callback name="_webkit_reserved2">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="_webkit_reserved3" introspectable="0">
<callback name="_webkit_reserved3">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
</record>
<record name="URISchemeResponsePrivate" c:type="WebKitURISchemeResponsePrivate" disguised="1"/>
<function-macro name="URI_REQUEST" c:identifier="WEBKIT_URI_REQUEST" introspectable="0">
<parameters>
<parameter name="obj">
@@ -11998,6 +12165,24 @@ made for a user registered URI scheme.</doc>
</parameter>
</parameters>
</function-macro>
<function-macro name="URI_SCHEME_RESPONSE" c:identifier="WEBKIT_URI_SCHEME_RESPONSE" introspectable="0">
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="URI_SCHEME_RESPONSE_CLASS" c:identifier="WEBKIT_URI_SCHEME_RESPONSE_CLASS" introspectable="0">
<parameters>
<parameter name="klass">
</parameter>
</parameters>
</function-macro>
<function-macro name="URI_SCHEME_RESPONSE_GET_CLASS" c:identifier="WEBKIT_URI_SCHEME_RESPONSE_GET_CLASS" introspectable="0">
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="USER_CONTENT_FILTER_STORE" c:identifier="WEBKIT_USER_CONTENT_FILTER_STORE" introspectable="0">
<parameters>
<parameter name="obj">
@@ -15233,6 +15418,18 @@ called. There you will be able to access properties such as the
scheme, the URI and path, and the #WebKitWebView that initiated the
request, and also finish the request with
webkit_uri_scheme_request_finish().</doc>
</docsection>
<docsection name="WebKitURISchemeResponse">
<doc xml:space="preserve">If you register a particular URI scheme in a #WebKitWebContext,
using webkit_web_context_register_uri_scheme(), you have to provide
a #WebKitURISchemeRequestCallback. After that, when a URI response
is made with that particular scheme, your callback will be
called. There you will be able to provide more response parameters
when the methods and properties of a #WebKitURISchemeRequest is not
enough.
When you finished setting up your #WebKitURISchemeResponse, call
webkit_uri_request_finish_with_response() with it to return the response.</doc>
</docsection>
<docsection name="WebKitUserContent">
<doc xml:space="preserve">See also: #WebKitUserContentManager</doc>
@@ -15326,7 +15523,7 @@ to true, otherwise no inspector is available.
&lt;informalexample&gt;&lt;programlisting&gt;
/&lt;!-- --&gt;* Enable the developer extras *&lt;!-- --&gt;/
WebKitSettings *setting = webkit_web_view_get_settings (WEBKIT_WEB_VIEW(my_webview));
WebKitSettings *settings = webkit_web_view_get_settings (WEBKIT_WEB_VIEW(my_webview));
g_object_set (G_OBJECT(settings), "enable-developer-extras", TRUE, NULL);
/&lt;!-- --&gt;* Load some data or reload to be able to inspect the page*&lt;!-- --&gt;/