diff --git a/Atk-1.0.gir b/Atk-1.0.gir index fda7e06..639ae70 100644 --- a/Atk-1.0.gir +++ b/Atk-1.0.gir @@ -544,7 +544,7 @@ A string name/value pair representing a generic attribute. - + 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. @@ -4545,7 +4545,7 @@ application compile time, rather than from the library linked against at application run time. - + 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. @@ -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 - + + Indicates this object is collapsed. @Since: ATK-2.38 + + Not a valid state, used for finding end of enumeration diff --git a/GIRepository-2.0.gir b/GIRepository-2.0.gir index 82acfaa..06c8033 100644 --- a/GIRepository-2.0.gir +++ b/GIRepository-2.0.gir @@ -195,43 +195,45 @@ in a #GIBaseInfo struct. - GIBaseInfo is the common base struct of all other *Info structs + 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: -<example> -<title>Casting a #GIFunctionInfo to #GIBaseInfo</title> -<programlisting> + +All info structures can be cast to a #GIBaseInfo, for instance: + +|[<!-- language="C" --> GIFunctionInfo *function_info = ...; - GIBaseInfo *info = (GIBaseInfo*)function_info; -</programlisting> -</example> -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(). + GIBaseInfo *info = (GIBaseInfo *) function_info; +]| -<example> -<title>Getting the Button of the Gtk typelib</title> -<programlisting> - GIBaseInfo *button_info = g_irepository_find_by_name(NULL, "Gtk", "Button"); - ... use button_info ... - g_base_info_unref(button_info); -</programlisting> -</example> +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. -<refsect1 id="gi-gibaseinfo.struct-hierarchy" role="struct_hierarchy"> -<title role="struct_hierarchy.title">Struct hierarchy</title> -<synopsis> +#GIBaseInfo structuress are normally accessed by calling either +g_irepository_find_by_name(), g_irepository_find_by_gtype() or +g_irepository_get_info(). + +|[<!-- language="C" --> +GIBaseInfo *button_info = + g_irepository_find_by_name (NULL, "Gtk", "Button"); + +// ... use button_info ... + +g_base_info_unref (button_info); +]| + +## Hierarchy + +|[<!-- language="plain" --> GIBaseInfo - +----<link linkend="gi-GIArgInfo">GIArgInfo</link> - +----<link linkend="gi-GICallableInfo">GICallableInfo</link> - +----<link linkend="gi-GIConstantInfo">GIConstantInfo</link> - +----<link linkend="gi-GIFieldInfo">GIFieldInfo</link> - +----<link linkend="gi-GIPropertyInfo">GIPropertyInfo</link> - +----<link linkend="gi-GIRegisteredTypeInfo">GIRegisteredTypeInfo</link> - +----<link linkend="gi-GITypeInfo">GITypeInfo</link> -</synopsis> -</refsect1> + +---- GIArgInfo + +---- GICallableInfo + +---- GIConstantInfo + +---- GIFieldInfo + +---- GIPropertyInfo + +---- GIRegisteredTypeInfo + +---- GITypeInfo +]| @@ -390,9 +392,7 @@ normal GIR annotations. Both the @name and @value should be treated as constants and must not be freed. -<example> -<title>Iterating over attributes</title> -<programlisting> +|[<!-- language="C" --> void print_attributes (GIBaseInfo *info) { @@ -404,8 +404,7 @@ print_attributes (GIBaseInfo *info) g_print ("attribute name: %s value: %s", name, value); } } -</programlisting> -</example> +]| %TRUE if there are more attributes @@ -743,7 +742,7 @@ against. The micro version number of the girepository library. - + The minor version number of the girepository library. @@ -1006,9 +1005,10 @@ such as g_irepository_require() before calling this function. - Return an array of all (transitive) versioned dependencies for -@namespace_. Returned strings are of the form -<code>namespace-version</code>. + 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(). - Zero-terminated string array of all versioned + all versioned dependencies @@ -1036,7 +1036,7 @@ g_irepository_get_immediate_dependencies(). Return an array of the immediate versioned dependencies for @namespace_. -Returned strings are of the form <code>namespace-version</code>. +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. @@ -1387,20 +1387,42 @@ can be freed. The callback and associated user_data is only -used during the call to this function. + used during the call to this function. The callback and associated user_data is -only used until the callback is invoked, and the callback. -is invoked always exactly once. + only used until the callback is invoked, and the callback. + is invoked always exactly once. - The callback and and associated -user_data is used until the caller is notfied via the destroy_notify. + The callback and associated + user_data is used until the caller is notfied via the destroy_notify. + + + The callback and associated user_data is + used until the process terminates - + Checks if @tag is a basic type. + Use GI_TYPE_TAG_IS_BASIC() instead + + + a type tag + + + + + Checks if @tag is a container type. That is, a type which may have a nonnull +return from g_type_info_get_param_type(). + + + a type tag + + + + + Checks if @tag is a numeric type. That is, integer or floating point. a type tag @@ -2471,270 +2493,138 @@ have been g_module_symbol()<!-- -->ed before calling this function. - GIArgInfo represents an argument. An argument is always -part of a #GICallableInfo. + GIArgInfo represents an argument of a callable. -<refsect1 id="gi-giarginfo.struct-hierarchy" role="struct_hierarchy"> -<title role="struct_hierarchy.title">Struct hierarchy</title> -<synopsis> - <link linkend="GIBaseInfo">GIBaseInfo</link> - +----GIArgInfo -</synopsis> -</refsect1> +An argument is always part of a #GICallableInfo. 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. - -<refsect1 id="gi-gicallableinfo.struct-hierarchy" role="struct_hierarchy"> -<title role="struct_hierarchy.title">Struct hierarchy</title> -<synopsis> - <link linkend="GIBaseInfo">GIBaseInfo</link> - +----GICallableInfo - +----<link linkend="gi-GIFunctionInfo">GIFunctionInfo</link> - +----<link linkend="gi-GISignalInfo">GISignalInfo</link> - +----<link linkend="gi-GIVFuncInfo">GIVFuncInfo</link> -</synopsis> -</refsect1> +direction and a flag which decides if it returns null. - GICallbackInfo represents a callback. - -<refsect1 id="gi-gicallbackinfo.struct-hierarchy" role="struct_hierarchy"> -<title role="struct_hierarchy.title">Struct hierarchy</title> -<synopsis> - <link linkend="GIBaseInfo">GIBaseInfo</link> - +----<link linkend="gi-GICallableInfo">GICallableInfo</link> - +----GIFunctionInfo - +----<link linkend="gi-GISignalInfo">GISignalInfo</link> - +----<link linkend="gi-GIVFuncInfo">GIVFuncInfo</link> -</synopsis> -</refsect1> + GICallbackInfo represents a callback. - 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(). + GIConstantInfo represents a constant. -<refsect1 id="gi-giconstantinfo.struct-hierarchy" role="struct_hierarchy"> -<title role="struct_hierarchy.title">Struct hierarchy</title> -<synopsis> - <link linkend="GIBaseInfo">GIBaseInfo</link> - +----GIConstantInfo -</synopsis> -</refsect1> +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(). - 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. + A GIEnumInfo represents an enumeration, and a GIValueInfo represents +a value in the enumeration. -<refsect1 id="gi-gienuminfo.struct-hierarchy" role="struct_hierarchy"> -<title role="struct_hierarchy.title">Struct hierarchy</title> -<synopsis> - <link linkend="GIBaseInfo">GIBaseInfo</link> - +----<link linkend="gi-GIRegisteredTypeInfo">GIRegisteredTypeInfo</link> - +----GIEnumInfo -</synopsis> -</refsect1> +The GIEnumInfo contains a set of values and a type. + +The GIValueInfo is fetched by calling g_enum_info_get_value() on +a GIEnumInfo. - 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. + A GIFieldInfo struct represents a field of a struct, union, or object. -<refsect1 id="gi-gifieldinfo.struct-hierarchy" role="struct_hierarchy"> -<title role="struct_hierarchy.title">Struct hierarchy</title> -<synopsis> - <link linkend="GIBaseInfo">GIBaseInfo</link> - +----GIFieldInfo -</synopsis> -</refsect1> +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 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. - -<refsect1 id="gi-gifunctioninfo.struct-hierarchy" role="struct_hierarchy"> -<title role="struct_hierarchy.title">Struct hierarchy</title> -<synopsis> - <link linkend="GIBaseInfo">GIBaseInfo</link> - +----<link linkend="gi-GICallableInfo">GICallableInfo</link> - +----GIFunctionInfo - +----<link linkend="gi-GISignalInfo">GISignalInfo</link> - +----<link linkend="gi-GIVFuncInfo">GIVFuncInfo</link> -</synopsis> -</refsect1> +other metadata. GIInterfaceInfo represents a #GInterface type. A GInterface has methods, fields, properties, signals, interfaces, constants, -virtual functions and prerequisites. - -<refsect1 id="gi-giinterfaceinfo.struct-hierarchy" role="struct_hierarchy"> -<title role="struct_hierarchy.title">Struct hierarchy</title> -<synopsis> - <link linkend="GIBaseInfo">GIBaseInfo</link> - +----<link linkend="gi-GIRegisteredTypeInfo">GIRegisteredTypeInfo</link> - +----GIInterfaceInfo -</synopsis> -</refsect1> +virtual functions and prerequisites. - GIObjectInfo represents a #GObject. This doesn't represent a specific -instance of a GObject, instead this represent the object type (eg class). + 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. -<refsect1 id="gi-giobjectinfo.struct-hierarchy" role="struct_hierarchy"> -<title role="struct_hierarchy.title">Struct hierarchy</title> -<synopsis> - <link linkend="GIBaseInfo">GIBaseInfo</link> - +----<link linkend="gi-GIRegisteredTypeInfo">GIRegisteredTypeInfo</link> - +----GIObjectInfo -</synopsis> -</refsect1> +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. - GIPropertyInfo represents a property. A property belongs to -either a #GIObjectInfo or a #GIInterfaceInfo. + GIPropertyInfo represents a property in a #GObject. -<refsect1 id="gi-gipropertyinfo.struct-hierarchy" role="struct_hierarchy"> -<title role="struct_hierarchy.title">Struct hierarchy</title> -<synopsis> - <link linkend="GIBaseInfo">GIBaseInfo</link> - +----GIPropertyInfo -</synopsis> -</refsect1> +A property belongs to either a #GIObjectInfo or a #GIInterfaceInfo. - GIRegisteredTypeInfo represents an entity with a GType associated. Could -be either a #GIEnumInfo, #GIInterfaceInfo, #GIObjectInfo, #GIStructInfo or a -#GIUnionInfo. + 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. - -<refsect1 id="gi-giregisteredtypeinfo.struct-hierarchy" role="struct_hierarchy"> -<title role="struct_hierarchy.title">Struct hierarchy</title> -<synopsis> - <link linkend="GIBaseInfo">GIBaseInfo</link> - +----GIRegisteredTypeInfo - +----<link linkend="gi-GIEnumInfo">GIEnumInfo</link> - +----<link linkend="gi-GIInterfaceInfo">GIInterfaceInfo</link> - +----<link linkend="gi-GIObjectInfo">GIObjectInfo</link> - +----<link linkend="gi-GIStructInfo">GIStructInfo</link> - +----<link linkend="gi-GIUnionInfo">GIUnionInfo</link> -</synopsis> -</refsect1> +about the rest of the details. - GISignalInfo represents a signal. It's a sub-struct of #GICallableInfo -and contains a set of flags and a class closure. + 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. - -<refsect1 id="gi-gisignalinfo.struct-hierarchy" role="struct_hierarchy"> -<title role="struct_hierarchy.title">Struct hierarchy</title> -<synopsis> - <link linkend="GIBaseInfo">GIBaseInfo</link> - +----<link linkend="gi-GICallableInfo">GICallableInfo</link> - +----<link linkend="gi-GIFunctionInfo">GIFunctionInfo</link> - +----GISignalInfo - +----<link linkend="gi-GIVFuncInfo">GIVFuncInfo</link> -</synopsis> -</refsect1> +and other metadata from the signal. GIStructInfo represents a generic C structure type. -A structure has methods and fields. - -<refsect1 id="gi-giobjectinfo.struct-hierarchy" role="struct_hierarchy"> -<title role="struct_hierarchy.title">Struct hierarchy</title> -<synopsis> - <link linkend="GIBaseInfo">GIBaseInfo</link> - +----<link linkend="gi-GIRegisteredTypeInfo">GIRegisteredTypeInfo</link> - +----GIStructInfo -</synopsis> -</refsect1> +A structure has methods and fields. - 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 + 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. - -<refsect1 id="gi-gitypeinfo.struct-hierarchy" role="struct_hierarchy"> -<title role="struct_hierarchy.title">Struct hierarchy</title> -<synopsis> - <link linkend="GIBaseInfo">GIBaseInfo</link> - +----GITypeInfo -</synopsis> -</refsect1> +interface. 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. - -<refsect1 id="gi-giobjectinfo.struct-hierarchy" role="struct_hierarchy"> -<title role="struct_hierarchy.title">Struct hierarchy</title> -<synopsis> - <link linkend="GIBaseInfo">GIBaseInfo</link> - +----<link linkend="gi-GIRegisteredTypeInfo">GIRegisteredTypeInfo</link> - +----GIUnionInfo -</synopsis> -</refsect1> +fields is valid for specified instance. - GIValueInfo represents a value. - -<refsect1 id="gi-givalueinfo.struct-hierarchy" role="struct_hierarchy"> -<title role="struct_hierarchy.title">Struct hierarchy</title> -<synopsis> - <link linkend="GIBaseInfo">GIBaseInfo</link> - +----GIValueInfo -</synopsis> -</refsect1> + GIValueInfo represents a value. - GIVfuncInfo represents a virtual function. A property belongs to -either a #GIObjectInfo or a #GIInterfaceInfo. + GIVfuncInfo represents a virtual function. -<refsect1 id="gi-givfuncinfo.struct-hierarchy" role="struct_hierarchy"> -<title role="struct_hierarchy.title">Struct hierarchy</title> -<synopsis> - <link linkend="GIBaseInfo">GIBaseInfo</link> - +----<link linkend="gi-GICallableInfo">GICallableInfo</link> - +----<link linkend="gi-GIFunctionInfo">GIFunctionInfo</link> - +----<link linkend="gi-GISignalInfo">GISignalInfo</link> - +----GIVFuncInfo -</synopsis> -</refsect1> +A virtual function is a callable object that belongs to either a +#GIObjectInfo or a #GIInterfaceInfo. TODO @@ -3965,7 +3855,7 @@ from @hash_pointer, depending on the storage type of @info. Obtain the fixed array size of the type. The type tag must be a -#GI_TYPE_TAG_ARRAY or -1 will returned. +#GI_TYPE_TAG_ARRAY or -1 will be returned. the size or -1 if it's not an array @@ -3978,8 +3868,8 @@ from @hash_pointer, depending on the storage type of @info. - Obtain the array length of the type. The type tag must be a -#GI_TYPE_TAG_ARRAY or -1 will returned. + 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. the array length, or -1 if the type is not an array @@ -4116,7 +4006,7 @@ pointer). Obtain if the last element of the array is %NULL. The type tag must be a -#GI_TYPE_TAG_ARRAY or %FALSE will returned. +#GI_TYPE_TAG_ARRAY or %FALSE will be returned. %TRUE if zero terminated @@ -4128,6 +4018,63 @@ pointer). + + 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. + + + + + + a #GITypeTag obtained from g_type_info_get_storage_type() + + + + A pointer, such as a #GHashTable data pointer + + + + A #GIArgument to fill in + + + + + + 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. + + A stuffed pointer, that can be stored in a #GHashTable, for example + + + + + a #GITypeTag obtained from g_type_info_get_storage_type() + + + + A #GIArgument with the value to stuff into a pointer + + + + Obtain a string representation of @type diff --git a/GLib-2.0.gir b/GLib-2.0.gir index ecc0787..7591ba5 100644 --- a/GLib-2.0.gir +++ b/GLib-2.0.gir @@ -1321,7 +1321,7 @@ the queue is destroyed after the final unref. Specifies one of the possible types of byte order. -See #G_BYTE_ORDER. +See %G_BYTE_ORDER. @@ -1411,7 +1411,7 @@ If no bookmark for @uri is found then it is created. Gets the time the bookmark for @uri was added to @bookmark In the event the URI cannot be found, -1 is returned and -@error is set to #G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND. +@error is set to %G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND. Use g_bookmark_file_get_added_date_time() instead, as `time_t` is deprecated due to the year 2038 problem. @@ -1433,7 +1433,7 @@ In the event the URI cannot be found, -1 is returned and Gets the time the bookmark for @uri was added to @bookmark In the event the URI cannot be found, %NULL is returned and -@error is set to #G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND. +@error is set to %G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND. a #GDateTime @@ -1457,11 +1457,11 @@ the returned data. The string returned in @app_exec must be freed. In the event the URI cannot be found, %FALSE is returned and -@error is set to #G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND. In the +@error is set to %G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND. In the event that no application with name @app_name has registered a bookmark for @uri, %FALSE is returned and error is set to -#G_BOOKMARK_FILE_ERROR_APP_NOT_REGISTERED. In the event that unquoting -the command line fails, an error of the #G_SHELL_ERROR domain is +%G_BOOKMARK_FILE_ERROR_APP_NOT_REGISTERED. In the event that unquoting +the command line fails, an error of the %G_SHELL_ERROR domain is set and %FALSE is returned. Use g_bookmark_file_get_application_info() instead, as `time_t` is deprecated due to the year 2038 problem. @@ -1504,11 +1504,11 @@ the returned data. The string returned in @app_exec must be freed. In the event the URI cannot be found, %FALSE is returned and -@error is set to #G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND. In the +@error is set to %G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND. In the event that no application with name @app_name has registered a bookmark for @uri, %FALSE is returned and error is set to -#G_BOOKMARK_FILE_ERROR_APP_NOT_REGISTERED. In the event that unquoting -the command line fails, an error of the #G_SHELL_ERROR domain is +%G_BOOKMARK_FILE_ERROR_APP_NOT_REGISTERED. In the event that unquoting +the command line fails, an error of the %G_SHELL_ERROR domain is set and %FALSE is returned. %TRUE on success. @@ -1546,7 +1546,7 @@ set and %FALSE is returned. bookmark for @uri. In the event the URI cannot be found, %NULL is returned and -@error is set to #G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND. +@error is set to %G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND. a newly allocated %NULL-terminated array of strings. Use g_strfreev() to free it. @@ -1573,7 +1573,7 @@ In the event the URI cannot be found, %NULL is returned and Retrieves the description of the bookmark for @uri. In the event the URI cannot be found, %NULL is returned and -@error is set to #G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND. +@error is set to %G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND. a newly allocated string or %NULL if the specified URI cannot be found. @@ -1594,7 +1594,7 @@ In the event the URI cannot be found, %NULL is returned and Retrieves the list of group names of the bookmark for @uri. In the event the URI cannot be found, %NULL is returned and -@error is set to #G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND. +@error is set to %G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND. The returned array is %NULL terminated, so @length may optionally be %NULL. @@ -1624,7 +1624,7 @@ be %NULL. Gets the icon of the bookmark for @uri. In the event the URI cannot be found, %FALSE is returned and -@error is set to #G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND. +@error is set to %G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND. %TRUE if the icon for the bookmark for the URI was found. You should free the returned strings. @@ -1653,9 +1653,9 @@ In the event the URI cannot be found, %FALSE is returned and Gets whether the private flag of the bookmark for @uri is set. In the event the URI cannot be found, %FALSE is returned and -@error is set to #G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND. In the +@error is set to %G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND. In the event that the private flag cannot be found, %FALSE is returned and -@error is set to #G_BOOKMARK_FILE_ERROR_INVALID_VALUE. +@error is set to %G_BOOKMARK_FILE_ERROR_INVALID_VALUE. %TRUE if the private flag is set, %FALSE otherwise. @@ -1675,9 +1675,9 @@ event that the private flag cannot be found, %FALSE is returned and Retrieves the MIME type of the resource pointed by @uri. In the event the URI cannot be found, %NULL is returned and -@error is set to #G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND. In the +@error is set to %G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND. In the event that the MIME type cannot be found, %NULL is returned and -@error is set to #G_BOOKMARK_FILE_ERROR_INVALID_VALUE. +@error is set to %G_BOOKMARK_FILE_ERROR_INVALID_VALUE. a newly allocated string or %NULL if the specified URI cannot be found. @@ -1698,7 +1698,7 @@ event that the MIME type cannot be found, %NULL is returned and Gets the time when the bookmark for @uri was last modified. In the event the URI cannot be found, -1 is returned and -@error is set to #G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND. +@error is set to %G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND. Use g_bookmark_file_get_modified_date_time() instead, as `time_t` is deprecated due to the year 2038 problem. @@ -1720,7 +1720,7 @@ In the event the URI cannot be found, -1 is returned and Gets the time when the bookmark for @uri was last modified. In the event the URI cannot be found, %NULL is returned and -@error is set to #G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND. +@error is set to %G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND. a #GDateTime @@ -1755,7 +1755,7 @@ In the event the URI cannot be found, %NULL is returned and If @uri is %NULL, the title of @bookmark is returned. In the event the URI cannot be found, %NULL is returned and -@error is set to #G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND. +@error is set to %G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND. a newly allocated string or %NULL if the specified URI cannot be found. @@ -1798,7 +1798,7 @@ optionally be %NULL. Gets the time the bookmark for @uri was last visited. In the event the URI cannot be found, -1 is returned and -@error is set to #G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND. +@error is set to %G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND. Use g_bookmark_file_get_visited_date_time() instead, as `time_t` is deprecated due to the year 2038 problem. @@ -1820,7 +1820,7 @@ In the event the URI cannot be found, -1 is returned and Gets the time the bookmark for @uri was last visited. In the event the URI cannot be found, %NULL is returned and -@error is set to #G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND. +@error is set to %G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND. a #GDateTime @@ -1841,7 +1841,7 @@ In the event the URI cannot be found, %NULL is returned and registered by application @name. In the event the URI cannot be found, %FALSE is returned and -@error is set to #G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND. +@error is set to %G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND. %TRUE if the application @name was found @@ -1866,7 +1866,7 @@ In the event the URI cannot be found, %FALSE is returned and the bookmark for @uri belongs to. In the event the URI cannot be found, %FALSE is returned and -@error is set to #G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND. +@error is set to %G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND. %TRUE if @group was found. @@ -1981,7 +1981,7 @@ existing bookmark for @new_uri will be overwritten. If @new_uri is %NULL, then the bookmark is removed. In the event the URI cannot be found, %FALSE is returned and -@error is set to #G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND. +@error is set to %G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND. %TRUE if the URI was successfully changed @@ -2006,10 +2006,10 @@ In the event the URI cannot be found, %FALSE is returned and that have registered a bookmark for @uri inside @bookmark. In the event the URI cannot be found, %FALSE is returned and -@error is set to #G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND. +@error is set to %G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND. In the event that no application with name @app_name has registered a bookmark for @uri, %FALSE is returned and error is set to -#G_BOOKMARK_FILE_ERROR_APP_NOT_REGISTERED. +%G_BOOKMARK_FILE_ERROR_APP_NOT_REGISTERED. %TRUE if the application was successfully removed. @@ -2034,9 +2034,9 @@ a bookmark for @uri, %FALSE is returned and error is set to for @uri belongs to. In the event the URI cannot be found, %FALSE is returned and -@error is set to #G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND. +@error is set to %G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND. In the event no group was defined, %FALSE is returned and -@error is set to #G_BOOKMARK_FILE_ERROR_INVALID_VALUE. +@error is set to %G_BOOKMARK_FILE_ERROR_INVALID_VALUE. %TRUE if @group was successfully removed. @@ -2143,10 +2143,10 @@ current time will be used. If you try to remove an application by setting its registration count to zero, and no bookmark for @uri is found, %FALSE is returned and -@error is set to #G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND; similarly, +@error is set to %G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND; similarly, in the event that no application @name has registered a bookmark for @uri, %FALSE is returned and error is set to -#G_BOOKMARK_FILE_ERROR_APP_NOT_REGISTERED. Otherwise, if no bookmark +%G_BOOKMARK_FILE_ERROR_APP_NOT_REGISTERED. Otherwise, if no bookmark for @uri is found, one is created. Use g_bookmark_file_set_application_info() instead, as `time_t` is deprecated due to the year 2038 problem. @@ -2205,10 +2205,10 @@ the list of registered applications. If you try to remove an application by setting its registration count to zero, and no bookmark for @uri is found, %FALSE is returned and -@error is set to #G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND; similarly, +@error is set to %G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND; similarly, in the event that no application @name has registered a bookmark for @uri, %FALSE is returned and error is set to -#G_BOOKMARK_FILE_ERROR_APP_NOT_REGISTERED. Otherwise, if no bookmark +%G_BOOKMARK_FILE_ERROR_APP_NOT_REGISTERED. Otherwise, if no bookmark for @uri is found, one is created. %TRUE if the application's meta-data was successfully @@ -4228,6 +4228,12 @@ in the macro, so you shouldn't use double quotes. + + + + + + This macro is similar to %G_GNUC_DEPRECATED_FOR, and can be used to mark functions declarations as deprecated. Unlike %G_GNUC_DEPRECATED_FOR, it @@ -4382,6 +4388,12 @@ int my_mistake (void); + + + + + + @@ -4526,6 +4538,12 @@ int my_mistake (void); + + + + + + @@ -4670,6 +4688,12 @@ int my_mistake (void); + + + + + + The directory separator character. This is '/' on UNIX machines and '\' under Windows. @@ -4756,11 +4780,14 @@ represent an existing day). Free the return value with g_date_free(). - Like g_date_new(), but also sets the value of the date. Assuming the -day-month-year triplet you pass in represents an existing day, the -returned date will be valid. + Create a new #GDate representing the given day-month-year triplet. + +The triplet you pass in must represent a valid date. Use g_date_valid_dmy() +if needed to validate it. The returned #GDate is guaranteed to be non-%NULL +and valid. - a newly-allocated #GDate initialized with @day, @month, and @year + a newly-allocated #GDate + initialized with @day, @month, and @year @@ -4779,11 +4806,14 @@ returned date will be valid. - Like g_date_new(), but also sets the value of the date. Assuming the -Julian day number you pass in is valid (greater than 0, less than an -unreasonably large number), the returned date will be valid. + Create a new #GDate representing the given Julian date. + +The @julian_day you pass in must be valid. Use g_date_valid_julian() if +needed to validate it. The returned #GDate is guaranteed to be non-%NULL and +valid. - a newly-allocated #GDate initialized with @julian_day + a newly-allocated #GDate initialized + with @julian_day @@ -6844,8 +6874,8 @@ When the reference count reaches zero, the resources allocated by - Enumeration representing a day of the week; #G_DATE_MONDAY, -#G_DATE_TUESDAY, etc. #G_DATE_BAD_WEEKDAY is an invalid weekday. + Enumeration representing a day of the week; %G_DATE_MONDAY, +%G_DATE_TUESDAY, etc. %G_DATE_BAD_WEEKDAY is an invalid weekday. invalid value @@ -7081,7 +7111,7 @@ and %FALSE otherwise. The `GError` structure contains information about an error that has occurred. - error domain, e.g. #G_FILE_ERROR + error domain, e.g. %G_FILE_ERROR @@ -7669,13 +7699,13 @@ g_print ("%#" G_GINT16_MODIFIER "x", value); This is the platform dependent conversion specifier for scanning -and printing values of type #gint32. See also #G_GINT16_FORMAT. +and printing values of type #gint32. See also %G_GINT16_FORMAT. The platform dependent length modifier for conversion specifiers for scanning and printing values of type #gint32 or #guint32. It -is a string literal. See also #G_GINT16_MODIFIER. +is a string literal. See also %G_GINT16_MODIFIER. @@ -7689,7 +7719,7 @@ into the source code. This is the platform dependent conversion specifier for scanning -and printing values of type #gint64. See also #G_GINT16_FORMAT. +and printing values of type #gint64. See also %G_GINT16_FORMAT. Some platforms do not support scanning and printing 64-bit integers, even though the types are supported. On such platforms %G_GINT64_FORMAT @@ -7925,7 +7955,7 @@ for details. This macro is used to insert #goffset 64-bit integer literals into the source code. -See also #G_GINT64_CONSTANT. +See also G_GINT64_CONSTANT(). a literal integer value, e.g. 0x1d636b02300a7aa7 @@ -7934,7 +7964,7 @@ See also #G_GINT64_CONSTANT. This is the platform dependent conversion specifier for scanning -and printing values of type #gsize. See also #G_GINT16_FORMAT. +and printing values of type #gsize. See also %G_GINT16_FORMAT. @@ -7945,7 +7975,7 @@ is a string literal. This is the platform dependent conversion specifier for scanning -and printing values of type #gssize. See also #G_GINT16_FORMAT. +and printing values of type #gssize. See also %G_GINT16_FORMAT. @@ -7956,12 +7986,12 @@ is a string literal. This is the platform dependent conversion specifier for scanning -and printing values of type #guint16. See also #G_GINT16_FORMAT +and printing values of type #guint16. See also %G_GINT16_FORMAT This is the platform dependent conversion specifier for scanning -and printing values of type #guint32. See also #G_GINT16_FORMAT. +and printing values of type #guint32. See also %G_GINT16_FORMAT. @@ -7975,7 +8005,7 @@ literals into the source code. This is the platform dependent conversion specifier for scanning -and printing values of type #guint64. See also #G_GINT16_FORMAT. +and printing values of type #guint64. See also %G_GINT16_FORMAT. Some platforms do not support scanning and printing 64-bit integers, even though the types are supported. On such platforms %G_GUINT64_FORMAT @@ -8626,6 +8656,32 @@ g_hash_table_unref(). + + Creates a new #GHashTable like g_hash_table_new_full() with a reference +count of 1. + +It inherits the hash function, the key equal function, the key destroy function, +as well as the value destroy function, from @other_hash_table. + +The returned hash table will be empty; it will not contain the keys +or values from @other_hash_table. + + a new #GHashTable + + + + + + + + Another #GHashTable + + + + + + + Atomically increments the reference count of @hash_table by one. This function is MT-safe and may be called from any thread. @@ -10060,8 +10116,8 @@ last reference is dropped using g_io_channel_unref(). Flushes the write buffer for the GIOChannel. the status of the operation: One of - #G_IO_STATUS_NORMAL, #G_IO_STATUS_AGAIN, or - #G_IO_STATUS_ERROR. + %G_IO_STATUS_NORMAL, %G_IO_STATUS_AGAIN, or + %G_IO_STATUS_ERROR. @@ -11206,9 +11262,9 @@ frees the key file and all its allocated memory. boolean. If @key cannot be found then %FALSE is returned and @error is set -to #G_KEY_FILE_ERROR_KEY_NOT_FOUND. Likewise, if the value +to %G_KEY_FILE_ERROR_KEY_NOT_FOUND. Likewise, if the value associated with @key cannot be interpreted as a boolean then %FALSE -is returned and @error is set to #G_KEY_FILE_ERROR_INVALID_VALUE. +is returned and @error is set to %G_KEY_FILE_ERROR_INVALID_VALUE. the value associated with the key as a boolean, or %FALSE if the key was not found or could not be parsed. @@ -11234,9 +11290,9 @@ is returned and @error is set to #G_KEY_FILE_ERROR_INVALID_VALUE. booleans. If @key cannot be found then %NULL is returned and @error is set to -#G_KEY_FILE_ERROR_KEY_NOT_FOUND. Likewise, if the values associated +%G_KEY_FILE_ERROR_KEY_NOT_FOUND. Likewise, if the values associated with @key cannot be interpreted as booleans then %NULL is returned -and @error is set to #G_KEY_FILE_ERROR_INVALID_VALUE. +and @error is set to %G_KEY_FILE_ERROR_INVALID_VALUE. the values associated with the key as a list of booleans, or %NULL if the @@ -11298,9 +11354,9 @@ the line breaks between lines, but does not include the final line break. double. If @group_name is %NULL, the start_group is used. If @key cannot be found then 0.0 is returned and @error is set to -#G_KEY_FILE_ERROR_KEY_NOT_FOUND. Likewise, if the value associated +%G_KEY_FILE_ERROR_KEY_NOT_FOUND. Likewise, if the value associated with @key cannot be interpreted as a double then 0.0 is returned -and @error is set to #G_KEY_FILE_ERROR_INVALID_VALUE. +and @error is set to %G_KEY_FILE_ERROR_INVALID_VALUE. the value associated with the key as a double, or 0.0 if the key was not found or could not be parsed. @@ -11326,9 +11382,9 @@ and @error is set to #G_KEY_FILE_ERROR_INVALID_VALUE. doubles. If @key cannot be found then %NULL is returned and @error is set to -#G_KEY_FILE_ERROR_KEY_NOT_FOUND. Likewise, if the values associated +%G_KEY_FILE_ERROR_KEY_NOT_FOUND. Likewise, if the values associated with @key cannot be interpreted as doubles then %NULL is returned -and @error is set to #G_KEY_FILE_ERROR_INVALID_VALUE. +and @error is set to %G_KEY_FILE_ERROR_INVALID_VALUE. the values associated with the key as a list of doubles, or %NULL if the @@ -11408,10 +11464,10 @@ The array of returned groups will be %NULL-terminated, so integer. If @key cannot be found then 0 is returned and @error is set to -#G_KEY_FILE_ERROR_KEY_NOT_FOUND. Likewise, if the value associated +%G_KEY_FILE_ERROR_KEY_NOT_FOUND. Likewise, if the value associated with @key cannot be interpreted as an integer, or is out of range for a #gint, then 0 is returned -and @error is set to #G_KEY_FILE_ERROR_INVALID_VALUE. +and @error is set to %G_KEY_FILE_ERROR_INVALID_VALUE. the value associated with the key as an integer, or 0 if the key was not found or could not be parsed. @@ -11437,10 +11493,10 @@ and @error is set to #G_KEY_FILE_ERROR_INVALID_VALUE. integers. If @key cannot be found then %NULL is returned and @error is set to -#G_KEY_FILE_ERROR_KEY_NOT_FOUND. Likewise, if the values associated +%G_KEY_FILE_ERROR_KEY_NOT_FOUND. Likewise, if the values associated with @key cannot be interpreted as integers, or are out of range for #gint, then %NULL is returned -and @error is set to #G_KEY_FILE_ERROR_INVALID_VALUE. +and @error is set to %G_KEY_FILE_ERROR_INVALID_VALUE. the values associated with the key as a list of integers, or %NULL if @@ -11474,7 +11530,7 @@ and @error is set to #G_KEY_FILE_ERROR_INVALID_VALUE. returned keys will be %NULL-terminated, so @length may optionally be %NULL. In the event that the @group_name cannot be found, %NULL is returned and @error is set to -#G_KEY_FILE_ERROR_GROUP_NOT_FOUND. +%G_KEY_FILE_ERROR_GROUP_NOT_FOUND. a newly-allocated %NULL-terminated array of strings. Use g_strfreev() to free it. @@ -11541,7 +11597,7 @@ the lifetime of the #GKeyFile, it must be loaded with %G_KEY_FILE_KEEP_TRANSLATIONS in order to load strings for all locales. If @key cannot be found then %NULL is returned and @error is set -to #G_KEY_FILE_ERROR_KEY_NOT_FOUND. If the value associated +to %G_KEY_FILE_ERROR_KEY_NOT_FOUND. If the value associated with @key cannot be interpreted or no suitable translation can be found then the untranslated value is returned. @@ -11578,7 +11634,7 @@ the lifetime of the #GKeyFile, it must be loaded with %G_KEY_FILE_KEEP_TRANSLATIONS in order to load strings for all locales. If @key cannot be found then %NULL is returned and @error is set -to #G_KEY_FILE_ERROR_KEY_NOT_FOUND. If the values associated +to %G_KEY_FILE_ERROR_KEY_NOT_FOUND. If the values associated with @key cannot be interpreted or no suitable translations can be found then the untranslated values are returned. The returned array is %NULL-terminated, so @length may optionally @@ -11633,9 +11689,9 @@ Unlike g_key_file_get_value(), this function handles escape sequences like \s. In the event the key cannot be found, %NULL is returned and -@error is set to #G_KEY_FILE_ERROR_KEY_NOT_FOUND. In the +@error is set to %G_KEY_FILE_ERROR_KEY_NOT_FOUND. In the event that the @group_name cannot be found, %NULL is returned -and @error is set to #G_KEY_FILE_ERROR_GROUP_NOT_FOUND. +and @error is set to %G_KEY_FILE_ERROR_GROUP_NOT_FOUND. a newly allocated string or %NULL if the specified key cannot be found. @@ -11660,9 +11716,9 @@ and @error is set to #G_KEY_FILE_ERROR_GROUP_NOT_FOUND. Returns the values associated with @key under @group_name. In the event the key cannot be found, %NULL is returned and -@error is set to #G_KEY_FILE_ERROR_KEY_NOT_FOUND. In the +@error is set to %G_KEY_FILE_ERROR_KEY_NOT_FOUND. In the event that the @group_name cannot be found, %NULL is returned -and @error is set to #G_KEY_FILE_ERROR_GROUP_NOT_FOUND. +and @error is set to %G_KEY_FILE_ERROR_GROUP_NOT_FOUND. a %NULL-terminated string array or %NULL if the specified @@ -11719,9 +11775,9 @@ or 0 if the key was not found or could not be parsed. Use g_key_file_get_string() to retrieve an unescaped UTF-8 string. In the event the key cannot be found, %NULL is returned and -@error is set to #G_KEY_FILE_ERROR_KEY_NOT_FOUND. In the +@error is set to %G_KEY_FILE_ERROR_KEY_NOT_FOUND. In the event that the @group_name cannot be found, %NULL is returned -and @error is set to #G_KEY_FILE_ERROR_GROUP_NOT_FOUND. +and @error is set to %G_KEY_FILE_ERROR_GROUP_NOT_FOUND. a newly allocated string or %NULL if the specified key cannot be found. @@ -12555,7 +12611,7 @@ if (G_LIKELY (random () != 1)) Specifies one of the possible types of byte order. -See #G_BYTE_ORDER. +See %G_BYTE_ORDER. @@ -13733,7 +13789,7 @@ linked against at application run time. The maximum value which can be held in a #guint8. - + The micro version number of the GLib library. Like #gtk_micro_version, but from the headers used at @@ -13757,7 +13813,7 @@ linked against at application run time. The minimum value which can be held in a #gint8. - + The minor version number of the GLib library. Like #gtk_minor_version, but from the headers used at @@ -13778,6 +13834,20 @@ type representing a set of sources to be handled in a main loop. + + Creates a new #GMainContext structure. + + the new #GMainContext + + + + + a bitwise-OR combination of #GMainContextFlags flags that can only be + set at creation time. + + + + Tries to become the owner of the specified context. If some other thread is the owner of the context, @@ -14404,6 +14474,19 @@ is the global default context, this will return that #GMainContext + + Flags to pass to g_main_context_new_with_flags() which affect the behaviour +of a #GMainContext. + + Default behaviour. + + + Assume that polling for events will +free the thread to process other jobs. That's useful if you're using +`g_main_context_{prepare,query,check,dispatch}` to integrate GMainContext in +other event loops. + + The `GMainLoop` struct is an opaque data type representing the main event loop of a GLib or GTK+ application. @@ -14530,7 +14613,7 @@ atomically (e.g. using g_file_set_contents()). If @filename is the name of an empty, regular file, the function will successfully return an empty #GMappedFile. In other cases of size 0 (e.g. device files such as /dev/null), @error will be set -to the #GFileError value #G_FILE_ERROR_INVAL. +to the #GFileError value %G_FILE_ERROR_INVAL. a newly allocated #GMappedFile which must be unref'd with g_mapped_file_unref(), or %NULL if the mapping failed. @@ -15251,7 +15334,7 @@ references and escape sequences expanded. References refer to the last match done with @string against @regex and have the same syntax used by g_regex_replace(). -The @string_to_expand must be UTF-8 encoded even if #G_REGEX_RAW was +The @string_to_expand must be UTF-8 encoded even if %G_REGEX_RAW was passed to g_regex_new(). The backreferences are extracted from the string passed to the match @@ -15520,19 +15603,19 @@ check that what has been typed so far is potentially valid, it is able to raise an error as soon as a mistake is made. GRegex supports the concept of partial matching by means of the -#G_REGEX_MATCH_PARTIAL_SOFT and #G_REGEX_MATCH_PARTIAL_HARD flags. +%G_REGEX_MATCH_PARTIAL_SOFT and %G_REGEX_MATCH_PARTIAL_HARD flags. When they are used, the return code for g_regex_match() or g_regex_match_full() is, as usual, %TRUE for a complete match, %FALSE otherwise. But, when these functions return %FALSE, you can check if the match was partial calling g_match_info_is_partial_match(). -The difference between #G_REGEX_MATCH_PARTIAL_SOFT and -#G_REGEX_MATCH_PARTIAL_HARD is that when a partial match is encountered -with #G_REGEX_MATCH_PARTIAL_SOFT, matching continues to search for a -possible complete match, while with #G_REGEX_MATCH_PARTIAL_HARD matching +The difference between %G_REGEX_MATCH_PARTIAL_SOFT and +%G_REGEX_MATCH_PARTIAL_HARD is that when a partial match is encountered +with %G_REGEX_MATCH_PARTIAL_SOFT, matching continues to search for a +possible complete match, while with %G_REGEX_MATCH_PARTIAL_HARD matching stops at the partial match. -When both #G_REGEX_MATCH_PARTIAL_SOFT and #G_REGEX_MATCH_PARTIAL_HARD +When both %G_REGEX_MATCH_PARTIAL_SOFT and %G_REGEX_MATCH_PARTIAL_HARD are set, the latter takes precedence. There were formerly some restrictions on the pattern for partial matching. @@ -16489,7 +16572,7 @@ otherwise be left in `argv`. The option must be of type or %G_OPTION_ARG_FILENAME_ARRAY. -Using #G_OPTION_REMAINING instead of simply scanning `argv` +Using %G_OPTION_REMAINING instead of simply scanning `argv` for leftover arguments has the advantage that GOption takes care of necessary encoding conversions for strings or filenames. @@ -17124,7 +17207,7 @@ user-visible strings. The @parameter_string can serve multiple purposes. It can be used to add descriptions for "rest" arguments, which are not parsed by the #GOptionContext, typically something like "FILES" or -"FILE1 FILE2...". If you are using #G_OPTION_REMAINING for +"FILE1 FILE2...". If you are using %G_OPTION_REMAINING for collecting "rest" arguments, GLib handles this automatically by using the @arg_description of the corresponding #GOptionEntry in the usage summary. @@ -17511,7 +17594,7 @@ and all memory allocated by the @group is released. Specifies one of the possible types of byte order -(currently unused). See #G_BYTE_ORDER. +(currently unused). See %G_BYTE_ORDER. @@ -17560,8 +17643,8 @@ It is not used within GLib or GTK+. Use this for high priority idle functions. -GTK+ uses #G_PRIORITY_HIGH_IDLE + 10 for resizing operations, -and #G_PRIORITY_HIGH_IDLE + 20 for redrawing operations. (This is +GTK+ uses %G_PRIORITY_HIGH_IDLE + 10 for resizing operations, +and %G_PRIORITY_HIGH_IDLE + 20 for redrawing operations. (This is done to ensure that any pending resizes are processed before any pending redraws, so that widgets are not redrawn twice unnecessarily.) @@ -18907,7 +18990,7 @@ element from it). A statically-allocated #GQueue must be initialized with this function before it can be used. Alternatively you can initialize it with -#G_QUEUE_INIT. It is not necessary to initialize queues created with +%G_QUEUE_INIT. It is not necessary to initialize queues created with g_queue_new(). @@ -20042,7 +20125,7 @@ expression pattern matching using syntax and semantics similar to Perl regular expression. Some functions accept a @start_position argument, setting it differs -from just passing over a shortened string and setting #G_REGEX_MATCH_NOTBOL +from just passing over a shortened string and setting %G_REGEX_MATCH_NOTBOL in the case of a pattern that begins with any kind of lookbehind assertion. For example, consider the pattern "\Biss\B" which finds occurrences of "iss" in the middle of words. ("\B" matches only if the current position in the @@ -20054,11 +20137,11 @@ boundary. However, if the entire string is passed , but with it is able to look behind the starting point to discover that it is preceded by a letter. -Note that, unless you set the #G_REGEX_RAW flag, all the strings passed +Note that, unless you set the %G_REGEX_RAW flag, all the strings passed to these functions must be encoded in UTF-8. The lengths and the positions inside the strings are in bytes and not in characters, so, for instance, "\xc3\xa0" (i.e. "à") is two bytes long but it is treated as a -single character. If you set #G_REGEX_RAW the strings can be non-valid +single character. If you set %G_REGEX_RAW the strings can be non-valid UTF-8 strings and a byte is treated as a character, so "\xc3\xa0" is two bytes and two characters long. @@ -20073,11 +20156,11 @@ separator, U+2028), or PS (paragraph separator, U+2029). The behaviour of the dot, circumflex, and dollar metacharacters are affected by newline characters, the default is to recognize any newline character (the same characters recognized by "\R"). This can be changed -with #G_REGEX_NEWLINE_CR, #G_REGEX_NEWLINE_LF and #G_REGEX_NEWLINE_CRLF -compile options, and with #G_REGEX_MATCH_NEWLINE_ANY, -#G_REGEX_MATCH_NEWLINE_CR, #G_REGEX_MATCH_NEWLINE_LF and -#G_REGEX_MATCH_NEWLINE_CRLF match options. These settings are also -relevant when compiling a pattern if #G_REGEX_EXTENDED is set, and an +with %G_REGEX_NEWLINE_CR, %G_REGEX_NEWLINE_LF and %G_REGEX_NEWLINE_CRLF +compile options, and with %G_REGEX_MATCH_NEWLINE_ANY, +%G_REGEX_MATCH_NEWLINE_CR, %G_REGEX_MATCH_NEWLINE_LF and +%G_REGEX_MATCH_NEWLINE_CRLF match options. These settings are also +relevant when compiling a pattern if %G_REGEX_EXTENDED is set, and an unescaped "#" outside a character class is encountered. This indicates a comment that lasts until after the next newline. @@ -20372,7 +20455,7 @@ Note that the DFA algorithm is slower than the standard one and it is not able to capture substrings, so backreferences do not work. Setting @start_position differs from just passing over a shortened -string and setting #G_REGEX_MATCH_NOTBOL in the case of a pattern +string and setting %G_REGEX_MATCH_NOTBOL in the case of a pattern that begins with any kind of lookbehind assertion, such as "\b". Unless %G_REGEX_RAW is specified in the options, @string must be valid UTF-8. @@ -20427,7 +20510,7 @@ when the @regex structure was created, letting you have more flexibility in reusing #GRegex structures. Setting @start_position differs from just passing over a shortened -string and setting #G_REGEX_MATCH_NOTBOL in the case of a pattern +string and setting %G_REGEX_MATCH_NOTBOL in the case of a pattern that begins with any kind of lookbehind assertion, such as "\b". Unless %G_REGEX_RAW is specified in the options, @string must be valid UTF-8. @@ -20539,12 +20622,12 @@ There are also escapes that changes the case of the following text: If you do not need to use backreferences use g_regex_replace_literal(). -The @replacement string must be UTF-8 encoded even if #G_REGEX_RAW was +The @replacement string must be UTF-8 encoded even if %G_REGEX_RAW was passed to g_regex_new(). If you want to use not UTF-8 encoded strings you can use g_regex_replace_literal(). Setting @start_position differs from just passing over a shortened -string and setting #G_REGEX_MATCH_NOTBOL in the case of a pattern that +string and setting %G_REGEX_MATCH_NOTBOL in the case of a pattern that begins with any kind of lookbehind assertion, such as "\b". a newly allocated string containing the replacements @@ -20584,7 +20667,7 @@ begins with any kind of lookbehind assertion, such as "\b". @eval for that occurrence. Setting @start_position differs from just passing over a shortened -string and setting #G_REGEX_MATCH_NOTBOL in the case of a pattern +string and setting %G_REGEX_MATCH_NOTBOL in the case of a pattern that begins with any kind of lookbehind assertion, such as "\b". The following example uses g_regex_replace_eval() to replace multiple @@ -20668,7 +20751,7 @@ replacement text. @replacement is replaced literally, to include backreferences use g_regex_replace(). Setting @start_position differs from just passing over a -shortened string and setting #G_REGEX_MATCH_NOTBOL in the +shortened string and setting %G_REGEX_MATCH_NOTBOL in the case of a pattern that begins with any kind of lookbehind assertion, such as "\b". @@ -20764,7 +20847,7 @@ For example splitting "ab c" using as a separator "\s*", you will get "a", "b" and "c". Setting @start_position differs from just passing over a shortened -string and setting #G_REGEX_MATCH_NOTBOL in the case of a pattern +string and setting %G_REGEX_MATCH_NOTBOL in the case of a pattern that begins with any kind of lookbehind assertion, such as "\b". a %NULL-terminated gchar ** array. Free @@ -20995,8 +21078,8 @@ it using g_strfreev() newlines). The "start of line" metacharacter ("^") matches only at the start of the string, while the "end of line" metacharacter ("$") matches only at the end of the string, or before a terminating - newline (unless #G_REGEX_DOLLAR_ENDONLY is set). When - #G_REGEX_MULTILINE is set, the "start of line" and "end of line" + newline (unless %G_REGEX_DOLLAR_ENDONLY is set). When + %G_REGEX_MULTILINE is set, the "start of line" and "end of line" constructs match immediately following or immediately before any newline in the string, respectively, as well as at the very start and end. This can be changed within a pattern by a "(?m)" option @@ -21027,7 +21110,7 @@ it using g_strfreev() matches only at the end of the string. Without this option, a dollar also matches immediately before the final character if it is a newline (but not before any other newlines). This option - is ignored if #G_REGEX_MULTILINE is set. + is ignored if %G_REGEX_MULTILINE is set. Inverts the "greediness" of the quantifiers so that @@ -21345,7 +21428,7 @@ to g_regex_replace_eval(), and it should append the replacement to Specifies that first character of the string is not the beginning of a line, so the circumflex metacharacter should - not match before it. Setting this without #G_REGEX_MULTILINE (at + not match before it. Setting this without %G_REGEX_MULTILINE (at compile time) causes circumflex never to match. This option affects only the behaviour of the circumflex metacharacter, it does not affect "\A". @@ -21354,7 +21437,7 @@ to g_regex_replace_eval(), and it should append the replacement to Specifies that the end of the subject string is not the end of a line, so the dollar metacharacter should not match it nor (except in multiline mode) a newline immediately before it. - Setting this without #G_REGEX_MULTILINE (at compile time) causes + Setting this without %G_REGEX_MULTILINE (at compile time) causes dollar never to match. This option affects only the behaviour of the dollar metacharacter, it does not affect "\Z" or "\z". @@ -21411,16 +21494,16 @@ to g_regex_replace_eval(), and it should append the replacement to U+2029 PARAGRAPH SEPARATOR. Since: 2.34 - An alias for #G_REGEX_MATCH_PARTIAL. Since: 2.34 + An alias for %G_REGEX_MATCH_PARTIAL. Since: 2.34 Turns on the partial matching feature. In contrast to - to #G_REGEX_MATCH_PARTIAL_SOFT, this stops matching as soon as a partial match + to %G_REGEX_MATCH_PARTIAL_SOFT, this stops matching as soon as a partial match is found, without continuing to search for a possible complete match. See g_match_info_is_partial_match() for more information. Since: 2.34 - Like #G_REGEX_MATCH_NOTEMPTY, but only applied to + Like %G_REGEX_MATCH_NOTEMPTY, but only applied to the start of the matched string. For anchored patterns this can only happen for pattern containing "\K". Since: 2.34 @@ -22858,14 +22941,14 @@ parsing of the next unpeeked token. specifies the characters which can start - identifiers (the default is #G_CSET_a_2_z, "_", and #G_CSET_A_2_Z). + identifiers (the default is %G_CSET_a_2_z, "_", and %G_CSET_A_2_Z). specifies the characters which can be used in identifiers, after the first character (the default is - #G_CSET_a_2_z, "_0123456789", #G_CSET_A_2_Z, #G_CSET_LATINS, - #G_CSET_LATINC). + %G_CSET_a_2_z, "_0123456789", %G_CSET_A_2_Z, %G_CSET_LATINS, + %G_CSET_LATINC). @@ -22952,7 +23035,7 @@ parsing of the next unpeeked token. specifies if binary, octal and hexadecimal numbers - are reported as #G_TOKEN_INT (the default is %TRUE). + are reported as %G_TOKEN_INT (the default is %TRUE). @@ -24749,7 +24832,7 @@ is called on its (now invalid) source ID. This source ID may have been reissued, leading to the operation being performed against the wrong source. - For historical reasons, this function always returns %TRUE + %TRUE if the source was found and removed. @@ -24902,8 +24985,8 @@ When calling g_source_set_callback(), you may need to cast a function of a different type to this type. Use G_SOURCE_FUNC() to avoid warnings about incompatible function types. - %FALSE if the source should be removed. #G_SOURCE_CONTINUE and -#G_SOURCE_REMOVE are more memorable names for the return value. + %FALSE if the source should be removed. %G_SOURCE_CONTINUE and +%G_SOURCE_REMOVE are more memorable names for the return value. @@ -26194,6 +26277,7 @@ guaranteed to be stable API — always use a getter function to retrieve th - g_get_user_config_dir() - g_get_system_data_dirs() - g_get_user_data_dir() + - g_get_user_state_dir() - g_get_user_runtime_dir() The subdirectories may not be created by the test harness; as with normal @@ -29450,6 +29534,24 @@ See [Unicode Standard Annex #24: Script names](http://www.unicode.org/reports/tr Yezidi. Since: 2.66 + + Cypro-Minoan. Since: 2.72 + + + Old Uyghur. Since: 2.72 + + + Tangsa. Since: 2.72 + + + Toto. Since: 2.72 + + + Vithkuqi. Since: 2.72 + + + Mathematical notation. Since: 2.72 + These are the possible character classifications from the @@ -35565,6 +35667,69 @@ See your C library manual for more details about access(). + + This function is similar to g_malloc(), allocating (@n_blocks * @n_block_bytes) +bytes, but care is taken to align the allocated memory to with the given +alignment value. Additionally, it will detect possible overflow during +multiplication. + +Aligned memory allocations returned by this function can only be +freed using g_aligned_free(). + + the allocated memory + + + + + the number of blocks to allocate + + + + the size of each block in bytes + + + + the alignment to be enforced, which must be a positive power of 2 + and a multiple of `sizeof(void*)` + + + + + + This function is similar to g_aligned_alloc(), but it will +also clear the allocated memory before returning it. + + the allocated, cleared memory + + + + + the number of blocks to allocate + + + + the size of each block in bytes + + + + the alignment to be enforced, which must be a positive power of 2 + and a multiple of `sizeof(void*)` + + + + + + Frees the memory allocated by g_aligned_alloc(). + + + + + + the memory to deallocate + + + + Allocates @size bytes on the stack; these bytes will be freed when the current stack frame is cleaned up. This macro essentially just wraps the alloca() @@ -35601,6 +35766,17 @@ Thus it provides the same advantages and pitfalls as alloca(): + + Wraps g_alloca() and initializes allocated memory to zeroes. +If @size is `0` it returns %NULL. + +Note that the @size argument will be evaluated multiple times. + + + number of bytes to allocate. + + + An "atomically reference counted box", or "ArcBox", is an opaque wrapper data type that is guaranteed to be as big as the size of a given data type, @@ -35952,7 +36128,7 @@ This function generates enough precision that converting the string back using g_ascii_strtod() gives the same machine-number (on machines with IEEE compatible 64bit doubles). It is guaranteed that the size of the resulting string will never -be larger than @G_ASCII_DTOSTR_BUF_SIZE bytes, including the terminating +be larger than %G_ASCII_DTOSTR_BUF_SIZE bytes, including the terminating nul character, which is always added. The pointer to the buffer with the converted string. @@ -35979,6 +36155,9 @@ decimal point. To format the number you pass in a printf()-style format string. Allowed conversion specifiers are 'e', 'E', 'f', 'F', 'g' and 'G'. +The @format must just be a single format specifier +starting with `%`, expecting a #gdouble argument. + The returned buffer is guaranteed to be nul-terminated. If you just want to want to serialize the value into a @@ -35998,7 +36177,7 @@ string, use g_ascii_dtostr(). The printf()-style format to use for the - code to use for converting. + code to use for converting @@ -36319,7 +36498,9 @@ characters. Compare @s1 and @s2, ignoring the case of ASCII characters and any -characters after the first @n in each string. +characters after the first @n in each string. If either string is +less than @n bytes long, comparison will stop at the first nul byte +encountered. Unlike the BSD strcasecmp() function, this only recognizes standard ASCII letters and ignores the locale, treating all non-ASCII @@ -38273,8 +38454,8 @@ No attempt is made to force the resulting filename to be an absolute path. If the first element is a relative path, the result will be a relative path. - a newly-allocated string that must be freed with - g_free(). + a newly-allocated string that + must be freed with g_free(). @@ -38292,8 +38473,8 @@ be a relative path. Behaves exactly like g_build_filename(), but takes the path elements as a va_list. This function is mainly meant for language bindings. - a newly-allocated string that must be freed - with g_free(). + a newly-allocated string that + must be freed with g_free(). @@ -38312,8 +38493,8 @@ as a va_list. This function is mainly meant for language bindings. as a string array, instead of varargs. This function is mainly meant for language bindings. - a newly-allocated string that must be freed - with g_free(). + a newly-allocated string that + must be freed with g_free(). @@ -38354,8 +38535,8 @@ Other than for determination of the number of leading and trailing copies of the separator, elements consisting only of copies of the separator are ignored. - a newly-allocated string that must be freed with - g_free(). + a newly-allocated string that + must be freed with g_free(). @@ -38378,8 +38559,8 @@ of the separator are ignored. as a string array, instead of varargs. This function is mainly meant for language bindings. - a newly-allocated string that must be freed - with g_free(). + a newly-allocated string that + must be freed with g_free(). @@ -39203,7 +39384,7 @@ name encodings correctly. "Unknown file name" in its title bar but still let the user save the file, as it would keep the raw file name internally. This can happen if the user has not set the `G_FILENAME_ENCODING` - environment variable even though he has files whose names are + environment variable even though they have files whose names are not encoded in UTF-8. 3. If your user interface lets the user type a file name for saving @@ -39267,7 +39448,7 @@ well) on many platforms. Consider using g_str_to_ascii() instead. Even if the conversion was successful, this may be less than @len if there were partial characters at the end of the input. If the error - #G_CONVERT_ERROR_ILLEGAL_SEQUENCE occurs, the value + %G_CONVERT_ERROR_ILLEGAL_SEQUENCE occurs, the value stored will be the byte offset after the last valid input sequence. @@ -39411,7 +39592,7 @@ unrepresentable characters, use g_convert_with_fallback(). Even if the conversion was successful, this may be less than @len if there were partial characters at the end of the input. If the error - #G_CONVERT_ERROR_ILLEGAL_SEQUENCE occurs, the value + %G_CONVERT_ERROR_ILLEGAL_SEQUENCE occurs, the value stored will be the byte offset after the last valid input sequence. @@ -39625,7 +39806,7 @@ operation, for a member of @datalist. If the previous value was replaced then ownership of the old value (@oldval) is passed to the caller, including the registered destroy notify for it (passed out in @old_destroy). -Its up to the caller to free this as he wishes, which may +Its up to the caller to free this as they wish, which may or may not include using @old_destroy as sometimes replacement should not destroy the object in the normal way. @@ -40615,7 +40796,7 @@ thus you may use non-string-literals as context and msgid arguments. Returns the value of the environment variable @variable in the provided list @envp. - + the value of the environment variable, or %NULL if the environment variable is not set in @envp. The returned string is owned by @envp, and will be freed if @variable is @@ -41202,7 +41383,7 @@ If the call was successful, it returns %TRUE and sets @contents to the file contents and @length to the length of the file contents in bytes. The string stored in @contents will be nul-terminated, so for text files you can pass %NULL for the @length argument. If the call was not successful, it returns -%FALSE and sets @error. The error domain is #G_FILE_ERROR. Possible error +%FALSE and sets @error. The error domain is %G_FILE_ERROR. Possible error codes are those in the #GFileError enumeration. In the error case, @contents is set to %NULL and @length is set to zero. @@ -41269,8 +41450,8 @@ name encoding. readlink() function. The returned string is in the encoding used for filenames. Use g_filename_to_utf8() to convert it to UTF-8. - A newly-allocated string with the contents of - the symbolic link, or %NULL if an error occurred. + A newly-allocated string with + the contents of the symbolic link, or %NULL if an error occurred. @@ -41353,7 +41534,7 @@ Notes: @filename already exists and is open. If the call was successful, it returns %TRUE. If the call was not successful, -it returns %FALSE and sets @error. The error domain is #G_FILE_ERROR. +it returns %FALSE and sets @error. The error domain is %G_FILE_ERROR. Possible error codes are those in the #GFileError enumeration. Note that the name for the temporary file is constructed by appending up @@ -42408,10 +42589,10 @@ not been set up. Depending on the platform, the user might be able to change the path of the special directory without requiring the session to restart; GLib will not reflect any change once the special directories are loaded. - - the path to the specified special directory, or - %NULL if the logical id was not found. The returned string is owned by - GLib and should not be modified or freed. + + the path to the specified special + directory, or %NULL if the logical id was not found. The returned string is + owned by GLib and should not be modified or freed. @@ -42421,6 +42602,30 @@ will not reflect any change once the special directories are loaded. + + Returns a base directory in which to store state files specific to +particular user. + +On UNIX platforms this is determined using the mechanisms described +in the +[XDG Base Directory Specification](http://www.freedesktop.org/Standards/basedir-spec). +In this case the directory retrieved will be `XDG_STATE_HOME`. + +On Windows it follows XDG Base Directory Specification if `XDG_STATE_HOME` is defined. +If `XDG_STATE_HOME` is undefined, the folder to use for local (as opposed +to roaming) application data is used instead. See the +[documentation for `FOLDERID_LocalAppData`](https://docs.microsoft.com/en-us/windows/win32/shell/knownfolderid). +Note that in this case on Windows it will be the same +as what g_get_user_data_dir() returns. + +The return value is cached and modifying it at runtime is not supported, as +it’s not thread-safe to modify environment variables at runtime. + + a string owned by GLib that + must not be modified or freed. + + + Returns the value of an environment variable. @@ -42429,7 +42634,7 @@ be in some consistent character set and encoding. On Windows, they are in UTF-8. On Windows, in case the environment variable's value contains references to other environment variables, they are expanded. - + the value of the environment variable, or %NULL if the environment variable is not found. The returned string may be overwritten by the next call to g_getenv(), g_setenv() @@ -42461,7 +42666,7 @@ used with non-IDN-aware applications and protocols. (For example, Most of GLib is intended to be portable; in contrast, this set of functions is designed for programs which explicitly target UNIX, or are using it to build higher level abstractions which would be -conditionally compiled if the platform matches G_OS_UNIX. +conditionally compiled if the platform matches %G_OS_UNIX. To use these functions, you must explicitly include the "glib-unix.h" header. @@ -42643,6 +42848,32 @@ with the key + + Creates a new #GHashTable like g_hash_table_new_full() with a reference +count of 1. + +It inherits the hash function, the key equal function, the key destroy function, +as well as the value destroy function, from @other_hash_table. + +The returned hash table will be empty; it will not contain the keys +or values from @other_hash_table. + + a new #GHashTable + + + + + + + + Another #GHashTable + + + + + + + Removes a key and its associated value from a #GHashTable. @@ -43546,7 +43777,7 @@ You can do these steps manually if you need greater control. Creates a #GSource that's dispatched when @condition is met for the -given @channel. For example, if condition is #G_IO_IN, the source will +given @channel. For example, if condition is %G_IO_IN, the source will be dispatched when there's data available for reading. The callback function invoked by the #GSource should be added with @@ -44096,6 +44327,20 @@ default "" application domain + + Return whether debug output from the GLib logging system is enabled. + +Note that this should not be used to conditionalise calls to g_debug() or +other logging functions; it should only be used from %GLogWriterFunc +implementations. + +Note also that the value of this does not depend on `G_MESSAGES_DEBUG`; see +the docs for g_log_set_debug_enabled(). + + %TRUE if debug output is enabled, %FALSE otherwise + + + Removes the log handler. @@ -44145,6 +44390,23 @@ are fatal. See [Using Structured Logging][using-structured-logging]. + + Enable or disable debug output from the GLib logging system for all domains. +This value interacts disjunctively with `G_MESSAGES_DEBUG` — if either of +them would allow a debug message to be outputted, it will be. + +Note that this should not be used from within library code to enable debug +output — it is intended for external use. + + + + + + %TRUE to enable debug output, %FALSE otherwise + + + + Installs a default log handler which is used if no log handler has been set for the particular log domain @@ -44496,7 +44758,7 @@ The only mandatory item in the @fields dictionary is the "MESSAGE" which must contain the text shown to the user. The values in the @fields dictionary are likely to be of type String -(#G_VARIANT_TYPE_STRING). Array of bytes (#G_VARIANT_TYPE_BYTESTRING) is also +(%G_VARIANT_TYPE_STRING). Array of bytes (%G_VARIANT_TYPE_BYTESTRING) is also supported. In this case the message is handled as binary and will be forwarded to the log writer as such. The size of the array should not be higher than %G_MAXSSIZE. Otherwise it will be truncated to this size. For other types @@ -44881,10 +45143,14 @@ thread-safe. Each event source is assigned a priority. The default priority, %G_PRIORITY_DEFAULT, is 0. Values less than 0 denote higher priorities. Values greater than 0 denote lower priorities. Events from high priority -sources are always processed before events from lower priority sources. +sources are always processed before events from lower priority sources: if +several sources are ready to dispatch, the ones with equal-highest priority +will be dispatched on the current #GMainContext iteration, and the rest wait +until a subsequent #GMainContext iteration when they have the highest +priority of the sources which are ready for dispatch. Idle functions can also be added, and assigned a priority. These will -be run whenever no events with a higher priority are ready to be processed. +be run whenever no events with a higher priority are ready to be dispatched. The #GMainLoop data type represents a main event loop. A GMainLoop is created with g_main_loop_new(). After adding the initial event sources, @@ -44934,6 +45200,15 @@ g_main_context_iteration() directly. These functions are g_main_context_prepare(), g_main_context_query(), g_main_context_check() and g_main_context_dispatch(). +If the event loop thread releases #GMainContext ownership until the results +required by g_main_context_check() are ready you must create a context with +the flag %G_MAIN_CONTEXT_FLAGS_OWNERLESS_POLLING or else you'll lose +g_source_attach() notifications. This happens for instance when you integrate +the GLib event loop into implementations that follow the proactor pattern +(i.e. in these contexts the `poll()` implementation will reclaim the thread for +other tasks until the results are ready). One example of the proactor pattern +is the Boost.Asio library. + ## State of a Main Context # {#mainloop-states} The operation of these functions can best be seen in terms @@ -45926,6 +46201,17 @@ vulnerability. + + Wraps g_alloca0() in a more typesafe manner. + + + the type of the elements to allocate. + + + the number of elements to allocate. + + + Inserts a #GNode as the last child of the given parent. @@ -46060,7 +46346,7 @@ vulnerability. - GLib offers mathematical constants such as #G_PI for the value of pi; + GLib offers mathematical constants such as %G_PI for the value of pi; many platforms have these in the C library, but some don't, the GLib versions always exist. @@ -46462,8 +46748,8 @@ before the last slash. If @file_name consists only of directory separators (and on Windows, possibly a drive letter), a single separator is returned. If @file_name is empty, it gets ".". - a newly allocated string containing the last - component of the filename + a newly allocated string + containing the last component of the filename @@ -47166,7 +47452,7 @@ For a thread-safe queue, use #GAsyncQueue. To create a new GQueue, use g_queue_new(). -To initialize a statically-allocated GQueue, use #G_QUEUE_INIT or +To initialize a statically-allocated GQueue, use %G_QUEUE_INIT or g_queue_init(). To add elements, use g_queue_push_head(), g_queue_push_head_link(), @@ -48462,7 +48748,9 @@ gdk_init(), which is called by gtk_init() and the #GtkApplication::startup handler. The program name is found by taking the last component of @argv[0]. -Note that for thread-safety reasons this function can only be called once. +Since GLib 2.72, this function can be called multiple times +and is fully thread safe. Prior to GLib 2.72, this function +could only be called once per process. @@ -48578,6 +48866,11 @@ they are passed through literally. Possible errors are those from the %G_SHELL_ERROR domain. +In particular, if @command_line is an empty string (or a string containing +only whitespace), %G_SHELL_ERROR_EMPTY_STRING will be returned. It’s +guaranteed that @argvp will be a non-empty array if this function returns +successfully. + Free the returned vector with g_strfreev(). %TRUE on success, %FALSE if error set @@ -49032,7 +49325,7 @@ is called on its (now invalid) source ID. This source ID may have been reissued, leading to the operation being performed against the wrong source. - For historical reasons, this function always returns %TRUE + %TRUE if the source was found and removed. @@ -49255,7 +49548,8 @@ so no FD assignments are used. - child's argument vector, in the GLib file name encoding + child's argument vector, in the GLib file name encoding; + it must be non-empty and %NULL-terminated @@ -49311,7 +49605,7 @@ so no FD assignments are used. child's argument - vector, in the GLib file name encoding + vector, in the GLib file name encoding; it must be non-empty and %NULL-terminated @@ -49460,6 +49754,8 @@ to the spawned process. FD remappings are processed after standard FDs, so any target FDs which equal @stdin_fd, @stdout_fd or @stderr_fd will overwrite them in the spawned process. +@source_fds is supported on Windows since 2.72. + %G_SPAWN_FILE_AND_ARGV_ZERO means that the first element of @argv is the file to execute, while the remaining elements are the actual argument vector to pass to the file. Normally g_spawn_async_with_pipes() @@ -49512,7 +49808,7 @@ If an error is set, the function returns %FALSE. Errors are reported even if they occur in the child (for example if the executable in `@argv[0]` is not found). Typically the `message` field of returned errors should be displayed to users. Possible errors are those from -the #G_SPAWN_ERROR domain. +the %G_SPAWN_ERROR domain. If an error occurs, @child_pid, @stdin_pipe_out, @stdout_pipe_out, and @stderr_pipe_out will not be filled with valid values. @@ -49553,7 +49849,7 @@ windows on the right screen, you may want to use #GdkAppLaunchContext, child's argument - vector, in the GLib file name encoding + vector, in the GLib file name encoding; it must be non-empty and %NULL-terminated @@ -49840,7 +50136,7 @@ how these functions work on Windows. - child's argument vector + child's argument vector, which must be non-empty and %NULL-terminated @@ -50396,7 +50692,7 @@ In order to modify a copy, you may use g_strdup(): a string containing the current delimiters, - or %NULL to use the standard delimiters defined in #G_STR_DELIMITERS + or %NULL to use the standard delimiters defined in %G_STR_DELIMITERS @@ -51608,9 +51904,9 @@ but you don't need to free the return value. Gets the pathname to a data file that is required for a test. This is the same as g_test_build_filename() with two differences. -The first difference is that must only use this function from within +The first difference is that you must only use this function from within a testcase function. The second difference is that you need not free -the return value -- it will be automatically freed when the testcase +the return value — it will be automatically freed when the testcase finishes running. It is safe to use this function from a thread inside of a testcase @@ -52127,9 +52423,10 @@ See also: g_test_bug() - Get the time since the last start of the timer with g_test_timer_start(). + Get the number of seconds since the last start of the timer with +g_test_timer_start(). - the time since the last start of the timer, as a double + the time since the last start of the timer in seconds, as a double @@ -54525,7 +54822,7 @@ using g_source_remove(). the priority of the signal source. Typically this will be in - the range between #G_PRIORITY_DEFAULT and #G_PRIORITY_HIGH. + the range between %G_PRIORITY_DEFAULT and %G_PRIORITY_HIGH. @@ -55384,7 +55681,7 @@ The returned string should be freed when no longer needed. Pauses the current thread for the given number of microseconds. There are 1 million microseconds per second (represented by the -#G_USEC_PER_SEC macro). g_usleep() may have limited precision, +%G_USEC_PER_SEC macro). g_usleep() may have limited precision, depending on hardware and operating system; don't rely on the exact length of the sleep. @@ -55465,13 +55762,14 @@ unpaired surrogates or partial character sequences. location to store number of words read, or %NULL. If %NULL, then %G_CONVERT_ERROR_PARTIAL_INPUT will be returned in case @str contains a trailing partial character. If - an error occurs then the index of the invalid input is stored here. + an error occurs then the index of the invalid input is stored here. + It’s guaranteed to be non-negative. location to store number of bytes written, or %NULL. The value stored here does not include the - trailing 0 byte. + trailing 0 byte. It’s guaranteed to be non-negative. @@ -55510,7 +55808,11 @@ correct rules for the [current locale][setlocale]. When sorting a large number of strings, it will be significantly faster to obtain collation keys with g_utf8_collate_key() and compare the keys with strcmp() when sorting instead of sorting -the original strings. +the original strings. + +If the two strings are not comparable due to being in different collation +sequences, the result is undefined. This can happen if the strings are in +different language scripts, for example. < 0 if @str1 compares before @str2, 0 if they compare equal, > 0 if @str1 compares after @str2. @@ -56012,7 +56314,10 @@ German ess-zet will be changed to SS.) Copies a substring out of a UTF-8 encoded string. -The substring will contain @end_pos - @start_pos characters. +The substring will contain @end_pos - @start_pos characters. + +Since GLib 2.72, `-1` can be passed to @end_pos to indicate the +end of the string. a newly allocated copy of the requested substring. Free with g_free() when no longer needed. @@ -56028,7 +56333,8 @@ The substring will contain @end_pos - @start_pos characters. - another character offset within @str + another character offset within @str, + or `-1` to indicate the end of the string @@ -56481,12 +56787,13 @@ multibyte representation is available for the given character. `glib/gprintf.h` must be explicitly included in order to use this function. - the number of bytes printed. + the number of bytes printed, or `-1` on failure - the return location for the newly-allocated string. + the return location for the newly-allocated string, + which will be %NULL if (and only if) this function fails diff --git a/GModule-2.0.gir b/GModule-2.0.gir index 29b42bc..abdc8ed 100644 --- a/GModule-2.0.gir +++ b/GModule-2.0.gir @@ -54,7 +54,7 @@ If @module refers to the application itself, "main" is returned. Gets a symbol pointer from a module, such as one exported -by #G_MODULE_EXPORT. Note that a valid symbol can be %NULL. +by %G_MODULE_EXPORT. Note that a valid symbol can be %NULL. %TRUE on success @@ -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 diff --git a/GObject-2.0.gir b/GObject-2.0.gir index c9b4770..cf442d5 100644 --- a/GObject-2.0.gir +++ b/GObject-2.0.gir @@ -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. + + + + + + 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. transformation functions to g_object_bind_property_full(). + + 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(). + + Creates a new #GBindingGroup. + + a new #GBindingGroup + + + + + 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. + + + + + + the #GBindingGroup + + + + the property on the source to bind + + + + the target #GObject + + + + the property on @target to bind + + + + the flags used to create the #GBinding + + + + + + 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. + + + + + + the #GBindingGroup + + + + the property on the source to bind + + + + the target #GObject + + + + the property on @target to bind + + + + the flags used to create the #GBinding + + + + the transformation function + from the source object to the @target, or %NULL to use the default + + + + the transformation function + from the @target to the source object, or %NULL to use the default + + + + custom data to be passed to the transformation + functions, or %NULL + + + + function to be called when disposing the binding, + to free the resources used by the transformation functions + + + + + + 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. + + + + + + the #GBindingGroup + + + + the property on the source to bind + + + + the target #GObject + + + + the property on @target to bind + + + + the flags used to create the #GBinding + + + + a #GClosure wrapping the + transformation function from the source object to the @target, + or %NULL to use the default + + + + a #GClosure wrapping the + transformation function from the @target to the source object, + or %NULL to use the default + + + + + + Gets the source object used for binding properties. + + a #GObject or %NULL. + + + + + the #GBindingGroup + + + + + + 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. + + + + + + the #GBindingGroup + + + + the source #GObject, + or %NULL to clear it + + + + + + The source object used for binding properties. + + + 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: + +|[<!-- language="C" --> +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: + +|[<!-- language="C" --> +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: + +|[<!-- language="C" --> +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 @@ -3428,7 +3664,7 @@ See G_DEFINE_TYPE_EXTENDED() for an example. Similar to G_DEFINE_TYPE_WITH_CODE(), but defines an abstract type and allows you to insert custom code into the `*_get_type()` function, e.g. -interface implementations via G_IMPLEMENT_INTERFACE(). +interface implementations via G_IMPLEMENT_INTERFACE(). See G_DEFINE_TYPE_EXTENDED() for an example. @@ -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. @@ -3662,7 +3898,7 @@ See G_DEFINE_TYPE_EXTENDED() for an example. Similar to G_DEFINE_TYPE_WITH_CODE(), but defines a final type and allows you to insert custom code into the `*_get_type()` function, e.g. -interface implementations via G_IMPLEMENT_INTERFACE(). +interface implementations via G_IMPLEMENT_INTERFACE(). See G_DEFINE_TYPE_EXTENDED() for an example. @@ -4131,6 +4367,12 @@ certain runtime checks to identify invalid casts. + + + + + + Checks whether @class "is a" valid #GEnumClass structure of type %G_TYPE_ENUM or derived. @@ -4386,6 +4628,12 @@ or derived. + + + + + + @@ -4760,11 +5008,19 @@ properties in set_property() and get_property() implementations. The base object type. All the fields in the `GObject` structure are private to the implementation -and should never be accessed directly. +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(). 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. +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. a new instance of @object_type @@ -4806,7 +5068,7 @@ you provide is a #gdouble, even for a property of type #gfloat. 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. a new instance of @object_type @@ -4866,7 +5128,7 @@ which are not explicitly specified are set to their default values. 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. Use g_object_new_with_properties() instead. deprecated. See #GParameter for more information. @@ -7291,7 +7553,7 @@ See also: %G_PARAM_STATIC_STRINGS Since 2.26 - + #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. - the #GType for the property; must be derived from #G_TYPE_PARAM + the #GType for the property; must be derived from %G_TYPE_PARAM @@ -8399,6 +8661,12 @@ to hand parameter name/value pairs to g_object_newv(). A mask for all #GSignalFlags bits. + + + + + + A mask for all #GSignalMatchType bits. @@ -8447,7 +8715,7 @@ last callback. 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. +You may not attach these to signals created with the %G_SIGNAL_NO_HOOKS flag. whether it wants to stay connected. If it returns %FALSE, the signal hook is disconnected (and destroyed). @@ -8522,6 +8790,293 @@ You may not attach these to signals created with the #G_SIGNAL_NO_HOOKS flag. + + #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. + + Creates a new #GSignalGroup for target instances of @target_type. + + a new #GSignalGroup + + + + + the #GType of the target instance. + + + + + + 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. + + + + + + the #GSignalGroup + + + + + + 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. + + + + + + a #GSignalGroup + + + + a string of the form "signal-name::detail" + + + + the #GCallback to connect + + + + the data to pass to @c_handler calls + + + + + + 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. + + + + + + a #GSignalGroup + + + + a string of the form "signal-name::detail" + + + + the #GCallback to connect + + + + the data to pass to @c_handler calls + + + + + + 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. + + + + + + a #GSignalGroup + + + + a string of the form "signal-name::detail" + + + + the #GCallback to connect + + + + the data to pass to @c_handler calls + + + + function to be called when disposing of @self + + + + the flags used to create the signal connection + + + + + + 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. + + + + + + a #GSignalGroup + + + + a string of the form `signal-name` with optional `::signal-detail` + + + + the #GCallback to connect + + + + the #GObject to pass as data to @c_handler calls + + + + #GConnectFlags for the signal connection + + + + + + 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. + + + + + + a #GSignalGroup + + + + a string of the form "signal-name::detail" + + + + the #GCallback to connect + + + + the data to pass to @c_handler calls + + + + + + Gets the target instance used when connecting signals. + + The target instance + + + + + the #GSignalGroup + + + + + + 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. + + + + + + the #GSignalGroup. + + + + The target instance used + when connecting signals. + + + + + + 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. + + + + + + the #GSignalGroup + + + + + + The target instance used when connecting signals. + + + + The #GType of the target property. + + + + 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. + + + + + + a #GObject containing the new value for #GSignalGroup:target + + + + + + 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. + + + + + The #GSignalInvocationHint structure is used to pass on additional information to callbacks during a signal emission. @@ -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. - Use %G_ADD_PRIVATE and the generated + Use G_ADD_PRIVATE() and the generated `your_type_get_instance_private()` function instead @@ -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. +address as hash-index or the like. + +In particular, this means it’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. @@ -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. +references to the object being held (‘re-referencing’), 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. @@ -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. @@ -14573,7 +15136,7 @@ See g_param_spec_internal() for details on property names. 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. 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. +for signals which don't have %G_SIGNAL_NO_HOOKS flag set. the hook id, for later use with g_signal_remove_emission_hook(). @@ -14944,7 +15507,7 @@ g_signal_override_class_handler(). 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. + is %G_TYPE_NONE, the return value location can be omitted. @@ -14952,7 +15515,7 @@ g_signal_override_class_handler(). 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. @@ -14974,7 +15537,7 @@ details on how to handle the return value and memory management of @data. Connects a #GCallback function to a signal for a particular object. -The handler will be called after the default handler of the signal. +The handler will be called synchronously, after the default handler of the signal. the instance to connect to. @@ -15163,7 +15726,8 @@ g_signal_connect (button, "clicked", - Emits a signal. + 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(). @@ -15186,13 +15750,14 @@ if no handlers are connected, in contrast to g_signal_emitv(). 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. + is %G_TYPE_NONE, the return value location can be omitted. - Emits a signal. + 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(). @@ -15218,7 +15783,8 @@ if no handlers are connected, in contrast to g_signal_emitv(). - Emits a signal. + 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(). @@ -15242,13 +15808,14 @@ if no handlers are connected, in contrast to g_signal_emitv(). 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. + is %G_TYPE_NONE, the return value location can be omitted. - Emits a signal. + 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(). @@ -15813,7 +16380,7 @@ be used. - the type of return value, or #G_TYPE_NONE for a signal + the type of return value, or %G_TYPE_NONE for a signal without a return value. @@ -15884,7 +16451,7 @@ the marshaller for this signal. - the type of return value, or #G_TYPE_NONE for a signal + the type of return value, or %G_TYPE_NONE for a signal without a return value. @@ -15943,7 +16510,7 @@ the marshaller for this signal. - the type of return value, or #G_TYPE_NONE for a signal + the type of return value, or %G_TYPE_NONE for a signal without a return value. @@ -16004,7 +16571,7 @@ the marshaller for this signal. - the type of return value, or #G_TYPE_NONE for a signal + the type of return value, or %G_TYPE_NONE for a signal without a return value @@ -17235,7 +17802,7 @@ left untouched. instances (if not abstract). The value of @flags determines the nature (e.g. abstract or not) of the type. - the new type identifier or #G_TYPE_INVALID if registration failed + the new type identifier or %G_TYPE_INVALID if registration failed diff --git a/Gdk-3.0.gir b/Gdk-3.0.gir index 39f9de7..80a0320 100644 --- a/Gdk-3.0.gir +++ b/Gdk-3.0.gir @@ -192,6 +192,9 @@ for the launched application itself. 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. @@ -14770,7 +14773,7 @@ See gdk_keymap_get_caps_lock_state(). - + diff --git a/Gdk-4.0.gir b/Gdk-4.0.gir index 80dc6c7..1bfb931 100644 --- a/Gdk-4.0.gir +++ b/Gdk-4.0.gir @@ -72,8 +72,7 @@ sliding, which should take precedence over resizing. `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, &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]. 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]. Gets the cancellable for the current operation. This is the `GCancellable` that was passed to [func@Gdk.content_deserialize_async]. - + the cancellable for the current operation @@ -1759,7 +1761,7 @@ given `GType` is not supported, this operation can fail and a `GdkContentProvider` - + the `GValue` to fill @@ -1895,7 +1897,7 @@ given `GType` is not supported, this operation can fail and a `GdkContentProvider` - + the `GValue` to fill @@ -2165,7 +2167,7 @@ See [method@Gdk.ContentProvider.write_mime_type_async]. a `GdkContentProvider` - + the `GValue` to fill @@ -2212,7 +2214,7 @@ Also see [class@Gdk.ContentDeserializer]. Gets the cancellable for the current operation. This is the `GCancellable` that was passed to [func@content_serialize_async]. - + the cancellable for the current operation @@ -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. Retrieves the current tool for @device. - + the `GdkDeviceTool` @@ -3157,7 +3158,7 @@ See [method@Gdk.Device.get_vendor_id]. - Emitted either when the the number of either axes or keys changes. + 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. + + 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]. + + the newly created `GdkGLContext` + + + + + a `GdkDisplay` + + + + Returns %TRUE if there is an ongoing grab on @device for @display. @@ -4611,7 +4633,8 @@ these functions explicitly. - the `GdkDrawContext` used to draw the frame + the `GdkDrawContext` used to draw the frame. The context must + have a surface. @@ -5145,7 +5168,10 @@ If not, this function returns %FALSE. - Extracts all axis values from an event. + 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]. %TRUE on success, otherwise %FALSE @@ -5169,7 +5195,10 @@ If not, this function returns %FALSE. Extract the axis value for a particular axis use from -an event structure. +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]. %TRUE if the specified axis was found, otherwise %FALSE @@ -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. +events do it only if one of the mouse buttons is down, or the device +has a tool. an array of time and coordinates @@ -5356,7 +5386,7 @@ Emulated pointer events typically originate from a touch events. Extracts the surface associated with an event. - + The `GdkSurface` associated with the event @@ -5527,7 +5557,11 @@ of related touch events. A tablet pad group mode change. - + + A touchpad hold gesture event, the current state + is determined by its phase field. Since: 4.6 + + marks the end of the GdkEventType enumeration. @@ -5549,8 +5583,26 @@ of related touch events. - - + + An opaque type representing a list of files. + + Retrieves the list of files inside a `GdkFileList`. + +This function is meant for language bindings. + + the files inside the list + + + + + + + the file list + + + + + An event related to a keyboard focus change. @@ -6069,13 +6121,22 @@ If @timings is no longer referenced, it will be freed. Span across all monitors when fullscreen. + + The list of the different APIs that GdkGLContext can potentially support. + + The OpenGL API + + + The OpenGL ES API + + `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. + + + Gets the allowed APIs set via gdk_gl_context_set_allowed_apis(). + + the allowed APIs + + + + + a GL context + + + + + + + Gets the API currently in use. + +If the renderer has not been realized yet, 0 is returned. + + the currently used API + + + + + a GL context + + + + 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`. + + + 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. + + + + + + a GL context + + + + the allowed APIs + + + + Sets whether the `GdkGLContext` should perform extra validations and runtime checking. @@ -6450,6 +6564,16 @@ the OpenGL or OpenGL ES API, extensions, or shaders. + + + The allowed APIs. + + + + + The API currently in use. + + Always %NULL @@ -6487,6 +6611,8 @@ anymore, this function has been deprecated and now always returns %NULL. A GdkTexture representing a GL texture object. + + 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]. - A newly-created `GdkTexture` - + A newly-created + `GdkTexture` + @@ -13851,7 +13978,7 @@ Note that we ignore Caps Lock for matching. - `GdkMemoryFormat` describes a format that bytes can have in memory. + `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). 3 bytes; for blue, green, red. The data is opaque. - + + 3 guint16 values; for red, green, blue. Since: 4.6 + + + 4 guint16 values; for red, green, + blue, alpha. The color values are premultiplied with the alpha value. + Since: 4.6 + + + 4 guint16 values; for red, green, blue, alpha. + Since: 4.6 + + + 3 half-float values; for red, green, blue. + The data is opaque. Since: 4.6 + + + 4 half-float values; for + red, green, blue and alpha. The color values are premultiplied with + the alpha value. Since: 4.6 + + + 4 half-float values; for red, green, + blue and alpha. Since: 4.6 + + + + + 4 float values; for + red, green, blue and alpha. The color values are premultiplied with + the alpha value. Since: 4.6 + + + 4 float values; for red, green, blue and + alpha. Since: 4.6 + + The number of formats. This value will change as more formats get added, so do not rely on its concrete integer. @@ -13900,14 +14063,16 @@ for details). A `GdkTexture` representing image data in memory. + + Creates a new texture for a blob of image data. -The `GBytes` must contain @stride x @height pixels +The `GBytes` must contain @stride × @height pixels in the given format. A newly-created `GdkTexture` - + @@ -14943,7 +15108,7 @@ property. Returns the parent surface of a popup. - + the parent surface @@ -15532,7 +15697,7 @@ from previous contents. 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 “\#rgb”, “\#rrggbb”, “\#rrrgggbbb” or ”\#rrrrggggbbbb” - A hexadecimal value in the form “\#rgba”, “\#rrggbbaa”, @@ -16042,8 +16207,8 @@ of physical pixels on an output device are laid out. It’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. @@ -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]. - + the newly created `GdkGLContext` @@ -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(). +[method@GObject.Object.ref], and consequently, it is a thread-safe object. + + - Creates a new texture object representing the `GdkPixbuf`. + 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. a new `GdkTexture` @@ -16752,13 +16922,39 @@ g_object_ref(). + + 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. + + A newly-created `GdkTexture` + + + + + a `GBytes` containing the data to load + + + + 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. +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. A newly-created `GdkTexture` @@ -16770,6 +16966,28 @@ If %NULL is returned, then @error will be set. + + 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. + + A newly-created `GdkTexture` + + + + + the filename to load + + + + 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. +[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. A newly-created `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. +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. %TRUE if saving succeeded, %FALSE on failure. @@ -16882,6 +17105,75 @@ look into using the gdk-pixbuf library. + + 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. + + a newly allocated `GBytes` containing PNG data + + + + + a `GdkTexture` + + + + + + Store the given @texture to the @filename as a TIFF file. + +GTK will attempt to store data without loss. + + %TRUE if saving succeeded, %FALSE on failure. + + + + + a `GdkTexture` + + + + the filename to store to + + + + + + 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]. + + a newly allocated `GBytes` containing TIFF data + + + + + a `GdkTexture` + + + + The height of the texture, in pixels. @@ -16894,6 +17186,27 @@ look into using the gdk-pixbuf library. + + Possible errors that can be returned by `GdkTexture` constructors. + + Not enough memory to handle this image + + + The image data appears corrupted + + + The image contains features + that cannot be loaded + + + The image format is not supported + + + + + + + A `GdkTimeCoord` stores a single event in a motion history. @@ -16911,7 +17224,7 @@ look into using the gdk-pixbuf library. - + @@ -17338,15 +17651,17 @@ tiled window states. - + + a `GdkToplevel` + a `GdkTitlebarGesture` @@ -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. @@ -17972,8 +18287,8 @@ for example in response to a change of the surface size. - - The main way to draw GL content in GTK. + + 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. + 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. @@ -18180,7 +18500,7 @@ call [func@Gdk.content_deserialize_finish] to get the result of the operation.the `GAsyncResult` - + return location for the result of the operation @@ -18773,6 +19093,11 @@ in order to take effect. + + + + + diff --git a/GdkPixbuf-2.0.gir b/GdkPixbuf-2.0.gir index 473b7c5..7fc9d8d 100644 --- a/GdkPixbuf-2.0.gir +++ b/GdkPixbuf-2.0.gir @@ -13,7 +13,7 @@ and/or use gtk-doc annotations. --> the gdk-pixbuf library. Currently only RGB is supported. - + Indicates a red/green/blue additive color space. @@ -81,26 +81,26 @@ balance. **Note**: Cubic filtering is missing from the list; hyperbolic interpolation is just as fast and results in higher quality. - + 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. - + 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. - + 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. - + 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. "0.8.2" for example. - + Micro version of gdk-pixbuf library, that is the "2" in "0.8.2" for example. @@ -344,7 +344,7 @@ interpolation is just as fast and results in higher quality. - + 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. - + Queries the number of bits per color sample in a pixbuf. Number of bits per color sample. @@ -1598,7 +1598,7 @@ result in a new pixbuf. - + Queries the color space of a pixbuf. Color space. @@ -1611,7 +1611,7 @@ result in a new pixbuf. - + Queries whether a pixbuf has an alpha channel (opacity information). `TRUE` if it has an alpha channel, `FALSE` otherwise. @@ -1624,7 +1624,7 @@ result in a new pixbuf. - + Queries the height of a pixbuf. Height in pixels. @@ -1637,7 +1637,7 @@ result in a new pixbuf. - + Queries the number of channels of a pixbuf. Number of channels. @@ -1700,13 +1700,13 @@ attached by another function using [method@GdkPixbuf.Pixbuf.set_option]. - + 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. A pointer to the pixbuf's pixel data. @@ -1727,7 +1727,7 @@ about how the pixel data is stored in memory. 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. A pointer to the pixbuf's @@ -1747,7 +1747,7 @@ pixel data. - + 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. @@ -1761,7 +1761,7 @@ the start of a row and the start of the next row. - + Queries the width of a pixbuf. Width in pixels. @@ -2582,27 +2582,27 @@ the new value is ignored and `FALSE` is returned. - + The number of bits per sample. Currently only 8 bit per sample are supported. - + The color space of the pixbuf. Currently, only `GDK_COLORSPACE_RGB` is supported. - + Whether the pixbuf has an alpha channel. - + The number of rows of the pixbuf. - + The number of samples per pixel. Currently, only 3 or 4 samples per pixel are supported. @@ -2611,11 +2611,11 @@ Currently, only 3 or 4 samples per pixel are supported. - + A pointer to the pixel data of the pixbuf. - + 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. - + The number of columns of the pixbuf. @@ -2644,13 +2644,13 @@ For now both cases fall back to a bilevel clipping mask. There is no user of GdkPixbufAlphaMode in GdkPixbuf, and the Xlib utility functions have been split out to their own library, gdk-pixbuf-xlib - + 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. - + For now falls back to #GDK_PIXBUF_ALPHA_BILEVEL. In the future it will do full alpha compositing. @@ -3419,26 +3419,26 @@ the pixel data can be freed when the pixbuf is finalized. Many gdk-pixbuf operations can cause errors in this domain, or in the `G_FILE_ERROR` domain. - + An image file was broken somehow. - + Not enough memory. - + A bad option was passed to a pixbuf save module. - + Unknown image type. - + Don't know how to perform the given operation on the type of image at hand. - + Generic failure code, something went wrong. - + Only part of the animation was loaded. @@ -4237,149 +4237,41 @@ Installing a module is a two-step process: a `GdkPixbufFormat` holding information about the module. - - - - - - - - - - - + + loads an image from a file. + - - - - - - - - - - - + + loads an image from data in memory. + - - - - - - - - - - - - - - - - - - - - + + begins an incremental load. + - - - - - - - - - - - + + stops an incremental load. + - - - - - - - - - - - - - - - - - + + continues an incremental load. + - - - - - - - - - - - + + loads an animation from a file. + - - - - - - - - - - - - - - - - - - - - + + saves a `GdkPixbuf` to a file. + - - - - - - - - - - - - - - - - - - - - - - - + + saves a `GdkPixbuf` by calling the given `GdkPixbufSaveFunc`. + - - - - - - - - - - - + + returns whether a save option key is supported by the module + @@ -4410,6 +4302,41 @@ Installing a module is a two-step process: + + 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. + + the data to be passed to + [callback@GdkPixbuf.PixbufModuleIncrementLoadFunc] + and [callback@GdkPixbuf.PixbufModuleStopLoadFunc], or `NULL` in case of error + + + + + the function to be called when the size is known + + + + the function to be called when the data has been prepared + + + + the function to be called when the data has been updated + + + + the data to be passed to the functions + + + + Defines the type of the function used to fill a #GdkPixbufFormat structure with information about a module. @@ -4436,6 +4363,74 @@ Installing a module is a two-step process: + + Incrementally loads a buffer into the image data. + + `TRUE` if the incremental load was successful + + + + + the state object created by [callback@GdkPixbuf.PixbufModuleBeginLoadFunc] + + + + the data to load + + + + + + the length of the data to load + + + + + + 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. + + a newly created `GdkPixbufAnimation` for the contents of the file + + + + + the file stream from which the image should be loaded + + + + + + 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. + + a newly created `GdkPixbuf` for the contents of the file + + + + + the file stream from which the image should be loaded + + + + + + Loads XPM data into a new `GdkPixbuf`. + + a newly created `GdkPixbuf` for the XPM data + + + + + the XPM data + + + + + + The signature prefix for a module. @@ -4506,6 +4501,91 @@ signal. + + 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. + + `TRUE` on success; in case of failure, `FALSE` is returned and + the `error` is set + + + + + the function to call when saving + + + + the data to pass to @save_func + + + + the `GdkPixbuf` to save + + + + an array of option names + + + + + + an array of option values + + + + + + + + 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. + + `TRUE` on success; in case of failure, `FALSE` is returned and + the `error` is set + + + + + the file stream into which the image should be saved + + + + the image to save + + + + parameter keys to save + + + + + + parameter values to save + + + + + + + + Checks whether the given `option_key` is supported when saving. + + `TRUE` if the option is supported + + + + + the option key to check + + + + Defines the type of the function that gets called once the size of the loaded image is known. @@ -4538,6 +4618,21 @@ efficiently. + + Finalizes the image loading state. + +This function is called on success and error states. + + `TRUE` if the loading operation was successful + + + + + the state object created by [callback@GdkPixbuf.PixbufModuleBeginLoadFunc] + + + + Defines the type of the function that gets called every time a region of @pixbuf is updated. @@ -4591,16 +4686,16 @@ signal. 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. - + No rotation. - + Rotate by 90 degrees. - + Rotate by 180 degrees. - + Rotate by 270 degrees. @@ -4679,7 +4774,7 @@ was constructed. - + Gets whether @animation should loop indefinitely when it reaches the end. %TRUE if the animation loops forever, %FALSE otherwise @@ -4692,7 +4787,7 @@ was constructed. - + Sets whether @animation should loop indefinitely when it reaches the end. @@ -4708,7 +4803,7 @@ was constructed. - + Whether the animation should loop when it reaches the end. diff --git a/GdkWayland-4.0.gir b/GdkWayland-4.0.gir index ce67c89..e9db7ce 100644 --- a/GdkWayland-4.0.gir +++ b/GdkWayland-4.0.gir @@ -286,7 +286,7 @@ if no ID has been defined. - Returns %TRUE if the the interface was found in the display + Returns %TRUE if the interface was found in the display `wl_registry.global` handler. %TRUE if the global is offered by the compositor diff --git a/GdkX11-4.0.gir b/GdkX11-4.0.gir index 123eecb..441a8cc 100644 --- a/GdkX11-4.0.gir +++ b/GdkX11-4.0.gir @@ -933,7 +933,7 @@ a window manager change. Returns the group this surface belongs to. - + The group of this surface; diff --git a/Gio-2.0.gir b/Gio-2.0.gir index 3a15de3..d0dd4dc 100644 --- a/Gio-2.0.gir +++ b/Gio-2.0.gir @@ -9,14 +9,11 @@ and/or use gtk-doc annotations. --> - - - @@ -4067,6 +4064,22 @@ the application startup notification started in g_app_launch_context_get_startup + + + + + + + + + + + + + + + + @@ -4217,7 +4230,7 @@ when @context is used to launch an application. - The ::launch-failed signal is emitted when a #GAppInfo launch + The #GAppLaunchContext::launch-failed signal is emitted when a #GAppInfo launch fails. The startup notification id is provided, so that the launcher can cancel the startup notification. @@ -4230,12 +4243,45 @@ can cancel the startup notification. + + The #GAppLaunchContext::launch-started signal is emitted when a #GAppInfo is +about to be launched. If non-null the @platform_data is an +GVariant dictionary mapping strings to variants (ie `a{sv}`), which +contains additional, platform-specific data about this launch. On +UNIX, at least the `startup-notification-id` keys will be +present. + +The value of the `startup-notification-id` key (type `s`) is a startup +notification ID corresponding to the format from the [startup-notification +specification](https://specifications.freedesktop.org/startup-notification-spec/startup-notification-0.1.txt). +It allows tracking the progress of the launchee through startup. + +It is guaranteed that this signal is followed by either a #GAppLaunchContext::launched or +#GAppLaunchContext::launch-failed signal. + + + + + + the #GAppInfo that is about to be launched + + + + additional platform-specific data for this launch + + + + - The ::launched signal is emitted when a #GAppInfo is successfully + The #GAppLaunchContext::launched signal is emitted when a #GAppInfo is successfully launched. The @platform_data is an GVariant dictionary mapping -strings to variants (ie a{sv}), which contains additional, +strings to variants (ie `a{sv}`), which contains additional, platform-specific data about this launch. On UNIX, at least the -"pid" and "startup-notification-id" keys will be present. +`pid` and `startup-notification-id` keys will be present. + +Since 2.72 the `pid` may be 0 if the process id wasn't known (for +example if the process was launched via D-Bus). The `pid` may not be +set at all in subsequent releases. @@ -4339,6 +4385,24 @@ platform-specific data about this launch. On UNIX, at least the + + + + + + + + + + + + + + + + + + @@ -4360,13 +4424,6 @@ platform-specific data about this launch. On UNIX, at least the - - - - - - - @@ -6240,7 +6297,7 @@ command_line (GApplication *application, The complete example can be found here: [gapplication-example-cmdline.c](https://gitlab.gnome.org/GNOME/glib/-/blob/HEAD/gio/tests/gapplication-example-cmdline.c) -In more complicated cases, the handling of the comandline can be +In more complicated cases, the handling of the commandline can be split between the launcher and the primary instance. |[<!-- language="C" --> static gboolean @@ -6253,6 +6310,12 @@ static gboolean argv = *arguments; + if (argv[0] == NULL) + { + *exit_status = 0; + return FALSE; + } + i = 1; while (argv[i]) { @@ -8377,7 +8440,7 @@ the connection was disconnected. If another message bus connection owns the name and have -specified #G_BUS_NAME_OWNER_FLAGS_ALLOW_REPLACEMENT, then take the name from the other connection. +specified %G_BUS_NAME_OWNER_FLAGS_ALLOW_REPLACEMENT, then take the name from the other connection. If another message bus connection owns the name, immediately @@ -9709,7 +9772,10 @@ This corresponds to %G_CREDENTIALS_TYPE_OPENBSD_SOCKPEERCRED. On Solaris (including OpenSolaris and its derivatives), the native credential type is a `ucred_t`. This corresponds to -%G_CREDENTIALS_TYPE_SOLARIS_UCRED. +%G_CREDENTIALS_TYPE_SOLARIS_UCRED. + +Since GLib 2.72, on Windows, the native credentials may contain the PID of a +process. This corresponds to %G_CREDENTIALS_TYPE_WIN32_PID. Creates a new #GCredentials object with credentials matching the the current process. @@ -9749,8 +9815,7 @@ method is only available on UNIX platforms. This operation can fail if #GCredentials is not supported on the OS or if the native credentials type does not contain information -about the UNIX process ID (for example this is the case for -%G_CREDENTIALS_TYPE_APPLE_XUCRED). +about the UNIX process ID. The UNIX process ID, or `-1` if @error is set. @@ -9891,6 +9956,9 @@ returned string may change in future GLib release. The native credentials type is a `struct xucred`. Added in 2.66. + + The native credentials type is a PID `DWORD`. Added in 2.72. + @@ -11652,7 +11720,7 @@ It is considered a programming error if the #GVariant of incorrect type. If an existing callback is already registered at @object_path and -@interface_name, then @error is set to #G_IO_ERROR_EXISTS. +@interface_name, then @error is set to %G_IO_ERROR_EXISTS. GDBus automatically implements the standard D-Bus interfaces org.freedesktop.DBus.Properties, org.freedesktop.DBus.Introspectable @@ -11742,7 +11810,7 @@ by @object_path. When handling remote calls into any node in the subtree, first the @enumerate function is used to check if the node exists. If the node exists -or the #G_DBUS_SUBTREE_FLAGS_DISPATCH_TO_UNENUMERATED_NODES flag is set +or the %G_DBUS_SUBTREE_FLAGS_DISPATCH_TO_UNENUMERATED_NODES flag is set the @introspection function is used to check if the node supports the requested method. If so, the @dispatch function is used to determine where to dispatch the call. The collected #GDBusInterfaceVTable and @@ -11754,7 +11822,7 @@ All calls into user-provided code will be invoked in the of the thread you are calling this method from. If an existing subtree is already registered at @object_path or -then @error is set to #G_IO_ERROR_EXISTS. +then @error is set to %G_IO_ERROR_EXISTS. Note that it is valid to register regular objects (using g_dbus_connection_register_object()) in a subtree registered with @@ -12640,7 +12708,7 @@ create the #GError. Also, @dbus_error_name is added to the error message such that it can be recovered with g_dbus_error_get_remote_error(). Otherwise, a #GError with the error code %G_IO_ERROR_DBUS_ERROR -in the #G_IO_ERROR error domain is returned. Also, @dbus_error_name is +in the %G_IO_ERROR error domain is returned. Also, @dbus_error_name is added to the error message such that it can be recovered with g_dbus_error_get_remote_error(). @@ -15792,7 +15860,7 @@ any. - Gets the #GDBusObjectProxy at @object_path, if any. + Gets the #GDBusObject at @object_path, if any. A #GDBusObject or %NULL. Free with g_object_unref(). @@ -15922,7 +15990,7 @@ any. - Gets the #GDBusObjectProxy at @object_path, if any. + Gets the #GDBusObject at @object_path, if any. A #GDBusObject or %NULL. Free with g_object_unref(). @@ -18276,8 +18344,12 @@ This signal corresponds to the - - Emitted when a signal from the remote object and interface that @proxy is for, has been received. + + Emitted when a signal from the remote object and interface that @proxy is for, has been received. + +Since 2.72 this signal supports detailed connections. You can connect to +the detailed signal `g-signal::x` in order to receive callbacks only when +signal `x` is received from the remote object. @@ -18372,6 +18444,11 @@ do not ask the bus to launch an owner during proxy initialization, but allow it autostarted by a method call. This flag is only meaningful in proxies for well-known names, and only if %G_DBUS_PROXY_FLAGS_DO_NOT_AUTO_START is not also specified. + + Don't actually send the AddMatch D-Bus + call for this signal subscription. This gives you more control + over which match rules you add (but you must add them manually). (Since: 2.72) + @@ -18912,6 +18989,23 @@ case. + + + + + + + + Extension point for debug control functionality. +See [Extending GIO][extending-gio]. + + + + + + + + @@ -20792,6 +20886,306 @@ returned by g_datagram_based_create_source(). + + #GDebugController is an interface to expose control of debugging features and +debug output. + +It is implemented on Linux using #GDebugControllerDBus, which exposes a D-Bus +interface to allow authenticated peers to control debug features in this +process. + +Whether debug output is enabled is exposed as +#GDebugController:debug-enabled. This controls g_log_set_debug_enabled() by +default. Application code may connect to the #GObject::notify signal for it +to control other parts of its debug infrastructure as necessary. + +If your application or service is using the default GLib log writer function, +creating one of the built-in implementations of #GDebugController should be +all that’s needed to dynamically enable or disable debug output. + + + Get the value of #GDebugController:debug-enabled. + + %TRUE if debug output should be exposed, %FALSE otherwise + + + + + a #GDebugController + + + + + + Set the value of #GDebugController:debug-enabled. + + + + + + a #GDebugController + + + + %TRUE if debug output should be exposed, %FALSE otherwise + + + + + + %TRUE if debug output should be exposed (for example by forwarding it to +the journal), %FALSE otherwise. + + + + + #GDebugControllerDBus is an implementation of #GDebugController which exposes +debug settings as a D-Bus object. + +It is a #GInitable object, and will register an object at +`/org/gtk/Debugging` on the bus given as +#GDebugControllerDBus:connection once it’s initialized. The object will be +unregistered when the last reference to the #GDebugControllerDBus is dropped. + +This D-Bus object can be used by remote processes to enable or disable debug +output in this process. Remote processes calling +`org.gtk.Debugging.SetDebugEnabled()` will affect the value of +#GDebugController:debug-enabled and, by default, g_log_get_debug_enabled(). +default. + +By default, all processes will be able to call `SetDebugEnabled()`. If this +process is privileged, or might expose sensitive information in its debug +output, you may want to restrict the ability to enable debug output to +privileged users or processes. + +One option is to install a D-Bus security policy which restricts access to +`SetDebugEnabled()`, installing something like the following in +`$datadir/dbus-1/system.d/`: +|[<!-- language="XML" --> +<?xml version="1.0"?> <!--*-nxml-*--> +<!DOCTYPE busconfig PUBLIC "-//freedesktop//DTD D-BUS Bus Configuration 1.0//EN" + "http://www.freedesktop.org/standards/dbus/1.0/busconfig.dtd"> +<busconfig> + <policy user="root"> + <allow send_destination="com.example.MyService" send_interface="org.gtk.Debugging"/> + </policy> + <policy context="default"> + <deny send_destination="com.example.MyService" send_interface="org.gtk.Debugging"/> + </policy> +</busconfig> +]| + +This will prevent the `SetDebugEnabled()` method from being called by all +except root. It will not prevent the `DebugEnabled` property from being read, +as it’s accessed through the `org.freedesktop.DBus.Properties` interface. + +Another option is to use polkit to allow or deny requests on a case-by-case +basis, allowing for the possibility of dynamic authorisation. To do this, +connect to the #GDebugControllerDBus::authorize signal and query polkit in +it: +|[<!-- language="C" --> + g_autoptr(GError) child_error = NULL; + g_autoptr(GDBusConnection) connection = g_bus_get_sync (G_BUS_TYPE_SYSTEM, NULL, NULL); + gulong debug_controller_authorize_id = 0; + + // Set up the debug controller. + debug_controller = G_DEBUG_CONTROLLER (g_debug_controller_dbus_new (priv->connection, NULL, &child_error)); + if (debug_controller == NULL) + { + g_error ("Could not register debug controller on bus: %s"), + child_error->message); + } + + debug_controller_authorize_id = g_signal_connect (debug_controller, + "authorize", + G_CALLBACK (debug_controller_authorize_cb), + self); + + static gboolean + debug_controller_authorize_cb (GDebugControllerDBus *debug_controller, + GDBusMethodInvocation *invocation, + gpointer user_data) + { + g_autoptr(PolkitAuthority) authority = NULL; + g_autoptr(PolkitSubject) subject = NULL; + g_autoptr(PolkitAuthorizationResult) auth_result = NULL; + g_autoptr(GError) local_error = NULL; + GDBusMessage *message; + GDBusMessageFlags message_flags; + PolkitCheckAuthorizationFlags flags = POLKIT_CHECK_AUTHORIZATION_FLAGS_NONE; + + message = g_dbus_method_invocation_get_message (invocation); + message_flags = g_dbus_message_get_flags (message); + + authority = polkit_authority_get_sync (NULL, &local_error); + if (authority == NULL) + { + g_warning ("Failed to get polkit authority: %s", local_error->message); + return FALSE; + } + + if (message_flags & G_DBUS_MESSAGE_FLAGS_ALLOW_INTERACTIVE_AUTHORIZATION) + flags |= POLKIT_CHECK_AUTHORIZATION_FLAGS_ALLOW_USER_INTERACTION; + + subject = polkit_system_bus_name_new (g_dbus_method_invocation_get_sender (invocation)); + + auth_result = polkit_authority_check_authorization_sync (authority, + subject, + "com.example.MyService.set-debug-enabled", + NULL, + flags, + NULL, + &local_error); + if (auth_result == NULL) + { + g_warning ("Failed to get check polkit authorization: %s", local_error->message); + return FALSE; + } + + return polkit_authorization_result_get_is_authorized (auth_result); + } +]| + + + + Create a new #GDebugControllerDBus and synchronously initialize it. + +Initializing the object will export the debug object on @connection. The +object will remain registered until the last reference to the +#GDebugControllerDBus is dropped. + +Initialization may fail if registering the object on @connection fails. + + a new #GDebugControllerDBus, or %NULL + on failure + + + + + a #GDBusConnection to register the debug object on + + + + a #GCancellable, or %NULL + + + + + + + + + + + + + + + + + + + Stop the debug controller, unregistering its object from the bus. + +Any pending method calls to the object will complete successfully, but new +ones will return an error. This method will block until all pending +#GDebugControllerDBus::authorize signals have been handled. This is expected +to not take long, as it will just be waiting for threads to join. If any +#GDebugControllerDBus::authorize signal handlers are still executing in other +threads, this will block until after they have returned. + +This method will be called automatically when the final reference to the +#GDebugControllerDBus is dropped. You may want to call it explicitly to know +when the controller has been fully removed from the bus, or to break +reference count cycles. + +Calling this method from within a #GDebugControllerDBus::authorize signal +handler will cause a deadlock and must not be done. + + + + + + a #GDebugControllerDBus + + + + + + The D-Bus connection to expose the debugging interface on. + +Typically this will be the same connection (to the system or session bus) +which the rest of the application or service’s D-Bus objects are registered +on. + + + + + + + Emitted when a D-Bus peer is trying to change the debug settings and used +to determine if that is authorized. + +This signal is emitted in a dedicated worker thread, so handlers are +allowed to perform blocking I/O. This means that, for example, it is +appropriate to call `polkit_authority_check_authorization_sync()` to check +authorization using polkit. + +If %FALSE is returned then no further handlers are run and the request to +change the debug settings is rejected. + +Otherwise, if %TRUE is returned, signal emission continues. If no handlers +return %FALSE, then the debug settings are allowed to be changed. + +Signal handlers must not modify @invocation, or cause it to return a value. + +The default class handler just returns %TRUE. + + %TRUE if the call is authorized, %FALSE otherwise. + + + + + A #GDBusMethodInvocation. + + + + + + + The virtual function table for #GDebugControllerDBus. + + The parent class. + + + + + + + + + + + + + + + + + + + + + + + + + The virtual function table for #GDebugController. + + The parent interface. + + + #GDesktopAppInfo is an implementation of #GAppInfo based on desktop files. @@ -21061,7 +21455,7 @@ The @key is looked up in the "Desktop Entry" group. Gets the value of the NoDisplay key, which helps determine if the application info should be shown in menus. See -#G_KEY_FILE_DESKTOP_KEY_NO_DISPLAY and g_app_info_should_show(). +%G_KEY_FILE_DESKTOP_KEY_NO_DISPLAY and g_app_info_should_show(). The value of the NoDisplay key @@ -21738,7 +22132,7 @@ themselves. Gets the identifier of the given kind for @drive. The only identifier currently available is -#G_DRIVE_IDENTIFIER_KIND_UNIX_DEVICE. +%G_DRIVE_IDENTIFIER_KIND_UNIX_DEVICE. a newly allocated string containing the requested identifier, or %NULL if the #GDrive @@ -22270,7 +22664,7 @@ themselves. Gets the identifier of the given kind for @drive. The only identifier currently available is -#G_DRIVE_IDENTIFIER_KIND_UNIX_DEVICE. +%G_DRIVE_IDENTIFIER_KIND_UNIX_DEVICE. a newly allocated string containing the requested identifier, or %NULL if the #GDrive @@ -24128,7 +24522,10 @@ peer certificate validation will always set the %G_TLS_CERTIFICATE_UNKNOWN_CA error (meaning #GDtlsConnection::accept-certificate will always be emitted on client-side connections, unless that bit is not set in -#GDtlsClientConnection:validation-flags). +#GDtlsClientConnection:validation-flags). + +There are nonintuitive security implications when using a non-default +database. See #GDtlsConnection:database for details. @@ -24347,7 +24744,20 @@ g_dtls_connection_set_certificate(). The certificate database to use when verifying this TLS connection. If no certificate database is set, then the default database will be -used. See g_tls_backend_get_default_database(). +used. See g_tls_backend_get_default_database(). + +When using a non-default database, #GDtlsConnection must fall back to using +the #GTlsDatabase to perform certificate verification using +g_tls_database_verify_chain(), which means certificate verification will +not be able to make use of TLS session context. This may be less secure. +For example, if you create your own #GTlsDatabase that just wraps the +default #GTlsDatabase, you might expect that you have not changed anything, +but this is not true because you may have altered the behavior of +#GDtlsConnection by causing it to use g_tls_database_verify_chain(). See the +documentation of g_tls_database_verify_chain() for more details on specific +security checks that may not be performed. Accordingly, setting a +non-default database is discouraged except for specialty applications with +unusual security requirements. @@ -24376,7 +24786,15 @@ detect when a handshake has occurred.) it may not be if #GDtlsClientConnection:validation-flags is not %G_TLS_CERTIFICATE_VALIDATE_ALL, or if #GDtlsConnection::accept-certificate overrode the default -behavior. +behavior. + +GLib guarantees that if certificate verification fails, at least +one error will be set, but it does not guarantee that all possible +errors will be set. Accordingly, you may not safely decide to +ignore any particular type of error. For example, it would be +incorrect to mask %G_TLS_CERTIFICATE_EXPIRED if you want to allow +expired certificates, because this could potentially be the only +error flag set even if other problems exist with the certificate. @@ -24407,6 +24825,15 @@ certificate to be accepted despite @errors, return %TRUE from the signal handler. Otherwise, if no handler accepts the certificate, the handshake will fail with %G_TLS_ERROR_BAD_CERTIFICATE. +GLib guarantees that if certificate verification fails, this signal +will be emitted with at least one error will be set in @errors, but +it does not guarantee that all possible errors will be set. +Accordingly, you may not safely decide to ignore any particular +type of error. For example, it would be incorrect to ignore +%G_TLS_CERTIFICATE_EXPIRED if you want to allow expired +certificates, because this could potentially be the only error flag +set even if other problems exist with the certificate. + For a server-side connection, @peer_cert is the certificate presented by the client, if this was requested via the server's #GDtlsServerConnection:authentication_mode. On the server side, @@ -25969,7 +26396,7 @@ for you there. It is also always possible to use this function with #GOptionContext arguments of type %G_OPTION_ARG_FILENAME. a new #GFile. - Free the returned object with g_object_unref(). + Free the returned object with g_object_unref(). @@ -26018,7 +26445,7 @@ operation if @path is malformed. a string containing a relative or absolute path. - The string must be encoded in the glib filename encoding. + The string must be encoded in the glib filename encoding. @@ -26030,7 +26457,7 @@ operation if @uri is malformed or if the uri type is not supported. a new #GFile for the given @uri. - Free the returned object with g_object_unref(). + Free the returned object with g_object_unref(). @@ -26053,7 +26480,7 @@ Unlike the other #GFile constructors, this will return %NULL if a temporary file could not be created. a new #GFile. - Free the returned object with g_object_unref(). + Free the returned object with g_object_unref(). @@ -26089,7 +26516,7 @@ the @parse_name cannot be parsed. If the file doesn't already exist it is created. By default files created are generally readable by everyone, -but if you pass #G_FILE_CREATE_PRIVATE in @flags the file +but if you pass %G_FILE_CREATE_PRIVATE in @flags the file will be made readable only to the current user, to the level that is supported on the target filesystem. @@ -26104,7 +26531,7 @@ Some file systems don't allow all file names, and may return an possible too, and depend on what kind of filesystem the file is on. a #GFileOutputStream, or %NULL on error. - Free the returned object with g_object_unref(). + Free the returned object with g_object_unref(). @@ -26118,7 +26545,7 @@ possible too, and depend on what kind of filesystem the file is on. optional #GCancellable object, - %NULL to ignore + %NULL to ignore @@ -26150,12 +26577,12 @@ of the operation. optional #GCancellable object, - %NULL to ignore + %NULL to ignore a #GAsyncReadyCallback to call - when the request is satisfied + when the request is satisfied @@ -26169,8 +26596,8 @@ of the operation. g_file_append_to_async(). a valid #GFileOutputStream - or %NULL on error. - Free the returned object with g_object_unref(). + or %NULL on error. + Free the returned object with g_object_unref(). @@ -26188,14 +26615,14 @@ g_file_append_to_async(). Copies the file @source to the location specified by @destination. Can not handle recursive copies of directories. -If the flag #G_FILE_COPY_OVERWRITE is specified an already +If the flag %G_FILE_COPY_OVERWRITE is specified an already existing @destination file is overwritten. -If the flag #G_FILE_COPY_NOFOLLOW_SYMLINKS is specified then symlinks +If the flag %G_FILE_COPY_NOFOLLOW_SYMLINKS is specified then symlinks will be copied as symlinks, otherwise the target of the @source symlink will be copied. -If the flag #G_FILE_COPY_ALL_METADATA is specified then all the metadata +If the flag %G_FILE_COPY_ALL_METADATA is specified then all the metadata that is possible to copy is copied, not just the default subset (which, for instance, does not include the owner, see #GFileInfo). @@ -26212,7 +26639,7 @@ the total number of bytes copied during the operation. If the @source file does not exist, then the %G_IO_ERROR_NOT_FOUND error is returned, independent on the status of the @destination. -If #G_FILE_COPY_OVERWRITE is not specified and the target exists, then +If %G_FILE_COPY_OVERWRITE is not specified and the target exists, then the error %G_IO_ERROR_EXISTS is returned. If trying to overwrite a file over a directory, the %G_IO_ERROR_IS_DIRECTORY @@ -26220,7 +26647,7 @@ error is returned. If trying to overwrite a directory with a directory the %G_IO_ERROR_WOULD_MERGE error is returned. If the source is a directory and the target does not exist, or -#G_FILE_COPY_OVERWRITE is specified and the target is a file, then the +%G_FILE_COPY_OVERWRITE is specified and the target is a file, then the %G_IO_ERROR_WOULD_RECURSE error is returned. If you are interested in copying the #GFile object itself (not the on-disk @@ -26244,12 +26671,12 @@ file), see g_file_dup(). optional #GCancellable object, - %NULL to ignore + %NULL to ignore function to callback with - progress information, or %NULL if progress information is not needed + progress information, or %NULL if progress information is not needed @@ -26291,12 +26718,12 @@ g_file_copy_finish() to get the result of the operation. optional #GCancellable object, - %NULL to ignore + %NULL to ignore function to callback with progress - information, or %NULL if progress information is not needed + information, or %NULL if progress information is not needed @@ -26335,7 +26762,7 @@ g_file_copy_finish() to get the result of the operation. The file must not already exist. By default files created are generally readable by everyone, -but if you pass #G_FILE_CREATE_PRIVATE in @flags the file +but if you pass %G_FILE_CREATE_PRIVATE in @flags the file will be made readable only to the current user, to the level that is supported on the target filesystem. @@ -26352,8 +26779,8 @@ be returned. Other errors are possible too, and depend on what kind of filesystem the file is on. a #GFileOutputStream for the newly created - file, or %NULL on error. - Free the returned object with g_object_unref(). + file, or %NULL on error. + Free the returned object with g_object_unref(). @@ -26367,7 +26794,7 @@ of filesystem the file is on. optional #GCancellable object, - %NULL to ignore + %NULL to ignore @@ -26400,12 +26827,12 @@ of the operation. optional #GCancellable object, - %NULL to ignore + %NULL to ignore a #GAsyncReadyCallback to call - when the request is satisfied + when the request is satisfied @@ -26419,7 +26846,7 @@ of the operation. g_file_create_async(). a #GFileOutputStream or %NULL on error. - Free the returned object with g_object_unref(). + Free the returned object with g_object_unref(). @@ -26438,7 +26865,7 @@ g_file_create_async(). writing to it. The file must not already exist. By default files created are generally readable by everyone, -but if you pass #G_FILE_CREATE_PRIVATE in @flags the file +but if you pass %G_FILE_CREATE_PRIVATE in @flags the file will be made readable only to the current user, to the level that is supported on the target filesystem. @@ -26459,8 +26886,8 @@ not supported, so make sure you really need to do read and write streaming, rather than just opening for reading or writing. a #GFileIOStream for the newly created - file, or %NULL on error. - Free the returned object with g_object_unref(). + file, or %NULL on error. + Free the returned object with g_object_unref(). @@ -26474,7 +26901,7 @@ streaming, rather than just opening for reading or writing. optional #GCancellable object, - %NULL to ignore + %NULL to ignore @@ -26507,12 +26934,12 @@ the result of the operation. optional #GCancellable object, - %NULL to ignore + %NULL to ignore a #GAsyncReadyCallback to call - when the request is satisfied + when the request is satisfied @@ -26526,7 +26953,7 @@ the result of the operation. g_file_create_readwrite_async(). a #GFileIOStream or %NULL on error. - Free the returned object with g_object_unref(). + Free the returned object with g_object_unref(). @@ -26573,7 +27000,7 @@ was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. optional #GCancellable object, - %NULL to ignore + %NULL to ignore @@ -26596,12 +27023,12 @@ g_unlink(). optional #GCancellable object, - %NULL to ignore + %NULL to ignore a #GAsyncReadyCallback to call - when the request is satisfied + when the request is satisfied @@ -26640,7 +27067,7 @@ reference count. This call does no blocking I/O. a new #GFile that is a duplicate - of the given #GFile. + of the given #GFile. @@ -26674,12 +27101,12 @@ was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. optional #GCancellable object, - %NULL to ignore + %NULL to ignore a #GAsyncReadyCallback to call - when the request is satisfied, or %NULL + when the request is satisfied, or %NULL @@ -26692,10 +27119,10 @@ was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. Finishes an asynchronous eject operation started by g_file_eject_mountable(). Use g_file_eject_mountable_with_operation_finish() - instead. + instead. %TRUE if the @file was ejected successfully. - %FALSE otherwise. + %FALSE otherwise. @@ -26732,17 +27159,17 @@ was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. a #GMountOperation, - or %NULL to avoid user interaction + or %NULL to avoid user interaction optional #GCancellable object, - %NULL to ignore + %NULL to ignore a #GAsyncReadyCallback to call - when the request is satisfied, or %NULL + when the request is satisfied, or %NULL @@ -26756,7 +27183,7 @@ was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. g_file_eject_mountable_with_operation(). %TRUE if the @file was ejected successfully. - %FALSE otherwise. + %FALSE otherwise. @@ -26784,7 +27211,9 @@ The wildcard "*" means all attributes, and a wildcard like "standard::*" means all attributes in the standard namespace. An example attribute query be "standard::*,owner::user". The standard attributes are available as defines, like -#G_FILE_ATTRIBUTE_STANDARD_NAME. +%G_FILE_ATTRIBUTE_STANDARD_NAME. %G_FILE_ATTRIBUTE_STANDARD_NAME should +always be specified if you plan to call g_file_enumerator_get_child() or +g_file_enumerator_iterate() on the returned enumerator. If @cancellable is not %NULL, then the operation can be cancelled by triggering the cancellable object from another thread. If the @@ -26796,7 +27225,7 @@ be returned. If the file is not a directory, the %G_IO_ERROR_NOT_DIRECTORY error will be returned. Other errors are possible too. A #GFileEnumerator if successful, - %NULL on error. Free the returned object with g_object_unref(). + %NULL on error. Free the returned object with g_object_unref(). @@ -26814,7 +27243,7 @@ error will be returned. Other errors are possible too. optional #GCancellable object, - %NULL to ignore + %NULL to ignore @@ -26852,12 +27281,12 @@ the operation. optional #GCancellable object, - %NULL to ignore + %NULL to ignore a #GAsyncReadyCallback to call when the - request is satisfied + request is satisfied @@ -26871,8 +27300,8 @@ the operation. See g_file_enumerate_children_async(). a #GFileEnumerator or %NULL - if an error occurred. - Free the returned object with g_object_unref(). + if an error occurred. + Free the returned object with g_object_unref(). @@ -26921,8 +27350,8 @@ triggering the cancellable object from another thread. If the operation was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. a #GMount where the @file is located - or %NULL on error. - Free the returned object with g_object_unref(). + or %NULL on error. + Free the returned object with g_object_unref(). @@ -26932,7 +27361,7 @@ was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. optional #GCancellable object, - %NULL to ignore + %NULL to ignore @@ -26960,12 +27389,12 @@ get the result of the operation. optional #GCancellable object, - %NULL to ignore + %NULL to ignore a #GAsyncReadyCallback to call - when the request is satisfied + when the request is satisfied @@ -26979,7 +27408,7 @@ get the result of the operation. See g_file_find_enclosing_mount_async(). #GMount for given @file or %NULL on error. - Free the returned object with g_object_unref(). + Free the returned object with g_object_unref(). @@ -27009,8 +27438,8 @@ attribute with g_file_query_info(). This call does no blocking I/O. string containing the #GFile's - base name, or %NULL if given #GFile is invalid. The returned string - should be freed with g_free() when no longer needed. + base name, or %NULL if given #GFile is invalid. The returned string + should be freed with g_free() when no longer needed. @@ -27031,8 +27460,8 @@ type a filename in the file selector. This call does no blocking I/O. a #GFile to the specified child, or - %NULL if the display name couldn't be converted. - Free the returned object with g_object_unref(). + %NULL if the display name couldn't be converted. + Free the returned object with g_object_unref(). @@ -27054,8 +27483,8 @@ file system, then %NULL will be returned. This call does no blocking I/O. a #GFile structure to the - parent of the given #GFile or %NULL if there is no parent. Free - the returned object with g_object_unref(). + parent of the given #GFile or %NULL if there is no parent. Free + the returned object with g_object_unref(). @@ -27082,8 +27511,8 @@ to UTF-8 the pathname is used, otherwise the IRI is used This call does no blocking I/O. a string containing the #GFile's parse name. - The returned string should be freed with g_free() - when no longer needed. + The returned string should be freed with g_free() + when no longer needed. @@ -27100,8 +27529,8 @@ guaranteed to be an absolute, canonical path. It might contain symlinks. This call does no blocking I/O. string containing the #GFile's path, - or %NULL if no such path exists. The returned string should be freed - with g_free() when no longer needed. + or %NULL if no such path exists. The returned string should be freed + with g_free() when no longer needed. @@ -27117,9 +27546,9 @@ This call does no blocking I/O. This call does no blocking I/O. string with the relative path from - @descendant to @parent, or %NULL if @descendant doesn't have @parent as - prefix. The returned string should be freed with g_free() when - no longer needed. + @descendant to @parent, or %NULL if @descendant doesn't have @parent as + prefix. The returned string should be freed with g_free() when + no longer needed. @@ -27139,9 +27568,9 @@ This call does no blocking I/O. This call does no blocking I/O. a string containing the #GFile's URI. If the #GFile was constructed - with an invalid URI, an invalid URI is returned. - The returned string should be freed with g_free() - when no longer needed. + with an invalid URI, an invalid URI is returned. + The returned string should be freed with g_free() + when no longer needed. @@ -27165,8 +27594,8 @@ in that it might be replaced with one that is logically equivalent to the #GFile This call does no blocking I/O. a string containing the URI scheme for the given - #GFile or %NULL if the #GFile was constructed with an invalid URI. The - returned string should be freed with g_free() when no longer needed. + #GFile or %NULL if the #GFile was constructed with an invalid URI. The + returned string should be freed with g_free() when no longer needed. @@ -27182,8 +27611,8 @@ This call does no blocking I/O. This call does no blocking I/O. %TRUE if #GFile's backend supports the - given URI scheme, %FALSE if URI scheme is %NULL, - not supported, or #GFile is invalid. + given URI scheme, %FALSE if URI scheme is %NULL, + not supported, or #GFile is invalid. @@ -27203,9 +27632,9 @@ This call does no blocking I/O. This call does no blocking I/O. 0 if @file is not a valid #GFile, otherwise an - integer that can be used as hash value for the #GFile. - This function is intended for easily hashing a #GFile to - add to a #GHashTable or similar data structure. + integer that can be used as hash value for the #GFile. + This function is intended for easily hashing a #GFile to + add to a #GHashTable or similar data structure. @@ -27264,7 +27693,7 @@ was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. optional #GCancellable object, - %NULL to ignore + %NULL to ignore @@ -27285,12 +27714,12 @@ was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. optional #GCancellable object, - %NULL to ignore + %NULL to ignore a #GAsyncReadyCallback to call - when the request is satisfied + when the request is satisfied @@ -27335,12 +27764,12 @@ was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. a string with the path for the target - of the new symlink + of the new symlink optional #GCancellable object, - %NULL to ignore + %NULL to ignore @@ -27366,7 +27795,7 @@ periodic progress updates while scanning. See the documentation for callback will be invoked. %TRUE if successful, with the out parameters set. - %FALSE otherwise, with @error set. + %FALSE otherwise, with @error set. @@ -27453,7 +27882,7 @@ g_file_measure_disk_usage_async(). See g_file_measure_disk_usage() for more information. %TRUE if successful, with the out parameters set. - %FALSE otherwise, with @error set. + %FALSE otherwise, with @error set. @@ -27494,8 +27923,8 @@ directory for changes made via hard links; if you want to do this then you must register individual watches with g_file_monitor(). a #GFileMonitor for the given @file, - or %NULL on error. - Free the returned object with g_object_unref(). + or %NULL on error. + Free the returned object with g_object_unref(). @@ -27509,7 +27938,7 @@ you must register individual watches with g_file_monitor(). optional #GCancellable object, - %NULL to ignore + %NULL to ignore @@ -27531,8 +27960,8 @@ usage, and may not have any effect depending on the #GFileMonitor backend and/or filesystem type. a #GFileMonitor for the given @file, - or %NULL on error. - Free the returned object with g_object_unref(). + or %NULL on error. + Free the returned object with g_object_unref(). @@ -27546,7 +27975,7 @@ backend and/or filesystem type. optional #GCancellable object, - %NULL to ignore + %NULL to ignore @@ -27576,17 +28005,17 @@ was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. a #GMountOperation - or %NULL to avoid user interaction + or %NULL to avoid user interaction optional #GCancellable object, - %NULL to ignore + %NULL to ignore a #GAsyncReadyCallback to call - when the request is satisfied, or %NULL + when the request is satisfied, or %NULL @@ -27599,8 +28028,8 @@ was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. Finishes a mount operation started by g_file_mount_enclosing_volume(). %TRUE if successful. If an error has occurred, - this function will return %FALSE and set @error - appropriately if present. + this function will return %FALSE and set @error + appropriately if present. @@ -27640,17 +28069,17 @@ the result of the operation. a #GMountOperation, - or %NULL to avoid user interaction + or %NULL to avoid user interaction optional #GCancellable object, - %NULL to ignore + %NULL to ignore a #GAsyncReadyCallback to call - when the request is satisfied, or %NULL + when the request is satisfied, or %NULL @@ -27666,7 +28095,7 @@ Finish an asynchronous mount operation that was started with g_file_mount_mountable(). a #GFile or %NULL on error. - Free the returned object with g_object_unref(). + Free the returned object with g_object_unref(). @@ -27687,7 +28116,7 @@ used, otherwise a copy + delete fallback is used. The native implementation may support moving directories (for instance on moves inside the same filesystem), but the fallback code does not. -If the flag #G_FILE_COPY_OVERWRITE is specified an already +If the flag %G_FILE_COPY_OVERWRITE is specified an already existing @destination file is overwritten. If @cancellable is not %NULL, then the operation can be cancelled by @@ -27703,7 +28132,7 @@ transferred with the total number of bytes copied during the operation. If the @source file does not exist, then the %G_IO_ERROR_NOT_FOUND error is returned, independent on the status of the @destination. -If #G_FILE_COPY_OVERWRITE is not specified and the target exists, +If %G_FILE_COPY_OVERWRITE is not specified and the target exists, then the error %G_IO_ERROR_EXISTS is returned. If trying to overwrite a file over a directory, the %G_IO_ERROR_IS_DIRECTORY @@ -27711,7 +28140,7 @@ error is returned. If trying to overwrite a directory with a directory the %G_IO_ERROR_WOULD_MERGE error is returned. If the source is a directory and the target does not exist, or -#G_FILE_COPY_OVERWRITE is specified and the target is a file, then +%G_FILE_COPY_OVERWRITE is specified and the target is a file, then the %G_IO_ERROR_WOULD_RECURSE error may be returned (if the native move operation isn't available). @@ -27733,21 +28162,95 @@ move operation isn't available). optional #GCancellable object, - %NULL to ignore + %NULL to ignore #GFileProgressCallback - function for updates + function for updates gpointer to user data for - the callback function + the callback function + + Asynchronously moves a file @source to the location of @destination. For details of the behaviour, see g_file_move(). + +If @progress_callback is not %NULL, then that function that will be called +just like in g_file_move(). The callback will run in the default main context +of the thread calling g_file_move_async() — the same context as @callback is +run in. + +When the operation is finished, @callback will be called. You can then call +g_file_move_finish() to get the result of the operation. + + + + + + #GFile pointing to the source location + + + + #GFile pointing to the destination location + + + + set of #GFileCopyFlags + + + + the [I/O priority][io-priority] of the request + + + + optional #GCancellable object, + %NULL to ignore + + + + #GFileProgressCallback + function for updates + + + + gpointer to user data for + the callback function + + + + a #GAsyncReadyCallback to call + when the request is satisfied + + + + the data to pass to callback function + + + + + + Finishes an asynchronous file movement, started with +g_file_move_async(). + + %TRUE on successful file move, %FALSE otherwise. + + + + + input source #GFile + + + + a #GAsyncResult + + + + Opens an existing file for reading and writing. The result is a #GFileIOStream that can be used to read and write the contents @@ -27767,7 +28270,7 @@ really need to do read and write streaming, rather than just opening for reading or writing. #GFileIOStream or %NULL on error. - Free the returned object with g_object_unref(). + Free the returned object with g_object_unref(). @@ -27804,12 +28307,12 @@ the result of the operation. optional #GCancellable object, - %NULL to ignore + %NULL to ignore a #GAsyncReadyCallback to call - when the request is satisfied + when the request is satisfied @@ -27823,7 +28326,7 @@ the result of the operation. g_file_open_readwrite_async(). a #GFileIOStream or %NULL on error. - Free the returned object with g_object_unref(). + Free the returned object with g_object_unref(). @@ -27838,7 +28341,7 @@ g_file_open_readwrite_async(). - Polls a file of type #G_FILE_TYPE_MOUNTABLE. + Polls a file of type %G_FILE_TYPE_MOUNTABLE. If @cancellable is not %NULL, then the operation can be cancelled by triggering the cancellable object from another thread. If the operation @@ -27861,7 +28364,7 @@ the result of the operation. a #GAsyncReadyCallback to call - when the request is satisfied, or %NULL + when the request is satisfied, or %NULL @@ -27908,7 +28411,7 @@ filesystem point of view), because the prefix of @file is an alias of @prefix. %TRUE if the @file's parent, grandparent, etc is @prefix, - %FALSE otherwise. + %FALSE otherwise. @@ -27936,9 +28439,9 @@ attributes or attribute wildcards. The wildcard "*" means all attributes, and a wildcard like "filesystem::*" means all attributes in the filesystem namespace. The standard namespace for filesystem attributes is "filesystem". Common attributes of interest are -#G_FILE_ATTRIBUTE_FILESYSTEM_SIZE (the total size of the filesystem -in bytes), #G_FILE_ATTRIBUTE_FILESYSTEM_FREE (number of bytes available), -and #G_FILE_ATTRIBUTE_FILESYSTEM_TYPE (type of the filesystem). +%G_FILE_ATTRIBUTE_FILESYSTEM_SIZE (the total size of the filesystem +in bytes), %G_FILE_ATTRIBUTE_FILESYSTEM_FREE (number of bytes available), +and %G_FILE_ATTRIBUTE_FILESYSTEM_TYPE (type of the filesystem). If @cancellable is not %NULL, then the operation can be cancelled by triggering the cancellable object from another thread. If the @@ -27950,7 +28453,7 @@ be returned. Other errors are possible too, and depend on what kind of filesystem the file is on. a #GFileInfo or %NULL if there was an error. - Free the returned object with g_object_unref(). + Free the returned object with g_object_unref(). @@ -27964,7 +28467,7 @@ kind of filesystem the file is on. optional #GCancellable object, - %NULL to ignore + %NULL to ignore @@ -27999,12 +28502,12 @@ operation. optional #GCancellable object, - %NULL to ignore + %NULL to ignore a #GAsyncReadyCallback to call - when the request is satisfied + when the request is satisfied @@ -28018,8 +28521,8 @@ operation. See g_file_query_filesystem_info_async(). #GFileInfo for given @file - or %NULL on error. - Free the returned object with g_object_unref(). + or %NULL on error. + Free the returned object with g_object_unref(). @@ -28047,7 +28550,7 @@ The wildcard "*" means all attributes, and a wildcard like "standard::*" means all attributes in the standard namespace. An example attribute query be "standard::*,owner::user". The standard attributes are available as defines, like -#G_FILE_ATTRIBUTE_STANDARD_NAME. +%G_FILE_ATTRIBUTE_STANDARD_NAME. If @cancellable is not %NULL, then the operation can be cancelled by triggering the cancellable object from another thread. If the @@ -28056,7 +28559,7 @@ returned. For symlinks, normally the information about the target of the symlink is returned, rather than information about the symlink -itself. However if you pass #G_FILE_QUERY_INFO_NOFOLLOW_SYMLINKS +itself. However if you pass %G_FILE_QUERY_INFO_NOFOLLOW_SYMLINKS in @flags the information about the symlink itself will be returned. Also, for symlinks that point to non-existing files the information about the symlink itself will be returned. @@ -28066,7 +28569,7 @@ returned. Other errors are possible too, and depend on what kind of filesystem the file is on. a #GFileInfo for the given @file, or %NULL - on error. Free the returned object with g_object_unref(). + on error. Free the returned object with g_object_unref(). @@ -28084,7 +28587,7 @@ filesystem the file is on. optional #GCancellable object, - %NULL to ignore + %NULL to ignore @@ -28121,12 +28624,12 @@ then call g_file_query_info_finish() to get the result of the operation. optional #GCancellable object, - %NULL to ignore + %NULL to ignore a #GAsyncReadyCallback to call when the - request is satisfied + request is satisfied @@ -28140,8 +28643,8 @@ then call g_file_query_info_finish() to get the result of the operation. See g_file_query_info_async(). #GFileInfo for given @file - or %NULL on error. Free the returned object with - g_object_unref(). + or %NULL on error. Free the returned object with + g_object_unref(). @@ -28168,8 +28671,8 @@ triggering the cancellable object from another thread. If the operation was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. a #GFileAttributeInfoList describing the settable attributes. - When you are done with it, release it with - g_file_attribute_info_list_unref() + When you are done with it, release it with + g_file_attribute_info_list_unref() @@ -28179,7 +28682,7 @@ was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. optional #GCancellable object, - %NULL to ignore + %NULL to ignore @@ -28194,8 +28697,8 @@ triggering the cancellable object from another thread. If the operation was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. a #GFileAttributeInfoList describing the writable namespaces. - When you are done with it, release it with - g_file_attribute_info_list_unref() + When you are done with it, release it with + g_file_attribute_info_list_unref() @@ -28205,7 +28708,7 @@ was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. optional #GCancellable object, - %NULL to ignore + %NULL to ignore @@ -28233,12 +28736,12 @@ of the operation. optional #GCancellable object, - %NULL to ignore + %NULL to ignore a #GAsyncReadyCallback to call - when the request is satisfied + when the request is satisfied @@ -28252,7 +28755,7 @@ of the operation. g_file_read_async(). a #GFileInputStream or %NULL on error. - Free the returned object with g_object_unref(). + Free the returned object with g_object_unref(). @@ -28280,7 +28783,7 @@ error will be returned. Other errors are possible too, and depend on what kind of filesystem the file is on. #GFileInputStream or %NULL on error. - Free the returned object with g_object_unref(). + Free the returned object with g_object_unref(). @@ -28306,7 +28809,7 @@ may write to a temporary file and then atomically rename over the destination when the stream is closed. By default files created are generally readable by everyone, -but if you pass #G_FILE_CREATE_PRIVATE in @flags the file +but if you pass %G_FILE_CREATE_PRIVATE in @flags the file will be made readable only to the current user, to the level that is supported on the target filesystem. @@ -28338,7 +28841,7 @@ file systems don't allow all file names, and may return an possible too, and depend on what kind of filesystem the file is on. a #GFileOutputStream or %NULL on error. - Free the returned object with g_object_unref(). + Free the returned object with g_object_unref(). @@ -28348,7 +28851,7 @@ possible too, and depend on what kind of filesystem the file is on. an optional [entity tag][gfile-etag] - for the current #GFile, or #NULL to ignore + for the current #GFile, or #NULL to ignore @@ -28361,7 +28864,7 @@ possible too, and depend on what kind of filesystem the file is on. optional #GCancellable object, - %NULL to ignore + %NULL to ignore @@ -28386,7 +28889,7 @@ of the operation. an [entity tag][gfile-etag] for the current #GFile, - or %NULL to ignore + or %NULL to ignore @@ -28403,12 +28906,12 @@ of the operation. optional #GCancellable object, - %NULL to ignore + %NULL to ignore a #GAsyncReadyCallback to call - when the request is satisfied + when the request is satisfied @@ -28422,7 +28925,7 @@ of the operation. g_file_replace_async(). a #GFileOutputStream, or %NULL on error. - Free the returned object with g_object_unref(). + Free the returned object with g_object_unref(). @@ -28449,7 +28952,7 @@ supported, so make sure you really need to do read and write streaming, rather than just opening for reading or writing. a #GFileIOStream or %NULL on error. - Free the returned object with g_object_unref(). + Free the returned object with g_object_unref(). @@ -28459,7 +28962,7 @@ rather than just opening for reading or writing. an optional [entity tag][gfile-etag] - for the current #GFile, or #NULL to ignore + for the current #GFile, or #NULL to ignore @@ -28472,7 +28975,7 @@ rather than just opening for reading or writing. optional #GCancellable object, - %NULL to ignore + %NULL to ignore @@ -28498,7 +29001,7 @@ the result of the operation. an [entity tag][gfile-etag] for the current #GFile, - or %NULL to ignore + or %NULL to ignore @@ -28515,12 +29018,12 @@ the result of the operation. optional #GCancellable object, - %NULL to ignore + %NULL to ignore a #GAsyncReadyCallback to call - when the request is satisfied + when the request is satisfied @@ -28534,7 +29037,7 @@ the result of the operation. g_file_replace_readwrite_async(). a #GFileIOStream, or %NULL on error. - Free the returned object with g_object_unref(). + Free the returned object with g_object_unref(). @@ -28551,11 +29054,12 @@ g_file_replace_readwrite_async(). Resolves a relative path for @file to an absolute path. -This call does no blocking I/O. +This call does no blocking I/O. + +If the @relative_path is an absolute path name, the resolution +is done absolutely (without taking @file path as base). - #GFile to the resolved path. - %NULL if @relative_path is %NULL or if @file is invalid. - Free the returned object with g_object_unref(). + a #GFile for the resolved path. @@ -28597,7 +29101,7 @@ was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. a pointer to the value (or the pointer - itself if the type is a pointer type) + itself if the type is a pointer type) @@ -28606,7 +29110,7 @@ was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. optional #GCancellable object, - %NULL to ignore + %NULL to ignore @@ -28642,7 +29146,7 @@ the result of the operation. optional #GCancellable object, - %NULL to ignore + %NULL to ignore @@ -28708,7 +29212,7 @@ was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. optional #GCancellable object, - %NULL to ignore + %NULL to ignore @@ -28720,7 +29224,7 @@ The display name is converted from UTF-8 to the correct encoding for the target filesystem if possible and the @file is renamed to this. If you want to implement a rename operation in the user interface the -edit name (#G_FILE_ATTRIBUTE_STANDARD_EDIT_NAME) should be used as the +edit name (%G_FILE_ATTRIBUTE_STANDARD_EDIT_NAME) should be used as the initial value in the rename widget, and then the result after editing should be passed to g_file_set_display_name(). @@ -28731,8 +29235,8 @@ triggering the cancellable object from another thread. If the operation was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. a #GFile specifying what @file was renamed to, - or %NULL if there was an error. - Free the returned object with g_object_unref(). + or %NULL if there was an error. + Free the returned object with g_object_unref(). @@ -28746,7 +29250,7 @@ was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. optional #GCancellable object, - %NULL to ignore + %NULL to ignore @@ -28778,12 +29282,12 @@ the result of the operation. optional #GCancellable object, - %NULL to ignore + %NULL to ignore a #GAsyncReadyCallback to call - when the request is satisfied + when the request is satisfied @@ -28797,7 +29301,7 @@ the result of the operation. g_file_set_display_name_async(). a #GFile or %NULL on error. - Free the returned object with g_object_unref(). + Free the returned object with g_object_unref(). @@ -28812,7 +29316,7 @@ g_file_set_display_name_async(). - Starts a file of type #G_FILE_TYPE_MOUNTABLE. + Starts a file of type %G_FILE_TYPE_MOUNTABLE. Using @start_operation, you can request callbacks when, for instance, passwords are needed during authentication. @@ -28875,7 +29379,7 @@ otherwise. - Stops a file of type #G_FILE_TYPE_MOUNTABLE. + Stops a file of type %G_FILE_TYPE_MOUNTABLE. If @cancellable is not %NULL, then the operation can be cancelled by triggering the cancellable object from another thread. If the operation @@ -28898,17 +29402,17 @@ the result of the operation. a #GMountOperation, - or %NULL to avoid user interaction. + or %NULL to avoid user interaction. optional #GCancellable object, - %NULL to ignore + %NULL to ignore a #GAsyncReadyCallback to call - when the request is satisfied, or %NULL + when the request is satisfied, or %NULL @@ -28924,7 +29428,7 @@ Finish an asynchronous stop operation that was started with g_file_stop_mountable(). %TRUE if the operation finished successfully. - %FALSE otherwise. + %FALSE otherwise. @@ -28960,7 +29464,7 @@ was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. optional #GCancellable object, - %NULL to ignore + %NULL to ignore @@ -28981,12 +29485,12 @@ was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. optional #GCancellable object, - %NULL to ignore + %NULL to ignore a #GAsyncReadyCallback to call - when the request is satisfied + when the request is satisfied @@ -29038,12 +29542,12 @@ the result of the operation. optional #GCancellable object, - %NULL to ignore + %NULL to ignore a #GAsyncReadyCallback to call - when the request is satisfied, or %NULL + when the request is satisfied, or %NULL @@ -29058,10 +29562,10 @@ the result of the operation. Finish an asynchronous unmount operation that was started with g_file_unmount_mountable(). Use g_file_unmount_mountable_with_operation_finish() - instead. + instead. %TRUE if the operation finished successfully. - %FALSE otherwise. + %FALSE otherwise. @@ -29076,7 +29580,7 @@ with g_file_unmount_mountable(). - Unmounts a file of type #G_FILE_TYPE_MOUNTABLE. + Unmounts a file of type %G_FILE_TYPE_MOUNTABLE. If @cancellable is not %NULL, then the operation can be cancelled by triggering the cancellable object from another thread. If the operation @@ -29099,17 +29603,17 @@ the result of the operation. a #GMountOperation, - or %NULL to avoid user interaction + or %NULL to avoid user interaction optional #GCancellable object, - %NULL to ignore + %NULL to ignore a #GAsyncReadyCallback to call - when the request is satisfied, or %NULL + when the request is satisfied, or %NULL @@ -29126,7 +29630,7 @@ Finish an asynchronous unmount operation that was started with g_file_unmount_mountable_with_operation(). %TRUE if the operation finished successfully. - %FALSE otherwise. + %FALSE otherwise. @@ -29145,7 +29649,7 @@ with g_file_unmount_mountable_with_operation(). If the file doesn't already exist it is created. By default files created are generally readable by everyone, -but if you pass #G_FILE_CREATE_PRIVATE in @flags the file +but if you pass %G_FILE_CREATE_PRIVATE in @flags the file will be made readable only to the current user, to the level that is supported on the target filesystem. @@ -29160,7 +29664,7 @@ Some file systems don't allow all file names, and may return an possible too, and depend on what kind of filesystem the file is on. a #GFileOutputStream, or %NULL on error. - Free the returned object with g_object_unref(). + Free the returned object with g_object_unref(). @@ -29174,7 +29678,7 @@ possible too, and depend on what kind of filesystem the file is on. optional #GCancellable object, - %NULL to ignore + %NULL to ignore @@ -29206,12 +29710,12 @@ of the operation. optional #GCancellable object, - %NULL to ignore + %NULL to ignore a #GAsyncReadyCallback to call - when the request is satisfied + when the request is satisfied @@ -29225,8 +29729,8 @@ of the operation. g_file_append_to_async(). a valid #GFileOutputStream - or %NULL on error. - Free the returned object with g_object_unref(). + or %NULL on error. + Free the returned object with g_object_unref(). @@ -29252,7 +29756,7 @@ when one needs to query and set the attributes in two stages (e.g., for recursive move of a directory). an attribute query string for g_file_query_info(), - or %NULL if an error occurs. + or %NULL if an error occurs. @@ -29266,7 +29770,7 @@ stages (e.g., for recursive move of a directory). optional #GCancellable object, - %NULL to ignore + %NULL to ignore @@ -29275,14 +29779,14 @@ stages (e.g., for recursive move of a directory). Copies the file @source to the location specified by @destination. Can not handle recursive copies of directories. -If the flag #G_FILE_COPY_OVERWRITE is specified an already +If the flag %G_FILE_COPY_OVERWRITE is specified an already existing @destination file is overwritten. -If the flag #G_FILE_COPY_NOFOLLOW_SYMLINKS is specified then symlinks +If the flag %G_FILE_COPY_NOFOLLOW_SYMLINKS is specified then symlinks will be copied as symlinks, otherwise the target of the @source symlink will be copied. -If the flag #G_FILE_COPY_ALL_METADATA is specified then all the metadata +If the flag %G_FILE_COPY_ALL_METADATA is specified then all the metadata that is possible to copy is copied, not just the default subset (which, for instance, does not include the owner, see #GFileInfo). @@ -29299,7 +29803,7 @@ the total number of bytes copied during the operation. If the @source file does not exist, then the %G_IO_ERROR_NOT_FOUND error is returned, independent on the status of the @destination. -If #G_FILE_COPY_OVERWRITE is not specified and the target exists, then +If %G_FILE_COPY_OVERWRITE is not specified and the target exists, then the error %G_IO_ERROR_EXISTS is returned. If trying to overwrite a file over a directory, the %G_IO_ERROR_IS_DIRECTORY @@ -29307,7 +29811,7 @@ error is returned. If trying to overwrite a directory with a directory the %G_IO_ERROR_WOULD_MERGE error is returned. If the source is a directory and the target does not exist, or -#G_FILE_COPY_OVERWRITE is specified and the target is a file, then the +%G_FILE_COPY_OVERWRITE is specified and the target is a file, then the %G_IO_ERROR_WOULD_RECURSE error is returned. If you are interested in copying the #GFile object itself (not the on-disk @@ -29331,12 +29835,12 @@ file), see g_file_dup(). optional #GCancellable object, - %NULL to ignore + %NULL to ignore function to callback with - progress information, or %NULL if progress information is not needed + progress information, or %NULL if progress information is not needed @@ -29378,12 +29882,12 @@ g_file_copy_finish() to get the result of the operation. optional #GCancellable object, - %NULL to ignore + %NULL to ignore function to callback with progress - information, or %NULL if progress information is not needed + information, or %NULL if progress information is not needed @@ -29406,12 +29910,12 @@ g_file_copy_finish() to get the result of the operation. Normally only a subset of the file attributes are copied, those that are copies in a normal file copy operation (which for instance does not include e.g. owner). However -if #G_FILE_COPY_ALL_METADATA is specified in @flags, then +if %G_FILE_COPY_ALL_METADATA is specified in @flags, then all the metadata that is possible to copy is copied. This is useful when implementing move by copy + delete source. %TRUE if the attributes were copied successfully, - %FALSE otherwise. + %FALSE otherwise. @@ -29429,7 +29933,7 @@ is useful when implementing move by copy + delete source. optional #GCancellable object, - %NULL to ignore + %NULL to ignore @@ -29456,7 +29960,7 @@ is useful when implementing move by copy + delete source. The file must not already exist. By default files created are generally readable by everyone, -but if you pass #G_FILE_CREATE_PRIVATE in @flags the file +but if you pass %G_FILE_CREATE_PRIVATE in @flags the file will be made readable only to the current user, to the level that is supported on the target filesystem. @@ -29473,8 +29977,8 @@ be returned. Other errors are possible too, and depend on what kind of filesystem the file is on. a #GFileOutputStream for the newly created - file, or %NULL on error. - Free the returned object with g_object_unref(). + file, or %NULL on error. + Free the returned object with g_object_unref(). @@ -29488,7 +29992,7 @@ of filesystem the file is on. optional #GCancellable object, - %NULL to ignore + %NULL to ignore @@ -29521,12 +30025,12 @@ of the operation. optional #GCancellable object, - %NULL to ignore + %NULL to ignore a #GAsyncReadyCallback to call - when the request is satisfied + when the request is satisfied @@ -29540,7 +30044,7 @@ of the operation. g_file_create_async(). a #GFileOutputStream or %NULL on error. - Free the returned object with g_object_unref(). + Free the returned object with g_object_unref(). @@ -29559,7 +30063,7 @@ g_file_create_async(). writing to it. The file must not already exist. By default files created are generally readable by everyone, -but if you pass #G_FILE_CREATE_PRIVATE in @flags the file +but if you pass %G_FILE_CREATE_PRIVATE in @flags the file will be made readable only to the current user, to the level that is supported on the target filesystem. @@ -29580,8 +30084,8 @@ not supported, so make sure you really need to do read and write streaming, rather than just opening for reading or writing. a #GFileIOStream for the newly created - file, or %NULL on error. - Free the returned object with g_object_unref(). + file, or %NULL on error. + Free the returned object with g_object_unref(). @@ -29595,7 +30099,7 @@ streaming, rather than just opening for reading or writing. optional #GCancellable object, - %NULL to ignore + %NULL to ignore @@ -29628,12 +30132,12 @@ the result of the operation. optional #GCancellable object, - %NULL to ignore + %NULL to ignore a #GAsyncReadyCallback to call - when the request is satisfied + when the request is satisfied @@ -29647,7 +30151,7 @@ the result of the operation. g_file_create_readwrite_async(). a #GFileIOStream or %NULL on error. - Free the returned object with g_object_unref(). + Free the returned object with g_object_unref(). @@ -29694,7 +30198,7 @@ was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. optional #GCancellable object, - %NULL to ignore + %NULL to ignore @@ -29717,12 +30221,12 @@ g_unlink(). optional #GCancellable object, - %NULL to ignore + %NULL to ignore a #GAsyncReadyCallback to call - when the request is satisfied + when the request is satisfied @@ -29761,7 +30265,7 @@ reference count. This call does no blocking I/O. a new #GFile that is a duplicate - of the given #GFile. + of the given #GFile. @@ -29795,12 +30299,12 @@ was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. optional #GCancellable object, - %NULL to ignore + %NULL to ignore a #GAsyncReadyCallback to call - when the request is satisfied, or %NULL + when the request is satisfied, or %NULL @@ -29813,10 +30317,10 @@ was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. Finishes an asynchronous eject operation started by g_file_eject_mountable(). Use g_file_eject_mountable_with_operation_finish() - instead. + instead. %TRUE if the @file was ejected successfully. - %FALSE otherwise. + %FALSE otherwise. @@ -29853,17 +30357,17 @@ was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. a #GMountOperation, - or %NULL to avoid user interaction + or %NULL to avoid user interaction optional #GCancellable object, - %NULL to ignore + %NULL to ignore a #GAsyncReadyCallback to call - when the request is satisfied, or %NULL + when the request is satisfied, or %NULL @@ -29877,7 +30381,7 @@ was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. g_file_eject_mountable_with_operation(). %TRUE if the @file was ejected successfully. - %FALSE otherwise. + %FALSE otherwise. @@ -29905,7 +30409,9 @@ The wildcard "*" means all attributes, and a wildcard like "standard::*" means all attributes in the standard namespace. An example attribute query be "standard::*,owner::user". The standard attributes are available as defines, like -#G_FILE_ATTRIBUTE_STANDARD_NAME. +%G_FILE_ATTRIBUTE_STANDARD_NAME. %G_FILE_ATTRIBUTE_STANDARD_NAME should +always be specified if you plan to call g_file_enumerator_get_child() or +g_file_enumerator_iterate() on the returned enumerator. If @cancellable is not %NULL, then the operation can be cancelled by triggering the cancellable object from another thread. If the @@ -29917,7 +30423,7 @@ be returned. If the file is not a directory, the %G_IO_ERROR_NOT_DIRECTORY error will be returned. Other errors are possible too. A #GFileEnumerator if successful, - %NULL on error. Free the returned object with g_object_unref(). + %NULL on error. Free the returned object with g_object_unref(). @@ -29935,7 +30441,7 @@ error will be returned. Other errors are possible too. optional #GCancellable object, - %NULL to ignore + %NULL to ignore @@ -29973,12 +30479,12 @@ the operation. optional #GCancellable object, - %NULL to ignore + %NULL to ignore a #GAsyncReadyCallback to call when the - request is satisfied + request is satisfied @@ -29992,8 +30498,8 @@ the operation. See g_file_enumerate_children_async(). a #GFileEnumerator or %NULL - if an error occurred. - Free the returned object with g_object_unref(). + if an error occurred. + Free the returned object with g_object_unref(). @@ -30042,8 +30548,8 @@ triggering the cancellable object from another thread. If the operation was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. a #GMount where the @file is located - or %NULL on error. - Free the returned object with g_object_unref(). + or %NULL on error. + Free the returned object with g_object_unref(). @@ -30053,7 +30559,7 @@ was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. optional #GCancellable object, - %NULL to ignore + %NULL to ignore @@ -30081,12 +30587,12 @@ get the result of the operation. optional #GCancellable object, - %NULL to ignore + %NULL to ignore a #GAsyncReadyCallback to call - when the request is satisfied + when the request is satisfied @@ -30100,7 +30606,7 @@ get the result of the operation. See g_file_find_enclosing_mount_async(). #GMount for given @file or %NULL on error. - Free the returned object with g_object_unref(). + Free the returned object with g_object_unref(). @@ -30130,8 +30636,8 @@ attribute with g_file_query_info(). This call does no blocking I/O. string containing the #GFile's - base name, or %NULL if given #GFile is invalid. The returned string - should be freed with g_free() when no longer needed. + base name, or %NULL if given #GFile is invalid. The returned string + should be freed with g_free() when no longer needed. @@ -30151,7 +30657,7 @@ for instance to create that file. This call does no blocking I/O. a #GFile to a child specified by @name. - Free the returned object with g_object_unref(). + Free the returned object with g_object_unref(). @@ -30176,8 +30682,8 @@ type a filename in the file selector. This call does no blocking I/O. a #GFile to the specified child, or - %NULL if the display name couldn't be converted. - Free the returned object with g_object_unref(). + %NULL if the display name couldn't be converted. + Free the returned object with g_object_unref(). @@ -30199,8 +30705,8 @@ file system, then %NULL will be returned. This call does no blocking I/O. a #GFile structure to the - parent of the given #GFile or %NULL if there is no parent. Free - the returned object with g_object_unref(). + parent of the given #GFile or %NULL if there is no parent. Free + the returned object with g_object_unref(). @@ -30227,8 +30733,8 @@ to UTF-8 the pathname is used, otherwise the IRI is used This call does no blocking I/O. a string containing the #GFile's parse name. - The returned string should be freed with g_free() - when no longer needed. + The returned string should be freed with g_free() + when no longer needed. @@ -30245,8 +30751,8 @@ guaranteed to be an absolute, canonical path. It might contain symlinks. This call does no blocking I/O. string containing the #GFile's path, - or %NULL if no such path exists. The returned string should be freed - with g_free() when no longer needed. + or %NULL if no such path exists. The returned string should be freed + with g_free() when no longer needed. @@ -30262,9 +30768,9 @@ This call does no blocking I/O. This call does no blocking I/O. string with the relative path from - @descendant to @parent, or %NULL if @descendant doesn't have @parent as - prefix. The returned string should be freed with g_free() when - no longer needed. + @descendant to @parent, or %NULL if @descendant doesn't have @parent as + prefix. The returned string should be freed with g_free() when + no longer needed. @@ -30284,9 +30790,9 @@ This call does no blocking I/O. This call does no blocking I/O. a string containing the #GFile's URI. If the #GFile was constructed - with an invalid URI, an invalid URI is returned. - The returned string should be freed with g_free() - when no longer needed. + with an invalid URI, an invalid URI is returned. + The returned string should be freed with g_free() + when no longer needed. @@ -30310,8 +30816,8 @@ in that it might be replaced with one that is logically equivalent to the #GFile This call does no blocking I/O. a string containing the URI scheme for the given - #GFile or %NULL if the #GFile was constructed with an invalid URI. The - returned string should be freed with g_free() when no longer needed. + #GFile or %NULL if the #GFile was constructed with an invalid URI. The + returned string should be freed with g_free() when no longer needed. @@ -30329,7 +30835,7 @@ parent at all. If @parent is non-%NULL then %TRUE is only returned if @file is an immediate child of @parent. %TRUE if @file is an immediate child of @parent (or any parent in - the case that @parent is %NULL). + the case that @parent is %NULL). @@ -30360,7 +30866,7 @@ filesystem point of view), because the prefix of @file is an alias of @prefix. %TRUE if the @file's parent, grandparent, etc is @prefix, - %FALSE otherwise. + %FALSE otherwise. @@ -30380,8 +30886,8 @@ of @prefix. This call does no blocking I/O. %TRUE if #GFile's backend supports the - given URI scheme, %FALSE if URI scheme is %NULL, - not supported, or #GFile is invalid. + given URI scheme, %FALSE if URI scheme is %NULL, + not supported, or #GFile is invalid. @@ -30401,9 +30907,9 @@ This call does no blocking I/O. This call does no blocking I/O. 0 if @file is not a valid #GFile, otherwise an - integer that can be used as hash value for the #GFile. - This function is intended for easily hashing a #GFile to - add to a #GHashTable or similar data structure. + integer that can be used as hash value for the #GFile. + This function is intended for easily hashing a #GFile to + add to a #GHashTable or similar data structure. @@ -30463,7 +30969,7 @@ freed with g_bytes_unref() when no longer in use. a location to place the current - entity tag for the file, or %NULL if the entity tag is not needed + entity tag for the file, or %NULL if the entity tag is not needed @@ -30493,7 +30999,7 @@ See g_file_load_bytes() for more information. a #GAsyncReadyCallback to call when the - request is satisfied + request is satisfied @@ -30527,7 +31033,7 @@ See g_file_load_bytes() for more information. a location to place the current - entity tag for the file, or %NULL if the entity tag is not needed + entity tag for the file, or %NULL if the entity tag is not needed @@ -30543,7 +31049,7 @@ triggering the cancellable object from another thread. If the operation was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. %TRUE if the @file's contents were successfully loaded. - %FALSE if there were errors. + %FALSE if there were errors. @@ -30563,12 +31069,12 @@ was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. a location to place the length of the contents of the file, - or %NULL if the length is not needed + or %NULL if the length is not needed a location to place the current entity tag for the file, - or %NULL if the entity tag is not needed + or %NULL if the entity tag is not needed @@ -30617,7 +31123,7 @@ g_free() when no longer needed. If @etag_out is present, it will be set to the new entity tag for the @file. %TRUE if the load was successful. If %FALSE and @error is - present, it will be set appropriately. + present, it will be set appropriately. @@ -30637,12 +31143,12 @@ set to the new entity tag for the @file. a location to place the length of the contents of the file, - or %NULL if the length is not needed + or %NULL if the length is not needed a location to place the current entity tag for the file, - or %NULL if the entity tag is not needed + or %NULL if the entity tag is not needed @@ -30673,13 +31179,13 @@ was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. a - #GFileReadMoreCallback to receive partial data - and to specify whether further data should be read + #GFileReadMoreCallback to receive partial data + and to specify whether further data should be read a #GAsyncReadyCallback to call - when the request is satisfied + when the request is satisfied @@ -30696,7 +31202,7 @@ The returned @contents should be freed with g_free() when no longer needed. %TRUE if the load was successful. If %FALSE and @error is - present, it will be set appropriately. + present, it will be set appropriately. @@ -30716,12 +31222,12 @@ needed. a location to place the length of the contents of the file, - or %NULL if the length is not needed + or %NULL if the length is not needed a location to place the current entity tag for the file, - or %NULL if the entity tag is not needed + or %NULL if the entity tag is not needed @@ -30752,7 +31258,7 @@ was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. optional #GCancellable object, - %NULL to ignore + %NULL to ignore @@ -30773,12 +31279,12 @@ was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. optional #GCancellable object, - %NULL to ignore + %NULL to ignore a #GAsyncReadyCallback to call - when the request is satisfied + when the request is satisfied @@ -30831,7 +31337,7 @@ otherwise. optional #GCancellable object, - %NULL to ignore + %NULL to ignore @@ -30854,12 +31360,12 @@ was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. a string with the path for the target - of the new symlink + of the new symlink optional #GCancellable object, - %NULL to ignore + %NULL to ignore @@ -30885,7 +31391,7 @@ periodic progress updates while scanning. See the documentation for callback will be invoked. %TRUE if successful, with the out parameters set. - %FALSE otherwise, with @error set. + %FALSE otherwise, with @error set. @@ -30972,7 +31478,7 @@ g_file_measure_disk_usage_async(). See g_file_measure_disk_usage() for more information. %TRUE if successful, with the out parameters set. - %FALSE otherwise, with @error set. + %FALSE otherwise, with @error set. @@ -31007,8 +31513,8 @@ triggering the cancellable object from another thread. If the operation was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. a #GFileMonitor for the given @file, - or %NULL on error. - Free the returned object with g_object_unref(). + or %NULL on error. + Free the returned object with g_object_unref(). @@ -31022,7 +31528,7 @@ was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. optional #GCancellable object, - %NULL to ignore + %NULL to ignore @@ -31042,8 +31548,8 @@ directory for changes made via hard links; if you want to do this then you must register individual watches with g_file_monitor(). a #GFileMonitor for the given @file, - or %NULL on error. - Free the returned object with g_object_unref(). + or %NULL on error. + Free the returned object with g_object_unref(). @@ -31057,7 +31563,7 @@ you must register individual watches with g_file_monitor(). optional #GCancellable object, - %NULL to ignore + %NULL to ignore @@ -31079,8 +31585,8 @@ usage, and may not have any effect depending on the #GFileMonitor backend and/or filesystem type. a #GFileMonitor for the given @file, - or %NULL on error. - Free the returned object with g_object_unref(). + or %NULL on error. + Free the returned object with g_object_unref(). @@ -31094,7 +31600,7 @@ backend and/or filesystem type. optional #GCancellable object, - %NULL to ignore + %NULL to ignore @@ -31124,17 +31630,17 @@ was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. a #GMountOperation - or %NULL to avoid user interaction + or %NULL to avoid user interaction optional #GCancellable object, - %NULL to ignore + %NULL to ignore a #GAsyncReadyCallback to call - when the request is satisfied, or %NULL + when the request is satisfied, or %NULL @@ -31147,8 +31653,8 @@ was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. Finishes a mount operation started by g_file_mount_enclosing_volume(). %TRUE if successful. If an error has occurred, - this function will return %FALSE and set @error - appropriately if present. + this function will return %FALSE and set @error + appropriately if present. @@ -31188,17 +31694,17 @@ the result of the operation. a #GMountOperation, - or %NULL to avoid user interaction + or %NULL to avoid user interaction optional #GCancellable object, - %NULL to ignore + %NULL to ignore a #GAsyncReadyCallback to call - when the request is satisfied, or %NULL + when the request is satisfied, or %NULL @@ -31214,7 +31720,7 @@ Finish an asynchronous mount operation that was started with g_file_mount_mountable(). a #GFile or %NULL on error. - Free the returned object with g_object_unref(). + Free the returned object with g_object_unref(). @@ -31235,7 +31741,7 @@ used, otherwise a copy + delete fallback is used. The native implementation may support moving directories (for instance on moves inside the same filesystem), but the fallback code does not. -If the flag #G_FILE_COPY_OVERWRITE is specified an already +If the flag %G_FILE_COPY_OVERWRITE is specified an already existing @destination file is overwritten. If @cancellable is not %NULL, then the operation can be cancelled by @@ -31251,7 +31757,7 @@ transferred with the total number of bytes copied during the operation. If the @source file does not exist, then the %G_IO_ERROR_NOT_FOUND error is returned, independent on the status of the @destination. -If #G_FILE_COPY_OVERWRITE is not specified and the target exists, +If %G_FILE_COPY_OVERWRITE is not specified and the target exists, then the error %G_IO_ERROR_EXISTS is returned. If trying to overwrite a file over a directory, the %G_IO_ERROR_IS_DIRECTORY @@ -31259,7 +31765,7 @@ error is returned. If trying to overwrite a directory with a directory the %G_IO_ERROR_WOULD_MERGE error is returned. If the source is a directory and the target does not exist, or -#G_FILE_COPY_OVERWRITE is specified and the target is a file, then +%G_FILE_COPY_OVERWRITE is specified and the target is a file, then the %G_IO_ERROR_WOULD_RECURSE error may be returned (if the native move operation isn't available). @@ -31281,21 +31787,95 @@ move operation isn't available). optional #GCancellable object, - %NULL to ignore + %NULL to ignore #GFileProgressCallback - function for updates + function for updates gpointer to user data for - the callback function + the callback function + + Asynchronously moves a file @source to the location of @destination. For details of the behaviour, see g_file_move(). + +If @progress_callback is not %NULL, then that function that will be called +just like in g_file_move(). The callback will run in the default main context +of the thread calling g_file_move_async() — the same context as @callback is +run in. + +When the operation is finished, @callback will be called. You can then call +g_file_move_finish() to get the result of the operation. + + + + + + #GFile pointing to the source location + + + + #GFile pointing to the destination location + + + + set of #GFileCopyFlags + + + + the [I/O priority][io-priority] of the request + + + + optional #GCancellable object, + %NULL to ignore + + + + #GFileProgressCallback + function for updates + + + + gpointer to user data for + the callback function + + + + a #GAsyncReadyCallback to call + when the request is satisfied + + + + the data to pass to callback function + + + + + + Finishes an asynchronous file movement, started with +g_file_move_async(). + + %TRUE on successful file move, %FALSE otherwise. + + + + + input source #GFile + + + + a #GAsyncResult + + + + Opens an existing file for reading and writing. The result is a #GFileIOStream that can be used to read and write the contents @@ -31315,7 +31895,7 @@ really need to do read and write streaming, rather than just opening for reading or writing. #GFileIOStream or %NULL on error. - Free the returned object with g_object_unref(). + Free the returned object with g_object_unref(). @@ -31352,12 +31932,12 @@ the result of the operation. optional #GCancellable object, - %NULL to ignore + %NULL to ignore a #GAsyncReadyCallback to call - when the request is satisfied + when the request is satisfied @@ -31371,7 +31951,7 @@ the result of the operation. g_file_open_readwrite_async(). a #GFileIOStream or %NULL on error. - Free the returned object with g_object_unref(). + Free the returned object with g_object_unref(). @@ -31395,7 +31975,7 @@ generally more efficient. This call does no blocking I/O. string containing the #GFile's path, - or %NULL if no such path exists. The returned string is owned by @file. + or %NULL if no such path exists. The returned string is owned by @file. @@ -31406,7 +31986,7 @@ This call does no blocking I/O. - Polls a file of type #G_FILE_TYPE_MOUNTABLE. + Polls a file of type %G_FILE_TYPE_MOUNTABLE. If @cancellable is not %NULL, then the operation can be cancelled by triggering the cancellable object from another thread. If the operation @@ -31429,7 +32009,7 @@ the result of the operation. a #GAsyncReadyCallback to call - when the request is satisfied, or %NULL + when the request is satisfied, or %NULL @@ -31468,8 +32048,8 @@ triggering the cancellable object from another thread. If the operation was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. a #GAppInfo if the handle was found, - %NULL if there were errors. - When you are done with it, release it with g_object_unref() + %NULL if there were errors. + When you are done with it, release it with g_object_unref() @@ -31515,8 +32095,8 @@ was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. Finishes a g_file_query_default_handler_async() operation. a #GAppInfo if the handle was found, - %NULL if there were errors. - When you are done with it, release it with g_object_unref() + %NULL if there were errors. + When you are done with it, release it with g_object_unref() @@ -31555,7 +32135,7 @@ dialog. If you do this, you should make sure to also handle the errors that can happen due to races when you execute the operation. %TRUE if the file exists (and can be detected without error), - %FALSE otherwise (or if cancelled). + %FALSE otherwise (or if cancelled). @@ -31565,7 +32145,7 @@ that can happen due to races when you execute the operation. optional #GCancellable object, - %NULL to ignore + %NULL to ignore @@ -31577,8 +32157,8 @@ implemented using g_file_query_info() and as such does blocking I/O. The primary use case of this method is to check if a file is a regular file, directory, or symlink. - The #GFileType of the file and #G_FILE_TYPE_UNKNOWN - if the file does not exist + The #GFileType of the file and %G_FILE_TYPE_UNKNOWN + if the file does not exist @@ -31592,7 +32172,7 @@ a regular file, directory, or symlink. optional #GCancellable object, - %NULL to ignore + %NULL to ignore @@ -31611,9 +32191,9 @@ attributes or attribute wildcards. The wildcard "*" means all attributes, and a wildcard like "filesystem::*" means all attributes in the filesystem namespace. The standard namespace for filesystem attributes is "filesystem". Common attributes of interest are -#G_FILE_ATTRIBUTE_FILESYSTEM_SIZE (the total size of the filesystem -in bytes), #G_FILE_ATTRIBUTE_FILESYSTEM_FREE (number of bytes available), -and #G_FILE_ATTRIBUTE_FILESYSTEM_TYPE (type of the filesystem). +%G_FILE_ATTRIBUTE_FILESYSTEM_SIZE (the total size of the filesystem +in bytes), %G_FILE_ATTRIBUTE_FILESYSTEM_FREE (number of bytes available), +and %G_FILE_ATTRIBUTE_FILESYSTEM_TYPE (type of the filesystem). If @cancellable is not %NULL, then the operation can be cancelled by triggering the cancellable object from another thread. If the @@ -31625,7 +32205,7 @@ be returned. Other errors are possible too, and depend on what kind of filesystem the file is on. a #GFileInfo or %NULL if there was an error. - Free the returned object with g_object_unref(). + Free the returned object with g_object_unref(). @@ -31639,7 +32219,7 @@ kind of filesystem the file is on. optional #GCancellable object, - %NULL to ignore + %NULL to ignore @@ -31674,12 +32254,12 @@ operation. optional #GCancellable object, - %NULL to ignore + %NULL to ignore a #GAsyncReadyCallback to call - when the request is satisfied + when the request is satisfied @@ -31693,8 +32273,8 @@ operation. See g_file_query_filesystem_info_async(). #GFileInfo for given @file - or %NULL on error. - Free the returned object with g_object_unref(). + or %NULL on error. + Free the returned object with g_object_unref(). @@ -31722,7 +32302,7 @@ The wildcard "*" means all attributes, and a wildcard like "standard::*" means all attributes in the standard namespace. An example attribute query be "standard::*,owner::user". The standard attributes are available as defines, like -#G_FILE_ATTRIBUTE_STANDARD_NAME. +%G_FILE_ATTRIBUTE_STANDARD_NAME. If @cancellable is not %NULL, then the operation can be cancelled by triggering the cancellable object from another thread. If the @@ -31731,7 +32311,7 @@ returned. For symlinks, normally the information about the target of the symlink is returned, rather than information about the symlink -itself. However if you pass #G_FILE_QUERY_INFO_NOFOLLOW_SYMLINKS +itself. However if you pass %G_FILE_QUERY_INFO_NOFOLLOW_SYMLINKS in @flags the information about the symlink itself will be returned. Also, for symlinks that point to non-existing files the information about the symlink itself will be returned. @@ -31741,7 +32321,7 @@ returned. Other errors are possible too, and depend on what kind of filesystem the file is on. a #GFileInfo for the given @file, or %NULL - on error. Free the returned object with g_object_unref(). + on error. Free the returned object with g_object_unref(). @@ -31759,7 +32339,7 @@ filesystem the file is on. optional #GCancellable object, - %NULL to ignore + %NULL to ignore @@ -31796,12 +32376,12 @@ then call g_file_query_info_finish() to get the result of the operation. optional #GCancellable object, - %NULL to ignore + %NULL to ignore a #GAsyncReadyCallback to call when the - request is satisfied + request is satisfied @@ -31815,8 +32395,8 @@ then call g_file_query_info_finish() to get the result of the operation. See g_file_query_info_async(). #GFileInfo for given @file - or %NULL on error. Free the returned object with - g_object_unref(). + or %NULL on error. Free the returned object with + g_object_unref(). @@ -31843,8 +32423,8 @@ triggering the cancellable object from another thread. If the operation was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. a #GFileAttributeInfoList describing the settable attributes. - When you are done with it, release it with - g_file_attribute_info_list_unref() + When you are done with it, release it with + g_file_attribute_info_list_unref() @@ -31854,7 +32434,7 @@ was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. optional #GCancellable object, - %NULL to ignore + %NULL to ignore @@ -31869,8 +32449,8 @@ triggering the cancellable object from another thread. If the operation was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. a #GFileAttributeInfoList describing the writable namespaces. - When you are done with it, release it with - g_file_attribute_info_list_unref() + When you are done with it, release it with + g_file_attribute_info_list_unref() @@ -31880,7 +32460,7 @@ was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. optional #GCancellable object, - %NULL to ignore + %NULL to ignore @@ -31899,7 +32479,7 @@ error will be returned. Other errors are possible too, and depend on what kind of filesystem the file is on. #GFileInputStream or %NULL on error. - Free the returned object with g_object_unref(). + Free the returned object with g_object_unref(). @@ -31936,12 +32516,12 @@ of the operation. optional #GCancellable object, - %NULL to ignore + %NULL to ignore a #GAsyncReadyCallback to call - when the request is satisfied + when the request is satisfied @@ -31955,7 +32535,7 @@ of the operation. g_file_read_async(). a #GFileInputStream or %NULL on error. - Free the returned object with g_object_unref(). + Free the returned object with g_object_unref(). @@ -31981,7 +32561,7 @@ may write to a temporary file and then atomically rename over the destination when the stream is closed. By default files created are generally readable by everyone, -but if you pass #G_FILE_CREATE_PRIVATE in @flags the file +but if you pass %G_FILE_CREATE_PRIVATE in @flags the file will be made readable only to the current user, to the level that is supported on the target filesystem. @@ -32013,7 +32593,7 @@ file systems don't allow all file names, and may return an possible too, and depend on what kind of filesystem the file is on. a #GFileOutputStream or %NULL on error. - Free the returned object with g_object_unref(). + Free the returned object with g_object_unref(). @@ -32023,7 +32603,7 @@ possible too, and depend on what kind of filesystem the file is on. an optional [entity tag][gfile-etag] - for the current #GFile, or #NULL to ignore + for the current #GFile, or #NULL to ignore @@ -32036,7 +32616,7 @@ possible too, and depend on what kind of filesystem the file is on. optional #GCancellable object, - %NULL to ignore + %NULL to ignore @@ -32061,7 +32641,7 @@ of the operation. an [entity tag][gfile-etag] for the current #GFile, - or %NULL to ignore + or %NULL to ignore @@ -32078,12 +32658,12 @@ of the operation. optional #GCancellable object, - %NULL to ignore + %NULL to ignore a #GAsyncReadyCallback to call - when the request is satisfied + when the request is satisfied @@ -32111,7 +32691,7 @@ The returned @new_etag can be used to verify that the file hasn't changed the next time it is saved over. %TRUE if successful. If an error has occurred, this function - will return %FALSE and set @error appropriately if present. + will return %FALSE and set @error appropriately if present. @@ -32131,7 +32711,7 @@ changed the next time it is saved over. the old [entity-tag][gfile-etag] for the document, - or %NULL + or %NULL @@ -32144,8 +32724,8 @@ changed the next time it is saved over. a location to a new [entity tag][gfile-etag] - for the document. This should be freed with g_free() when no longer - needed, or %NULL + for the document. This should be freed with g_free() when no longer + needed, or %NULL @@ -32284,8 +32864,8 @@ tag for the document, if present. a location of a new [entity tag][gfile-etag] - for the document. This should be freed with g_free() when it is no - longer needed, or %NULL + for the document. This should be freed with g_free() when it is no + longer needed, or %NULL @@ -32295,7 +32875,7 @@ tag for the document, if present. g_file_replace_async(). a #GFileOutputStream, or %NULL on error. - Free the returned object with g_object_unref(). + Free the returned object with g_object_unref(). @@ -32322,7 +32902,7 @@ supported, so make sure you really need to do read and write streaming, rather than just opening for reading or writing. a #GFileIOStream or %NULL on error. - Free the returned object with g_object_unref(). + Free the returned object with g_object_unref(). @@ -32332,7 +32912,7 @@ rather than just opening for reading or writing. an optional [entity tag][gfile-etag] - for the current #GFile, or #NULL to ignore + for the current #GFile, or #NULL to ignore @@ -32345,7 +32925,7 @@ rather than just opening for reading or writing. optional #GCancellable object, - %NULL to ignore + %NULL to ignore @@ -32371,7 +32951,7 @@ the result of the operation. an [entity tag][gfile-etag] for the current #GFile, - or %NULL to ignore + or %NULL to ignore @@ -32388,12 +32968,12 @@ the result of the operation. optional #GCancellable object, - %NULL to ignore + %NULL to ignore a #GAsyncReadyCallback to call - when the request is satisfied + when the request is satisfied @@ -32407,7 +32987,7 @@ the result of the operation. g_file_replace_readwrite_async(). a #GFileIOStream, or %NULL on error. - Free the returned object with g_object_unref(). + Free the returned object with g_object_unref(). @@ -32424,11 +33004,12 @@ g_file_replace_readwrite_async(). Resolves a relative path for @file to an absolute path. -This call does no blocking I/O. +This call does no blocking I/O. + +If the @relative_path is an absolute path name, the resolution +is done absolutely (without taking @file path as base). - #GFile to the resolved path. - %NULL if @relative_path is %NULL or if @file is invalid. - Free the returned object with g_object_unref(). + a #GFile for the resolved path. @@ -32470,7 +33051,7 @@ was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. a pointer to the value (or the pointer - itself if the type is a pointer type) + itself if the type is a pointer type) @@ -32479,7 +33060,7 @@ was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. optional #GCancellable object, - %NULL to ignore + %NULL to ignore @@ -32494,7 +33075,7 @@ triggering the cancellable object from another thread. If the operation was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. %TRUE if the @attribute was successfully set to @value - in the @file, %FALSE otherwise. + in the @file, %FALSE otherwise. @@ -32516,7 +33097,7 @@ was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. optional #GCancellable object, - %NULL to ignore + %NULL to ignore @@ -32530,7 +33111,7 @@ triggering the cancellable object from another thread. If the operation was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. %TRUE if the @attribute was successfully set to @value - in the @file, %FALSE otherwise. + in the @file, %FALSE otherwise. @@ -32552,7 +33133,7 @@ was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. optional #GCancellable object, - %NULL to ignore + %NULL to ignore @@ -32587,7 +33168,7 @@ was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. optional #GCancellable object, - %NULL to ignore + %NULL to ignore @@ -32622,7 +33203,7 @@ was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. optional #GCancellable object, - %NULL to ignore + %NULL to ignore @@ -32636,7 +33217,7 @@ triggering the cancellable object from another thread. If the operation was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. %TRUE if the @attribute was successfully set to @value - in the @file, %FALSE otherwise. + in the @file, %FALSE otherwise. @@ -32658,7 +33239,7 @@ was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. optional #GCancellable object, - %NULL to ignore + %NULL to ignore @@ -32672,7 +33253,7 @@ triggering the cancellable object from another thread. If the operation was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. %TRUE if the @attribute was successfully set to @value - in the @file, %FALSE otherwise. + in the @file, %FALSE otherwise. @@ -32694,7 +33275,7 @@ was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. optional #GCancellable object, - %NULL to ignore + %NULL to ignore @@ -32730,7 +33311,7 @@ the result of the operation. optional #GCancellable object, - %NULL to ignore + %NULL to ignore @@ -32796,7 +33377,7 @@ was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. optional #GCancellable object, - %NULL to ignore + %NULL to ignore @@ -32808,7 +33389,7 @@ The display name is converted from UTF-8 to the correct encoding for the target filesystem if possible and the @file is renamed to this. If you want to implement a rename operation in the user interface the -edit name (#G_FILE_ATTRIBUTE_STANDARD_EDIT_NAME) should be used as the +edit name (%G_FILE_ATTRIBUTE_STANDARD_EDIT_NAME) should be used as the initial value in the rename widget, and then the result after editing should be passed to g_file_set_display_name(). @@ -32819,8 +33400,8 @@ triggering the cancellable object from another thread. If the operation was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. a #GFile specifying what @file was renamed to, - or %NULL if there was an error. - Free the returned object with g_object_unref(). + or %NULL if there was an error. + Free the returned object with g_object_unref(). @@ -32834,7 +33415,7 @@ was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. optional #GCancellable object, - %NULL to ignore + %NULL to ignore @@ -32866,12 +33447,12 @@ the result of the operation. optional #GCancellable object, - %NULL to ignore + %NULL to ignore a #GAsyncReadyCallback to call - when the request is satisfied + when the request is satisfied @@ -32885,7 +33466,7 @@ the result of the operation. g_file_set_display_name_async(). a #GFile or %NULL on error. - Free the returned object with g_object_unref(). + Free the returned object with g_object_unref(). @@ -32900,7 +33481,7 @@ g_file_set_display_name_async(). - Starts a file of type #G_FILE_TYPE_MOUNTABLE. + Starts a file of type %G_FILE_TYPE_MOUNTABLE. Using @start_operation, you can request callbacks when, for instance, passwords are needed during authentication. @@ -32963,7 +33544,7 @@ otherwise. - Stops a file of type #G_FILE_TYPE_MOUNTABLE. + Stops a file of type %G_FILE_TYPE_MOUNTABLE. If @cancellable is not %NULL, then the operation can be cancelled by triggering the cancellable object from another thread. If the operation @@ -32986,17 +33567,17 @@ the result of the operation. a #GMountOperation, - or %NULL to avoid user interaction. + or %NULL to avoid user interaction. optional #GCancellable object, - %NULL to ignore + %NULL to ignore a #GAsyncReadyCallback to call - when the request is satisfied, or %NULL + when the request is satisfied, or %NULL @@ -33012,7 +33593,7 @@ Finish an asynchronous stop operation that was started with g_file_stop_mountable(). %TRUE if the operation finished successfully. - %FALSE otherwise. + %FALSE otherwise. @@ -33064,7 +33645,7 @@ was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. optional #GCancellable object, - %NULL to ignore + %NULL to ignore @@ -33085,12 +33666,12 @@ was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. optional #GCancellable object, - %NULL to ignore + %NULL to ignore a #GAsyncReadyCallback to call - when the request is satisfied + when the request is satisfied @@ -33142,12 +33723,12 @@ the result of the operation. optional #GCancellable object, - %NULL to ignore + %NULL to ignore a #GAsyncReadyCallback to call - when the request is satisfied, or %NULL + when the request is satisfied, or %NULL @@ -33162,10 +33743,10 @@ the result of the operation. Finish an asynchronous unmount operation that was started with g_file_unmount_mountable(). Use g_file_unmount_mountable_with_operation_finish() - instead. + instead. %TRUE if the operation finished successfully. - %FALSE otherwise. + %FALSE otherwise. @@ -33180,7 +33761,7 @@ with g_file_unmount_mountable(). - Unmounts a file of type #G_FILE_TYPE_MOUNTABLE. + Unmounts a file of type %G_FILE_TYPE_MOUNTABLE. If @cancellable is not %NULL, then the operation can be cancelled by triggering the cancellable object from another thread. If the operation @@ -33203,17 +33784,17 @@ the result of the operation. a #GMountOperation, - or %NULL to avoid user interaction + or %NULL to avoid user interaction optional #GCancellable object, - %NULL to ignore + %NULL to ignore a #GAsyncReadyCallback to call - when the request is satisfied, or %NULL + when the request is satisfied, or %NULL @@ -33230,7 +33811,7 @@ Finish an asynchronous unmount operation that was started with g_file_unmount_mountable_with_operation(). %TRUE if the operation finished successfully. - %FALSE otherwise. + %FALSE otherwise. @@ -33980,6 +34561,9 @@ returned. directory of @enumerator. This function is primarily intended to be used inside loops with g_file_enumerator_next_file(). +To use this, %G_FILE_ATTRIBUTE_STANDARD_NAME must have been listed in the +attributes list used when creating the #GFileEnumerator. + This is a convenience method that's equivalent to: |[<!-- language="C" --> gchar *name = g_file_info_get_name (info); @@ -34979,7 +35563,7 @@ to be used as icon. a new #GFile that is a duplicate - of the given #GFile. + of the given #GFile. @@ -34994,9 +35578,9 @@ to be used as icon. 0 if @file is not a valid #GFile, otherwise an - integer that can be used as hash value for the #GFile. - This function is intended for easily hashing a #GFile to - add to a #GHashTable or similar data structure. + integer that can be used as hash value for the #GFile. + This function is intended for easily hashing a #GFile to + add to a #GHashTable or similar data structure. @@ -35043,8 +35627,8 @@ to be used as icon. %TRUE if #GFile's backend supports the - given URI scheme, %FALSE if URI scheme is %NULL, - not supported, or #GFile is invalid. + given URI scheme, %FALSE if URI scheme is %NULL, + not supported, or #GFile is invalid. @@ -35063,8 +35647,8 @@ to be used as icon. a string containing the URI scheme for the given - #GFile or %NULL if the #GFile was constructed with an invalid URI. The - returned string should be freed with g_free() when no longer needed. + #GFile or %NULL if the #GFile was constructed with an invalid URI. The + returned string should be freed with g_free() when no longer needed. @@ -35079,8 +35663,8 @@ to be used as icon. string containing the #GFile's - base name, or %NULL if given #GFile is invalid. The returned string - should be freed with g_free() when no longer needed. + base name, or %NULL if given #GFile is invalid. The returned string + should be freed with g_free() when no longer needed. @@ -35095,8 +35679,8 @@ to be used as icon. string containing the #GFile's path, - or %NULL if no such path exists. The returned string should be freed - with g_free() when no longer needed. + or %NULL if no such path exists. The returned string should be freed + with g_free() when no longer needed. @@ -35111,9 +35695,9 @@ to be used as icon. a string containing the #GFile's URI. If the #GFile was constructed - with an invalid URI, an invalid URI is returned. - The returned string should be freed with g_free() - when no longer needed. + with an invalid URI, an invalid URI is returned. + The returned string should be freed with g_free() + when no longer needed. @@ -35128,8 +35712,8 @@ to be used as icon. a string containing the #GFile's parse name. - The returned string should be freed with g_free() - when no longer needed. + The returned string should be freed with g_free() + when no longer needed. @@ -35144,8 +35728,8 @@ to be used as icon. a #GFile structure to the - parent of the given #GFile or %NULL if there is no parent. Free - the returned object with g_object_unref(). + parent of the given #GFile or %NULL if there is no parent. Free + the returned object with g_object_unref(). @@ -35160,7 +35744,7 @@ to be used as icon. %TRUE if the @file's parent, grandparent, etc is @prefix, - %FALSE otherwise. + %FALSE otherwise. @@ -35179,9 +35763,9 @@ to be used as icon. string with the relative path from - @descendant to @parent, or %NULL if @descendant doesn't have @parent as - prefix. The returned string should be freed with g_free() when - no longer needed. + @descendant to @parent, or %NULL if @descendant doesn't have @parent as + prefix. The returned string should be freed with g_free() when + no longer needed. @@ -35199,9 +35783,7 @@ to be used as icon. - #GFile to the resolved path. - %NULL if @relative_path is %NULL or if @file is invalid. - Free the returned object with g_object_unref(). + a #GFile for the resolved path. @@ -35220,8 +35802,8 @@ to be used as icon. a #GFile to the specified child, or - %NULL if the display name couldn't be converted. - Free the returned object with g_object_unref(). + %NULL if the display name couldn't be converted. + Free the returned object with g_object_unref(). @@ -35240,7 +35822,7 @@ to be used as icon. A #GFileEnumerator if successful, - %NULL on error. Free the returned object with g_object_unref(). + %NULL on error. Free the returned object with g_object_unref(). @@ -35258,7 +35840,7 @@ to be used as icon. optional #GCancellable object, - %NULL to ignore + %NULL to ignore @@ -35288,12 +35870,12 @@ to be used as icon. optional #GCancellable object, - %NULL to ignore + %NULL to ignore a #GAsyncReadyCallback to call when the - request is satisfied + request is satisfied @@ -35307,8 +35889,8 @@ to be used as icon. a #GFileEnumerator or %NULL - if an error occurred. - Free the returned object with g_object_unref(). + if an error occurred. + Free the returned object with g_object_unref(). @@ -35327,7 +35909,7 @@ to be used as icon. a #GFileInfo for the given @file, or %NULL - on error. Free the returned object with g_object_unref(). + on error. Free the returned object with g_object_unref(). @@ -35345,7 +35927,7 @@ to be used as icon. optional #GCancellable object, - %NULL to ignore + %NULL to ignore @@ -35375,12 +35957,12 @@ to be used as icon. optional #GCancellable object, - %NULL to ignore + %NULL to ignore a #GAsyncReadyCallback to call when the - request is satisfied + request is satisfied @@ -35394,8 +35976,8 @@ to be used as icon. #GFileInfo for given @file - or %NULL on error. Free the returned object with - g_object_unref(). + or %NULL on error. Free the returned object with + g_object_unref(). @@ -35414,7 +35996,7 @@ to be used as icon. a #GFileInfo or %NULL if there was an error. - Free the returned object with g_object_unref(). + Free the returned object with g_object_unref(). @@ -35428,7 +36010,7 @@ to be used as icon. optional #GCancellable object, - %NULL to ignore + %NULL to ignore @@ -35454,12 +36036,12 @@ to be used as icon. optional #GCancellable object, - %NULL to ignore + %NULL to ignore a #GAsyncReadyCallback to call - when the request is satisfied + when the request is satisfied @@ -35473,8 +36055,8 @@ to be used as icon. #GFileInfo for given @file - or %NULL on error. - Free the returned object with g_object_unref(). + or %NULL on error. + Free the returned object with g_object_unref(). @@ -35493,8 +36075,8 @@ to be used as icon. a #GMount where the @file is located - or %NULL on error. - Free the returned object with g_object_unref(). + or %NULL on error. + Free the returned object with g_object_unref(). @@ -35504,7 +36086,7 @@ to be used as icon. optional #GCancellable object, - %NULL to ignore + %NULL to ignore @@ -35526,12 +36108,12 @@ to be used as icon. optional #GCancellable object, - %NULL to ignore + %NULL to ignore a #GAsyncReadyCallback to call - when the request is satisfied + when the request is satisfied @@ -35545,7 +36127,7 @@ to be used as icon. #GMount for given @file or %NULL on error. - Free the returned object with g_object_unref(). + Free the returned object with g_object_unref(). @@ -35564,8 +36146,8 @@ to be used as icon. a #GFile specifying what @file was renamed to, - or %NULL if there was an error. - Free the returned object with g_object_unref(). + or %NULL if there was an error. + Free the returned object with g_object_unref(). @@ -35579,7 +36161,7 @@ to be used as icon. optional #GCancellable object, - %NULL to ignore + %NULL to ignore @@ -35605,12 +36187,12 @@ to be used as icon. optional #GCancellable object, - %NULL to ignore + %NULL to ignore a #GAsyncReadyCallback to call - when the request is satisfied + when the request is satisfied @@ -35624,7 +36206,7 @@ to be used as icon. a #GFile or %NULL on error. - Free the returned object with g_object_unref(). + Free the returned object with g_object_unref(). @@ -35643,8 +36225,8 @@ to be used as icon. a #GFileAttributeInfoList describing the settable attributes. - When you are done with it, release it with - g_file_attribute_info_list_unref() + When you are done with it, release it with + g_file_attribute_info_list_unref() @@ -35654,7 +36236,7 @@ to be used as icon. optional #GCancellable object, - %NULL to ignore + %NULL to ignore @@ -35678,8 +36260,8 @@ to be used as icon. a #GFileAttributeInfoList describing the writable namespaces. - When you are done with it, release it with - g_file_attribute_info_list_unref() + When you are done with it, release it with + g_file_attribute_info_list_unref() @@ -35689,7 +36271,7 @@ to be used as icon. optional #GCancellable object, - %NULL to ignore + %NULL to ignore @@ -35730,7 +36312,7 @@ to be used as icon. a pointer to the value (or the pointer - itself if the type is a pointer type) + itself if the type is a pointer type) @@ -35739,7 +36321,7 @@ to be used as icon. optional #GCancellable object, - %NULL to ignore + %NULL to ignore @@ -35766,7 +36348,7 @@ to be used as icon. optional #GCancellable object, - %NULL to ignore + %NULL to ignore @@ -35796,7 +36378,7 @@ to be used as icon. optional #GCancellable object, - %NULL to ignore + %NULL to ignore @@ -35836,7 +36418,7 @@ to be used as icon. #GFileInputStream or %NULL on error. - Free the returned object with g_object_unref(). + Free the returned object with g_object_unref(). @@ -35867,12 +36449,12 @@ to be used as icon. optional #GCancellable object, - %NULL to ignore + %NULL to ignore a #GAsyncReadyCallback to call - when the request is satisfied + when the request is satisfied @@ -35886,7 +36468,7 @@ to be used as icon. a #GFileInputStream or %NULL on error. - Free the returned object with g_object_unref(). + Free the returned object with g_object_unref(). @@ -35905,7 +36487,7 @@ to be used as icon. a #GFileOutputStream, or %NULL on error. - Free the returned object with g_object_unref(). + Free the returned object with g_object_unref(). @@ -35919,7 +36501,7 @@ to be used as icon. optional #GCancellable object, - %NULL to ignore + %NULL to ignore @@ -35945,12 +36527,12 @@ to be used as icon. optional #GCancellable object, - %NULL to ignore + %NULL to ignore a #GAsyncReadyCallback to call - when the request is satisfied + when the request is satisfied @@ -35964,8 +36546,8 @@ to be used as icon. a valid #GFileOutputStream - or %NULL on error. - Free the returned object with g_object_unref(). + or %NULL on error. + Free the returned object with g_object_unref(). @@ -35984,8 +36566,8 @@ to be used as icon. a #GFileOutputStream for the newly created - file, or %NULL on error. - Free the returned object with g_object_unref(). + file, or %NULL on error. + Free the returned object with g_object_unref(). @@ -35999,7 +36581,7 @@ to be used as icon. optional #GCancellable object, - %NULL to ignore + %NULL to ignore @@ -36025,12 +36607,12 @@ to be used as icon. optional #GCancellable object, - %NULL to ignore + %NULL to ignore a #GAsyncReadyCallback to call - when the request is satisfied + when the request is satisfied @@ -36044,7 +36626,7 @@ to be used as icon. a #GFileOutputStream or %NULL on error. - Free the returned object with g_object_unref(). + Free the returned object with g_object_unref(). @@ -36063,7 +36645,7 @@ to be used as icon. a #GFileOutputStream or %NULL on error. - Free the returned object with g_object_unref(). + Free the returned object with g_object_unref(). @@ -36073,7 +36655,7 @@ to be used as icon. an optional [entity tag][gfile-etag] - for the current #GFile, or #NULL to ignore + for the current #GFile, or #NULL to ignore @@ -36086,7 +36668,7 @@ to be used as icon. optional #GCancellable object, - %NULL to ignore + %NULL to ignore @@ -36104,7 +36686,7 @@ to be used as icon. an [entity tag][gfile-etag] for the current #GFile, - or %NULL to ignore + or %NULL to ignore @@ -36121,12 +36703,12 @@ to be used as icon. optional #GCancellable object, - %NULL to ignore + %NULL to ignore a #GAsyncReadyCallback to call - when the request is satisfied + when the request is satisfied @@ -36140,7 +36722,7 @@ to be used as icon. a #GFileOutputStream, or %NULL on error. - Free the returned object with g_object_unref(). + Free the returned object with g_object_unref(). @@ -36168,7 +36750,7 @@ to be used as icon. optional #GCancellable object, - %NULL to ignore + %NULL to ignore @@ -36190,12 +36772,12 @@ to be used as icon. optional #GCancellable object, - %NULL to ignore + %NULL to ignore a #GAsyncReadyCallback to call - when the request is satisfied + when the request is satisfied @@ -36236,7 +36818,7 @@ to be used as icon. optional #GCancellable object, - %NULL to ignore + %NULL to ignore @@ -36258,12 +36840,12 @@ to be used as icon. optional #GCancellable object, - %NULL to ignore + %NULL to ignore a #GAsyncReadyCallback to call - when the request is satisfied + when the request is satisfied @@ -36304,7 +36886,7 @@ to be used as icon. optional #GCancellable object, - %NULL to ignore + %NULL to ignore @@ -36326,12 +36908,12 @@ to be used as icon. optional #GCancellable object, - %NULL to ignore + %NULL to ignore a #GAsyncReadyCallback to call - when the request is satisfied + when the request is satisfied @@ -36372,12 +36954,12 @@ to be used as icon. a string with the path for the target - of the new symlink + of the new symlink optional #GCancellable object, - %NULL to ignore + %NULL to ignore @@ -36418,12 +37000,12 @@ to be used as icon. optional #GCancellable object, - %NULL to ignore + %NULL to ignore function to callback with - progress information, or %NULL if progress information is not needed + progress information, or %NULL if progress information is not needed @@ -36457,12 +37039,12 @@ to be used as icon. optional #GCancellable object, - %NULL to ignore + %NULL to ignore function to callback with progress - information, or %NULL if progress information is not needed + information, or %NULL if progress information is not needed @@ -36519,34 +37101,87 @@ to be used as icon. optional #GCancellable object, - %NULL to ignore + %NULL to ignore #GFileProgressCallback - function for updates + function for updates gpointer to user data for - the callback function + the callback function - - + + + + + #GFile pointing to the source location + + + + #GFile pointing to the destination location + + + + set of #GFileCopyFlags + + + + the [I/O priority][io-priority] of the request + + + + optional #GCancellable object, + %NULL to ignore + + + + #GFileProgressCallback + function for updates + + + + gpointer to user data for + the callback function + + + + a #GAsyncReadyCallback to call + when the request is satisfied + + + + the data to pass to callback function + + + - - + + - + %TRUE on successful file move, %FALSE otherwise. + + + + input source #GFile + + + + a #GAsyncResult + + + @@ -36565,17 +37200,17 @@ to be used as icon. a #GMountOperation, - or %NULL to avoid user interaction + or %NULL to avoid user interaction optional #GCancellable object, - %NULL to ignore + %NULL to ignore a #GAsyncReadyCallback to call - when the request is satisfied, or %NULL + when the request is satisfied, or %NULL @@ -36589,7 +37224,7 @@ to be used as icon. a #GFile or %NULL on error. - Free the returned object with g_object_unref(). + Free the returned object with g_object_unref(). @@ -36620,12 +37255,12 @@ to be used as icon. optional #GCancellable object, - %NULL to ignore + %NULL to ignore a #GAsyncReadyCallback to call - when the request is satisfied, or %NULL + when the request is satisfied, or %NULL @@ -36639,7 +37274,7 @@ to be used as icon. %TRUE if the operation finished successfully. - %FALSE otherwise. + %FALSE otherwise. @@ -36670,12 +37305,12 @@ to be used as icon. optional #GCancellable object, - %NULL to ignore + %NULL to ignore a #GAsyncReadyCallback to call - when the request is satisfied, or %NULL + when the request is satisfied, or %NULL @@ -36689,7 +37324,7 @@ to be used as icon. %TRUE if the @file was ejected successfully. - %FALSE otherwise. + %FALSE otherwise. @@ -36720,17 +37355,17 @@ to be used as icon. a #GMountOperation - or %NULL to avoid user interaction + or %NULL to avoid user interaction optional #GCancellable object, - %NULL to ignore + %NULL to ignore a #GAsyncReadyCallback to call - when the request is satisfied, or %NULL + when the request is satisfied, or %NULL @@ -36744,8 +37379,8 @@ to be used as icon. %TRUE if successful. If an error has occurred, - this function will return %FALSE and set @error - appropriately if present. + this function will return %FALSE and set @error + appropriately if present. @@ -36764,8 +37399,8 @@ to be used as icon. a #GFileMonitor for the given @file, - or %NULL on error. - Free the returned object with g_object_unref(). + or %NULL on error. + Free the returned object with g_object_unref(). @@ -36779,7 +37414,7 @@ to be used as icon. optional #GCancellable object, - %NULL to ignore + %NULL to ignore @@ -36789,8 +37424,8 @@ to be used as icon. a #GFileMonitor for the given @file, - or %NULL on error. - Free the returned object with g_object_unref(). + or %NULL on error. + Free the returned object with g_object_unref(). @@ -36804,7 +37439,7 @@ to be used as icon. optional #GCancellable object, - %NULL to ignore + %NULL to ignore @@ -36814,7 +37449,7 @@ to be used as icon. #GFileIOStream or %NULL on error. - Free the returned object with g_object_unref(). + Free the returned object with g_object_unref(). @@ -36845,12 +37480,12 @@ to be used as icon. optional #GCancellable object, - %NULL to ignore + %NULL to ignore a #GAsyncReadyCallback to call - when the request is satisfied + when the request is satisfied @@ -36864,7 +37499,7 @@ to be used as icon. a #GFileIOStream or %NULL on error. - Free the returned object with g_object_unref(). + Free the returned object with g_object_unref(). @@ -36883,8 +37518,8 @@ to be used as icon. a #GFileIOStream for the newly created - file, or %NULL on error. - Free the returned object with g_object_unref(). + file, or %NULL on error. + Free the returned object with g_object_unref(). @@ -36898,7 +37533,7 @@ to be used as icon. optional #GCancellable object, - %NULL to ignore + %NULL to ignore @@ -36924,12 +37559,12 @@ to be used as icon. optional #GCancellable object, - %NULL to ignore + %NULL to ignore a #GAsyncReadyCallback to call - when the request is satisfied + when the request is satisfied @@ -36943,7 +37578,7 @@ to be used as icon. a #GFileIOStream or %NULL on error. - Free the returned object with g_object_unref(). + Free the returned object with g_object_unref(). @@ -36962,7 +37597,7 @@ to be used as icon. a #GFileIOStream or %NULL on error. - Free the returned object with g_object_unref(). + Free the returned object with g_object_unref(). @@ -36972,7 +37607,7 @@ to be used as icon. an optional [entity tag][gfile-etag] - for the current #GFile, or #NULL to ignore + for the current #GFile, or #NULL to ignore @@ -36985,7 +37620,7 @@ to be used as icon. optional #GCancellable object, - %NULL to ignore + %NULL to ignore @@ -37003,7 +37638,7 @@ to be used as icon. an [entity tag][gfile-etag] for the current #GFile, - or %NULL to ignore + or %NULL to ignore @@ -37020,12 +37655,12 @@ to be used as icon. optional #GCancellable object, - %NULL to ignore + %NULL to ignore a #GAsyncReadyCallback to call - when the request is satisfied + when the request is satisfied @@ -37039,7 +37674,7 @@ to be used as icon. a #GFileIOStream, or %NULL on error. - Free the returned object with g_object_unref(). + Free the returned object with g_object_unref(). @@ -37122,17 +37757,17 @@ otherwise. a #GMountOperation, - or %NULL to avoid user interaction. + or %NULL to avoid user interaction. optional #GCancellable object, - %NULL to ignore + %NULL to ignore a #GAsyncReadyCallback to call - when the request is satisfied, or %NULL + when the request is satisfied, or %NULL @@ -37146,7 +37781,7 @@ otherwise. %TRUE if the operation finished successfully. - %FALSE otherwise. + %FALSE otherwise. @@ -37181,17 +37816,17 @@ otherwise. a #GMountOperation, - or %NULL to avoid user interaction + or %NULL to avoid user interaction optional #GCancellable object, - %NULL to ignore + %NULL to ignore a #GAsyncReadyCallback to call - when the request is satisfied, or %NULL + when the request is satisfied, or %NULL @@ -37205,7 +37840,7 @@ otherwise. %TRUE if the operation finished successfully. - %FALSE otherwise. + %FALSE otherwise. @@ -37236,17 +37871,17 @@ otherwise. a #GMountOperation, - or %NULL to avoid user interaction + or %NULL to avoid user interaction optional #GCancellable object, - %NULL to ignore + %NULL to ignore a #GAsyncReadyCallback to call - when the request is satisfied, or %NULL + when the request is satisfied, or %NULL @@ -37260,7 +37895,7 @@ otherwise. %TRUE if the @file was ejected successfully. - %FALSE otherwise. + %FALSE otherwise. @@ -37291,7 +37926,7 @@ otherwise. a #GAsyncReadyCallback to call - when the request is satisfied, or %NULL + when the request is satisfied, or %NULL @@ -37324,7 +37959,7 @@ otherwise. %TRUE if successful, with the out parameters set. - %FALSE otherwise, with @error set. + %FALSE otherwise, with @error set. @@ -37408,7 +38043,7 @@ otherwise. %TRUE if successful, with the out parameters set. - %FALSE otherwise, with @error set. + %FALSE otherwise, with @error set. @@ -39297,7 +39932,7 @@ pair. This is exactly how the events will be reported in the case that the %G_FILE_MONITOR_WATCH_MOVES flag is not in use. If using the deprecated flag %G_FILE_MONITOR_SEND_MOVED flag and @event_type is -#G_FILE_MONITOR_EVENT_MOVED, @file will be set to a #GFile containing the +%G_FILE_MONITOR_EVENT_MOVED, @file will be set to a #GFile containing the old path, and @other_file will be set to a #GFile containing the new path. In all the other cases, @other_file will be set to #NULL. @@ -40186,7 +40821,7 @@ complete directory names, and not file names. Indicates a hint from the file system whether files should be previewed in a file manager. Returned as the value of the key -#G_FILE_ATTRIBUTE_FILESYSTEM_USE_PREVIEW. +%G_FILE_ATTRIBUTE_FILESYSTEM_USE_PREVIEW. Only preview files if user has explicitly requested it. @@ -40482,7 +41117,7 @@ if (g_error_matches (error, G_IO_ERROR, G_IO_ERROR_FAILED)) } ]| but should instead treat all unrecognized error codes the same as -#G_IO_ERROR_FAILED. +%G_IO_ERROR_FAILED. See also #GPollableReturn for a cheaper way of returning %G_IO_ERROR_WOULD_BLOCK to callers without allocating a #GError. @@ -40747,7 +41382,7 @@ The list is sorted by priority, beginning with the highest priority. Gets the required type for @extension_point. the #GType that all implementations must have, - or #G_TYPE_INVALID if the extension point has no required type + or %G_TYPE_INVALID if the extension point has no required type @@ -40893,7 +41528,7 @@ for static builds. - + Required API for GIO modules to implement. This function is run after the module has been loaded into GIO, @@ -40917,7 +41552,7 @@ for static builds. - + Required API for GIO modules to implement. This function is run when the module is being unloaded from GIO, @@ -42075,6 +42710,12 @@ Do not free. + + + + + + @@ -45693,9 +46334,11 @@ of the list. See g_list_model_get_n_items(). - Gets the type of the items in @list. All items returned from -g_list_model_get_type() are of that type or a subtype, or are an -implementation of that interface. + Gets the type of the items in @list. + +All items returned from g_list_model_get_item() are of the type +returned by this function, or a subtype, or if the type is an +interface, they are an implementation of that interface. The item type of a #GListModel can not change during the life of the model. @@ -45728,11 +46371,15 @@ less efficient than iterating the list with increasing values for - Get the item at @position. If @position is greater than the number of -items in @list, %NULL is returned. + Get the item at @position. + +If @position is greater than the number of items in @list, %NULL is +returned. %NULL is never returned for an index that is smaller than the length -of the list. See g_list_model_get_n_items(). +of the list. + +See also: g_list_model_get_n_items() the item at @position. @@ -45749,9 +46396,11 @@ of the list. See g_list_model_get_n_items(). - Gets the type of the items in @list. All items returned from -g_list_model_get_type() are of that type or a subtype, or are an -implementation of that interface. + Gets the type of the items in @list. + +All items returned from g_list_model_get_item() are of the type +returned by this function, or a subtype, or if the type is an +interface, they are an implementation of that interface. The item type of a #GListModel can not change during the life of the model. @@ -45784,11 +46433,18 @@ less efficient than iterating the list with increasing values for - Get the item at @position. If @position is greater than the number of -items in @list, %NULL is returned. + Get the item at @position. + +If @position is greater than the number of items in @list, %NULL is +returned. %NULL is never returned for an index that is smaller than the length -of the list. See g_list_model_get_n_items(). +of the list. + +This function is meant to be used by language bindings in place +of g_list_model_get_item(). + +See also: g_list_model_get_n_items() the object at @position. @@ -45852,7 +46508,7 @@ same contents of the model. from @list. At @position, @removed items were removed and @added items were added in their place. -Note: If @removed != @added, the positions of all later items +Note: If `removed != added`, the positions of all later items in the model change. @@ -58185,7 +58841,7 @@ for more details. This differs from g_resolver_lookup_by_name() in that you can modify the lookup behavior with @flags. For example this can be used to limit -results with #G_RESOLVER_NAME_LOOKUP_FLAGS_IPV4_ONLY. +results with %G_RESOLVER_NAME_LOOKUP_FLAGS_IPV4_ONLY. a non-empty #GList of #GInetAddress, or %NULL on error. You @@ -58645,7 +59301,7 @@ for more details. This differs from g_resolver_lookup_by_name() in that you can modify the lookup behavior with @flags. For example this can be used to limit -results with #G_RESOLVER_NAME_LOOKUP_FLAGS_IPV4_ONLY. +results with %G_RESOLVER_NAME_LOOKUP_FLAGS_IPV4_ONLY. a non-empty #GList of #GInetAddress, or %NULL on error. You @@ -60719,7 +61375,7 @@ underlying settings. To make this even more convenient, GSettings looks for a boolean property with the name "sensitivity" and automatically binds it to the writability of the bound setting. If this 'magic' gets in the way, it can be suppressed with the -#G_SETTINGS_BIND_NO_SENSITIVITY flag. +%G_SETTINGS_BIND_NO_SENSITIVITY flag. ## Relocatable schemas # {#gsettings-relocatable} @@ -60947,9 +61603,9 @@ characters. Deprecated. Use g_settings_schema_source_list_schemas() instead - a list of relocatable - #GSettings schemas that are available, in no defined order. The list must - not be modified or freed. + a list of + relocatable #GSettings schemas that are available, in no defined order. + The list must not be modified or freed. @@ -60962,9 +61618,9 @@ If you used g_settings_list_schemas() to check for the presence of a particular schema, use g_settings_schema_source_lookup() instead of your whole loop. - a list of #GSettings - schemas that are available, in no defined order. The list must not be - modified or freed. + a list of + #GSettings schemas that are available, in no defined order. The list + must not be modified or freed. @@ -61324,7 +61980,10 @@ having a boolean type in the schema for @settings. @settings. The schema for the child settings object must have been declared -in the schema of @settings using a <child> element. +in the schema of @settings using a `<child>` element. + +The created child settings object will inherit the #GSettings:delay-apply +mode from @settings. a 'child' settings object @@ -61758,8 +62417,8 @@ may still be useful there for introspection reasons, however. You should free the return value with g_strfreev() when you are done with it. - a list of the children on - @settings, in no defined order + a list of the children + on @settings, in no defined order @@ -61782,8 +62441,8 @@ You should free the return value with g_strfreev() when you are done with it. Use g_settings_schema_list_keys() instead. - a list of the keys on - @settings, in no defined order + a list + of the keys on @settings, in no defined order @@ -62362,7 +63021,7 @@ callbacks when the writability of "x" changes. non-strictly-typed data that is stored in a hierarchy. To implement an alternative storage backend for #GSettings, you need to implement the #GSettingsBackend interface and then make it implement the -extension point #G_SETTINGS_BACKEND_EXTENSION_POINT_NAME. +extension point %G_SETTINGS_BACKEND_EXTENSION_POINT_NAME. The interface defines methods for reading and writing values, a method for determining if writing of certain values will fail @@ -62973,7 +63632,7 @@ directions. Do not try to bind a "sensitivity" property to the writability of the setting - When set in addition to #G_SETTINGS_BIND_GET, set the #GObject property + When set in addition to %G_SETTINGS_BIND_GET, set the #GObject property value initially from the setting, but do not listen for changes of the setting @@ -63301,8 +63960,8 @@ relocatable schemas, this function will return %NULL. You should free the return value with g_strfreev() when you are done with it. - a list of the children on - @settings, in no defined order + a list of + the children on @settings, in no defined order @@ -63321,8 +63980,8 @@ You should probably not be calling this function from "normal" code (since you should already know what keys are in your schema). This function is intended for introspection reasons. - a list of the keys on - @schema, in no defined order + a list + of the keys on @schema, in no defined order @@ -64569,7 +65228,7 @@ unrelated g_simple_async_result_set_handle_cancellation() function. - a #GQuark (usually #G_IO_ERROR). + a #GQuark (usually %G_IO_ERROR). @@ -64599,7 +65258,7 @@ Unless writing a binding, see g_simple_async_result_set_error(). - a #GQuark (usually #G_IO_ERROR). + a #GQuark (usually %G_IO_ERROR). @@ -64833,7 +65492,9 @@ arguments are interpreted. an optional list of hosts/IP addresses to not use a proxy for. - + + + @@ -64875,7 +65536,9 @@ See #GSimpleProxyResolver:ignore-hosts for more details on how the %NULL-terminated list of hosts/IP addresses to not use a proxy for - + + + @@ -68024,9 +68687,14 @@ g_socket_client_set_tls() for details. - + Gets the TLS validation flags used creating TLS connections via -@client. +@client. + +This function does not work as originally designed and is impossible +to use correctly. See #GSocketClient:tls-validation-flags for more +information. + Do not attempt to ignore validation errors. the TLS validation flags @@ -68223,9 +68891,14 @@ starts. - + Sets the TLS validation flags used when creating TLS connections -via @client. The default value is %G_TLS_CERTIFICATE_VALIDATE_ALL. +via @client. The default value is %G_TLS_CERTIFICATE_VALIDATE_ALL. + +This function does not work as originally designed and is impossible +to use correctly. See #GSocketClient:tls-validation-flags for more +information. + Do not attempt to ignore validation errors. @@ -68262,7 +68935,24 @@ via @client. The default value is %G_TLS_CERTIFICATE_VALIDATE_ALL. - + + The TLS validation flags used when creating TLS connections. The +default value is %G_TLS_CERTIFICATE_VALIDATE_ALL. + +GLib guarantees that if certificate verification fails, at least one +flag will be set, but it does not guarantee that all possible flags +will be set. Accordingly, you may not safely decide to ignore any +particular type of error. For example, it would be incorrect to mask +%G_TLS_CERTIFICATE_EXPIRED if you want to allow expired certificates, +because this could potentially be the only error flag set even if +other problems exist with the certificate. Therefore, there is no +safe way to use this property. This is not a horrible problem, +though, because you should not be attempting to ignore validation +errors anyway. If you really must ignore TLS certificate errors, +connect to the #GSocketClient::event signal, wait for it to be +emitted with %G_SOCKET_CLIENT_TLS_HANDSHAKING, and use that to +connect to #GTlsConnection::accept-certificate. + Do not attempt to ignore validation errors. @@ -70301,7 +70991,10 @@ but it will happen even without the call being explicitly made. As a matter of principle, #GSubprocess has no API that accepts shell-style space-separated strings. It will, however, match the typical shell behaviour of searching the PATH for executables that do -not contain a directory separator in their name. +not contain a directory separator in their name. By default, the `PATH` +of the current process is used. You can specify +%G_SUBPROCESS_FLAGS_SEARCH_PATH_FROM_ENVP to use the `PATH` of the +launcher environment instead. #GSubprocess attempts to have a very simple API for most uses (ie: spawning a subprocess with arguments and support for most typical @@ -70994,6 +71687,11 @@ example, you may not request both %G_SUBPROCESS_FLAGS_STDOUT_PIPE and been explicitly marked as close-on-exec. This flag has no effect over the "standard" file descriptors (stdin, stdout, stderr). + + if path searching is + needed when spawning the subprocess, use the `PATH` in the launcher + environment. (Since: 2.72) + This class contains a set of options for launching child processes, @@ -71777,6 +72475,10 @@ the operation's finish function (as a #GAsyncResult), and you can use g_task_propagate_pointer() or the like to extract the return value. +Using #GTask requires the thread-default #GMainContext from when the +#GTask was constructed to be running at least until the task has completed +and its data has been freed. + Here is an example for using GTask as a GAsyncResult: |[<!-- language="C" --> typedef struct { @@ -72815,7 +73517,7 @@ reference on it. Sets @task's result to @result (by copying it) and completes the task. -If @result is %NULL then a #GValue of type #G_TYPE_POINTER +If @result is %NULL then a #GValue of type %G_TYPE_POINTER with a value of %NULL will be used for the result. This is a very generic low-level method intended primarily for use @@ -72933,7 +73635,8 @@ For example, ‘Open file’ or ‘Connect to network host’ name of the #GSource used for idle completion of the task. This function may only be called before the @task is first used in a thread -other than the one it was constructed in. +other than the one it was constructed in. It is called automatically by +g_task_set_source_tag() if not called already. @@ -73018,12 +73721,18 @@ will also be completed right away. - Sets @task's source tag. You can use this to tag a task return + Sets @task's source tag. + +You can use this to tag a task return value with a particular pointer (usually a pointer to the function doing the tagging) and then later check it using g_task_get_source_tag() (or g_async_result_is_tagged()) in the task's "finish" function, to figure out if the response came from a -particular place. +particular place. + +A macro wrapper around this function will automatically set the +task’s name to the string form of @source_tag if it’s not already +set, for convenience. @@ -74024,30 +74733,50 @@ received by a client from a server), or the combination of a certificate and a private key (which is needed when acting as a #GTlsServerConnection). - Creates a #GTlsCertificate from the PEM-encoded data in @file. The -returned certificate will be the first certificate found in @file. As -of GLib 2.44, if @file contains more certificates it will try to load -a certificate chain. All certificates will be verified in the order -found (top-level certificate should be the last one in the file) and -the #GTlsCertificate:issuer property of each certificate will be set -accordingly if the verification succeeds. If any certificate in the -chain cannot be verified, the first certificate in the file will -still be returned. + Creates a #GTlsCertificate from the data in @file. + +As of 2.72, if the filename ends in `.p12` or `.pfx` the data is loaded by +g_tls_certificate_new_from_pkcs12() otherwise it is loaded by +g_tls_certificate_new_from_pem(). See those functions for +exact details. If @file cannot be read or parsed, the function will return %NULL and -set @error. Otherwise, this behaves like -g_tls_certificate_new_from_pem(). +set @error. the new certificate, or %NULL on error - file containing a PEM-encoded certificate to import + file containing a certificate to import + + Creates a #GTlsCertificate from the data in @file. + +If @file cannot be read or parsed, the function will return %NULL and +set @error. + +Any unknown file types will error with %G_IO_ERROR_NOT_SUPPORTED. +Currently only `.p12` and `.pfx` files are supported. +See g_tls_certificate_new_from_pkcs12() for more details. + + the new certificate, or %NULL on error + + + + + file containing a certificate to import + + + + password for PKCS #12 files + + + + Creates a #GTlsCertificate from the PEM-encoded data in @cert_file and @key_file. The returned certificate will be the first certificate @@ -74150,6 +74879,45 @@ Note that the private key is not accessed until usage and may fail or require a + + Creates a #GTlsCertificate from the data in @data. It must contain +a certificate and matching private key. + +If extra certificates are included they will be verified as a chain +and the #GTlsCertificate:issuer property will be set. +All other data will be ignored. + +You can pass as single password for all of the data which will be +used both for the PKCS #12 container as well as encrypted +private keys. If decryption fails it will error with +%G_TLS_ERROR_BAD_CERTIFICATE_PASSWORD. + +This constructor requires support in the current #GTlsBackend. +If support is missing it will error with +%G_IO_ERROR_NOT_SUPPORTED. + +Other parsing failures will error with %G_TLS_ERROR_BAD_CERTIFICATE. + + the new certificate, or %NULL if @data is invalid + + + + + DER-encoded PKCS #12 format certificate data + + + + + + the length of @data + + + + optional password for encrypted certificate data + + + + Creates one or more #GTlsCertificates from the PEM-encoded data in @file. If @file cannot be read or parsed, the function will @@ -74189,13 +74957,18 @@ in its chain) must be signed by it, or else @trusted_ca is %NULL, that bit will never be set in the return value. -(All other #GTlsCertificateFlags values will always be set or unset -as appropriate.) +GLib guarantees that if certificate verification fails, at least one +error will be set in the return value, but it does not guarantee +that all possible errors will be set. Accordingly, you may not safely +decide to ignore any particular type of error. For example, it would +be incorrect to mask %G_TLS_CERTIFICATE_EXPIRED if you want to allow +expired certificates, because this could potentially be the only +error flag set even if other problems exist with the certificate. Because TLS session context is not used, #GTlsCertificate may not perform as many checks on the certificates as #GTlsConnection would. -For example, certificate constraints cannot be honored, and some -revocation checks cannot be performed. The best way to verify TLS +For example, certificate constraints may not be honored, and +revocation checks may not be performed. The best way to verify TLS certificates used by a TLS connection is to let #GTlsConnection handle the verification. @@ -74355,13 +75128,18 @@ in its chain) must be signed by it, or else @trusted_ca is %NULL, that bit will never be set in the return value. -(All other #GTlsCertificateFlags values will always be set or unset -as appropriate.) +GLib guarantees that if certificate verification fails, at least one +error will be set in the return value, but it does not guarantee +that all possible errors will be set. Accordingly, you may not safely +decide to ignore any particular type of error. For example, it would +be incorrect to mask %G_TLS_CERTIFICATE_EXPIRED if you want to allow +expired certificates, because this could potentially be the only +error flag set even if other problems exist with the certificate. Because TLS session context is not used, #GTlsCertificate may not perform as many checks on the certificates as #GTlsConnection would. -For example, certificate constraints cannot be honored, and some -revocation checks cannot be performed. The best way to verify TLS +For example, certificate constraints may not be honored, and +revocation checks may not be performed. The best way to verify TLS certificates used by a TLS connection is to let #GTlsConnection handle the verification. @@ -74445,6 +75223,10 @@ GLib itself should make security decisions about TLS certificates. %NULL if unavailable. + + An optional password used when constructed with GTlsCertificate:pkcs12-data. + + A URI referencing the [PKCS \#11](https://docs.oasis-open.org/pkcs11/pkcs11-base/v3.0/os/pkcs11-base-v3.0-os.html) objects containing an X.509 certificate and optionally a private key. @@ -74453,6 +75235,14 @@ If %NULL, the certificate is either not backed by PKCS \#11 or the #GTlsBackend does not support PKCS \#11. + + The PKCS #12 formatted data used to construct the object. + +See also: g_tls_certificate_new_from_pkcs12() + + + + The DER (binary) encoded representation of the certificate's private key, in either [PKCS \#1 format](https://datatracker.ietf.org/doc/html/rfc8017) @@ -74547,10 +75337,16 @@ object containing a private key. A set of flags describing TLS certification validation. This can be -used to set which validation steps to perform (eg, with -g_tls_client_connection_set_validation_flags()), or to describe why -a particular certificate was rejected (eg, in -#GTlsConnection::accept-certificate). +used to describe why a particular certificate was rejected (for +example, in #GTlsConnection::accept-certificate). + +GLib guarantees that if certificate verification fails, at least one +flag will be set, but it does not guarantee that all possible flags +will be set. Accordingly, you may not safely decide to ignore any +particular type of error. For example, it would be incorrect to mask +%G_TLS_CERTIFICATE_EXPIRED if you want to allow expired certificates, +because this could potentially be the only error flag set even if +other problems exist with the certificate. The signing certificate authority is not known. @@ -74812,8 +75608,13 @@ g_tls_client_connection_set_use_ssl3() for details. - - Gets @conn's validation flags + + Gets @conn's validation flags + +This function does not work as originally designed and is impossible +to use correctly. See #GTlsClientConnection:validation-flags for more +information. + Do not attempt to ignore validation errors. the validation flags @@ -74870,10 +75671,15 @@ Since GLib 2.64, this function does nothing. - + Sets @conn's validation flags, to override the default set of checks performed when validating a server certificate. By default, -%G_TLS_CERTIFICATE_VALIDATE_ALL is used. +%G_TLS_CERTIFICATE_VALIDATE_ALL is used. + +This function does not work as originally designed and is impossible +to use correctly. See #GTlsClientConnection:validation-flags for more +information. + Do not attempt to ignore validation errors. @@ -74923,11 +75729,24 @@ g_tls_client_connection_set_use_ssl3() for details. SSL 3.0 is insecure. - + What steps to perform when validating a certificate received from a server. Server certificates that fail to validate in any of the ways indicated here will be rejected unless the application -overrides the default via #GTlsConnection::accept-certificate. +overrides the default via #GTlsConnection::accept-certificate. + +GLib guarantees that if certificate verification fails, at least one +flag will be set, but it does not guarantee that all possible flags +will be set. Accordingly, you may not safely decide to ignore any +particular type of error. For example, it would be incorrect to mask +%G_TLS_CERTIFICATE_EXPIRED if you want to allow expired certificates, +because this could potentially be the only error flag set even if +other problems exist with the certificate. Therefore, there is no +safe way to use this property. This is not a horrible problem, +though, because you should not be attempting to ignore validation +errors anyway. If you really must ignore TLS certificate errors, +connect to #GTlsConnection::accept-certificate. + Do not attempt to ignore validation errors. @@ -75269,7 +76088,9 @@ or failed. (It is not set during the emission of Gets the errors associated with validating @conn's peer's certificate, after the handshake has completed or failed. (It is -not set during the emission of #GTlsConnection::accept-certificate.) +not set during the emission of #GTlsConnection::accept-certificate.) + +See #GTlsConnection:peer-certificate-errors for more information. @conn's peer's certificate errors @@ -75509,7 +76330,10 @@ peer certificate validation will always set the %G_TLS_CERTIFICATE_UNKNOWN_CA error (meaning #GTlsConnection::accept-certificate will always be emitted on client-side connections, unless that bit is not set in -#GTlsClientConnection:validation-flags). +#GTlsClientConnection:validation-flags). + +There are nonintuitive security implications when using a non-default +database. See #GDtlsConnection:database for details. @@ -75660,7 +76484,20 @@ g_tls_connection_set_certificate(). The certificate database to use when verifying this TLS connection. If no certificate database is set, then the default database will be -used. See g_tls_backend_get_default_database(). +used. See g_tls_backend_get_default_database(). + +When using a non-default database, #GTlsConnection must fall back to using +the #GTlsDatabase to perform certificate verification using +g_tls_database_verify_chain(), which means certificate verification will +not be able to make use of TLS session context. This may be less secure. +For example, if you create your own #GTlsDatabase that just wraps the +default #GTlsDatabase, you might expect that you have not changed anything, +but this is not true because you may have altered the behavior of +#GTlsConnection by causing it to use g_tls_database_verify_chain(). See the +documentation of g_tls_database_verify_chain() for more details on specific +security checks that may not be performed. Accordingly, setting a +non-default database is discouraged except for specialty applications with +unusual security requirements. @@ -75689,7 +76526,15 @@ detect when a handshake has occurred.) it may not be if #GTlsClientConnection:validation-flags is not %G_TLS_CERTIFICATE_VALIDATE_ALL, or if #GTlsConnection::accept-certificate overrode the default -behavior. +behavior. + +GLib guarantees that if certificate verification fails, at least +one error will be set, but it does not guarantee that all possible +errors will be set. Accordingly, you may not safely decide to +ignore any particular type of error. For example, it would be +incorrect to mask %G_TLS_CERTIFICATE_EXPIRED if you want to allow +expired certificates, because this could potentially be the only +error flag set even if other problems exist with the certificate. @@ -75733,6 +76578,15 @@ certificate to be accepted despite @errors, return %TRUE from the signal handler. Otherwise, if no handler accepts the certificate, the handshake will fail with %G_TLS_ERROR_BAD_CERTIFICATE. +GLib guarantees that if certificate verification fails, this signal +will be emitted with at least one error will be set in @errors, but +it does not guarantee that all possible errors will be set. +Accordingly, you may not safely decide to ignore any particular +type of error. For example, it would be incorrect to ignore +%G_TLS_CERTIFICATE_EXPIRED if you want to allow expired +certificates, because this could potentially be the only error flag +set even if other problems exist with the certificate. + For a server-side connection, @peer_cert is the certificate presented by the client, if this was requested via the server's #GTlsServerConnection:authentication_mode. On the server side, @@ -76253,7 +77107,7 @@ of a TLS session. certificate in the chain by its #GTlsCertificate:issuer property. @purpose describes the purpose (or usage) for which the certificate -is being used. Typically @purpose will be set to #G_TLS_DATABASE_PURPOSE_AUTHENTICATE_SERVER +is being used. Typically @purpose will be set to %G_TLS_DATABASE_PURPOSE_AUTHENTICATE_SERVER which means that the certificate is being used to authenticate a server (and we are acting as the client). @@ -76269,13 +77123,21 @@ Currently there are no @flags, and %G_TLS_DATABASE_VERIFY_NONE should be used. If @chain is found to be valid, then the return value will be 0. If -@chain is found to be invalid, then the return value will indicate -the problems found. If the function is unable to determine whether -@chain is valid or not (eg, because @cancellable is triggered -before it completes) then the return value will be -%G_TLS_CERTIFICATE_GENERIC_ERROR and @error will be set -accordingly. @error is not set when @chain is successfully analyzed -but found to be invalid. +@chain is found to be invalid, then the return value will indicate at +least one problem found. If the function is unable to determine +whether @chain is valid (for example, because @cancellable is +triggered before it completes) then the return value will be +%G_TLS_CERTIFICATE_GENERIC_ERROR and @error will be set accordingly. +@error is not set when @chain is successfully analyzed but found to +be invalid. + +GLib guarantees that if certificate verification fails, at least one +error will be set in the return value, but it does not guarantee +that all possible errors will be set. Accordingly, you may not safely +decide to ignore any particular type of error. For example, it would +be incorrect to mask %G_TLS_CERTIFICATE_EXPIRED if you want to allow +expired certificates, because this could potentially be the only +error flag set even if other problems exist with the certificate. Prior to GLib 2.48, GLib's default TLS backend modified @chain to represent the certification path built by #GTlsDatabase during @@ -76287,14 +77149,14 @@ verification. Because TLS session context is not used, #GTlsDatabase may not perform as many checks on the certificates as #GTlsConnection would. -For example, certificate constraints cannot be honored, and some -revocation checks cannot be performed. The best way to verify TLS +For example, certificate constraints may not be honored, and +revocation checks may not be performed. The best way to verify TLS certificates used by a TLS connection is to let #GTlsConnection handle the verification. The TLS backend may attempt to look up and add missing certificates -to the chain. Since GLib 2.70, this may involve HTTP requests to -download missing certificates. +to the chain. This may involve HTTP requests to download missing +certificates. This function can block. Use g_tls_database_verify_chain_async() to perform the verification operation asynchronously. @@ -76747,7 +77609,7 @@ of a TLS session. certificate in the chain by its #GTlsCertificate:issuer property. @purpose describes the purpose (or usage) for which the certificate -is being used. Typically @purpose will be set to #G_TLS_DATABASE_PURPOSE_AUTHENTICATE_SERVER +is being used. Typically @purpose will be set to %G_TLS_DATABASE_PURPOSE_AUTHENTICATE_SERVER which means that the certificate is being used to authenticate a server (and we are acting as the client). @@ -76763,13 +77625,21 @@ Currently there are no @flags, and %G_TLS_DATABASE_VERIFY_NONE should be used. If @chain is found to be valid, then the return value will be 0. If -@chain is found to be invalid, then the return value will indicate -the problems found. If the function is unable to determine whether -@chain is valid or not (eg, because @cancellable is triggered -before it completes) then the return value will be -%G_TLS_CERTIFICATE_GENERIC_ERROR and @error will be set -accordingly. @error is not set when @chain is successfully analyzed -but found to be invalid. +@chain is found to be invalid, then the return value will indicate at +least one problem found. If the function is unable to determine +whether @chain is valid (for example, because @cancellable is +triggered before it completes) then the return value will be +%G_TLS_CERTIFICATE_GENERIC_ERROR and @error will be set accordingly. +@error is not set when @chain is successfully analyzed but found to +be invalid. + +GLib guarantees that if certificate verification fails, at least one +error will be set in the return value, but it does not guarantee +that all possible errors will be set. Accordingly, you may not safely +decide to ignore any particular type of error. For example, it would +be incorrect to mask %G_TLS_CERTIFICATE_EXPIRED if you want to allow +expired certificates, because this could potentially be the only +error flag set even if other problems exist with the certificate. Prior to GLib 2.48, GLib's default TLS backend modified @chain to represent the certification path built by #GTlsDatabase during @@ -76781,14 +77651,14 @@ verification. Because TLS session context is not used, #GTlsDatabase may not perform as many checks on the certificates as #GTlsConnection would. -For example, certificate constraints cannot be honored, and some -revocation checks cannot be performed. The best way to verify TLS +For example, certificate constraints may not be honored, and +revocation checks may not be performed. The best way to verify TLS certificates used by a TLS connection is to let #GTlsConnection handle the verification. The TLS backend may attempt to look up and add missing certificates -to the chain. Since GLib 2.70, this may involve HTTP requests to -download missing certificates. +to the chain. This may involve HTTP requests to download missing +certificates. This function can block. Use g_tls_database_verify_chain_async() to perform the verification operation asynchronously. @@ -77367,6 +78237,10 @@ TLS-related routine. The TLS handshake failed because the client sent the fallback SCSV, indicating a protocol downgrade attack. Since: 2.60 + + + The certificate failed + to load because a password was incorrect. Since: 2.72 Gets the TLS error quark. @@ -78741,9 +79615,12 @@ for UNIX domain sockets. It contains functions to do some of the UNIX socket specific functionality like passing file descriptors. -Note that `<gio/gunixconnection.h>` belongs to the UNIX-specific -GIO interfaces, thus you have to use the `gio-unix-2.0.pc` -pkg-config file when using it. +Since GLib 2.72, #GUnixConnection is available on all platforms. It requires +underlying system support (such as Windows 10 with `AF_UNIX`) at run time. + +Before GLib 2.72, `<gio/gunixconnection.h>` belonged to the UNIX-specific GIO +interfaces, thus you had to use the `gio-unix-2.0.pc` pkg-config file when +using it. This is no longer necessary since GLib 2.72. Receives credentials from the sending end of the connection. The sending end has to call g_unix_connection_send_credentials() (or @@ -78985,7 +79862,15 @@ stream-oriented UNIX sockets, see g_unix_connection_send_credentials() and g_unix_connection_receive_credentials(). To receive credentials of a foreign process connected to a socket, use -g_socket_get_credentials(). +g_socket_get_credentials(). + +Since GLib 2.72, #GUnixCredentialMessage is available on all platforms. It +requires underlying system support (such as Windows 10 with `AF_UNIX`) at run +time. + +Before GLib 2.72, `<gio/gunixcredentialsmessage.h>` belonged to the UNIX-specific +GIO interfaces, thus you had to use the `gio-unix-2.0.pc` pkg-config file +when using it. This is no longer necessary since GLib 2.72. Creates a new #GUnixCredentialsMessage with credentials matching the current processes. @@ -79994,9 +80879,13 @@ systems, function calls may return %G_IO_ERROR_NOT_SUPPORTED errors. You can use g_unix_socket_address_abstract_names_supported() to see if abstract names are supported. -Note that `<gio/gunixsocketaddress.h>` belongs to the UNIX-specific GIO -interfaces, thus you have to use the `gio-unix-2.0.pc` pkg-config file -when using it. +Since GLib 2.72, #GUnixSocketAddress is available on all platforms. It +requires underlying system support (such as Windows 10 with `AF_UNIX`) at +run time. + +Before GLib 2.72, `<gio/gunixsocketaddress.h>` belonged to the UNIX-specific +GIO interfaces, thus you had to use the `gio-unix-2.0.pc` pkg-config file +when using it. This is no longer necessary since GLib 2.72. Creates a new #GUnixSocketAddress for @path. @@ -81021,13 +81910,13 @@ allows to obtain an 'identifier' for the volume. There can be different kinds of identifiers, such as Hal UDIs, filesystem labels, traditional Unix devices (e.g. `/dev/sda2`), UUIDs. GIO uses predefined strings as names for the different kinds of identifiers: -#G_VOLUME_IDENTIFIER_KIND_UUID, #G_VOLUME_IDENTIFIER_KIND_LABEL, etc. +%G_VOLUME_IDENTIFIER_KIND_UUID, %G_VOLUME_IDENTIFIER_KIND_LABEL, etc. Use g_volume_get_identifier() to obtain an identifier for a volume. -Note that #G_VOLUME_IDENTIFIER_KIND_HAL_UDI will only be available +Note that %G_VOLUME_IDENTIFIER_KIND_HAL_UDI will only be available when the gvfs hal volume monitor is in use. Other volume monitors -will generally be able to provide the #G_VOLUME_IDENTIFIER_KIND_UNIX_DEVICE +will generally be able to provide the %G_VOLUME_IDENTIFIER_KIND_UNIX_DEVICE identifier, which can be used to obtain a hal device by means of libhal_manager_find_device_string_match(). @@ -83676,7 +84565,9 @@ The returned object is a singleton, that is, shared with other callers of g_bus_get() and g_bus_get_sync() for @bus_type. In the event that you need a private message bus connection, use g_dbus_address_get_for_bus_sync() and -g_dbus_connection_new_for_address(). +g_dbus_connection_new_for_address() with +G_DBUS_CONNECTION_FLAGS_AUTHENTICATION_CLIENT and +G_DBUS_CONNECTION_FLAGS_MESSAGE_BUS_CONNECTION flags. Note that the returned #GDBusConnection object will (usually) have the #GDBusConnection:exit-on-close property set to %TRUE. @@ -83706,7 +84597,9 @@ The returned object is a singleton, that is, shared with other callers of g_bus_get() and g_bus_get_sync() for @bus_type. In the event that you need a private message bus connection, use g_dbus_address_get_for_bus_sync() and -g_dbus_connection_new_for_address(). +g_dbus_connection_new_for_address() with +G_DBUS_CONNECTION_FLAGS_AUTHENTICATION_CLIENT and +G_DBUS_CONNECTION_FLAGS_MESSAGE_BUS_CONNECTION flags. Note that the returned #GDBusConnection object will (usually) have the #GDBusConnection:exit-on-close property set to %TRUE. @@ -84280,8 +85173,8 @@ on the other argument. - a string, or %NULL - + a path, or %NULL + a stream of data, or %NULL @@ -84653,7 +85546,7 @@ create the #GError. Also, @dbus_error_name is added to the error message such that it can be recovered with g_dbus_error_get_remote_error(). Otherwise, a #GError with the error code %G_IO_ERROR_DBUS_ERROR -in the #G_IO_ERROR error domain is returned. Also, @dbus_error_name is +in the %G_IO_ERROR error domain is returned. Also, @dbus_error_name is added to the error message such that it can be recovered with g_dbus_error_get_remote_error(). @@ -84844,23 +85737,23 @@ parameter. The conversion is using the following rules: -- #G_TYPE_STRING: 's', 'o', 'g' or 'ay' -- #G_TYPE_STRV: 'as', 'ao' or 'aay' -- #G_TYPE_BOOLEAN: 'b' -- #G_TYPE_UCHAR: 'y' -- #G_TYPE_INT: 'i', 'n' -- #G_TYPE_UINT: 'u', 'q' -- #G_TYPE_INT64 'x' -- #G_TYPE_UINT64: 't' -- #G_TYPE_DOUBLE: 'd' -- #G_TYPE_VARIANT: Any #GVariantType +- `G_TYPE_STRING`: 's', 'o', 'g' or 'ay' +- `G_TYPE_STRV`: 'as', 'ao' or 'aay' +- `G_TYPE_BOOLEAN`: 'b' +- `G_TYPE_UCHAR`: 'y' +- `G_TYPE_INT`: 'i', 'n' +- `G_TYPE_UINT`: 'u', 'q' +- `G_TYPE_INT64`: 'x' +- `G_TYPE_UINT64`: 't' +- `G_TYPE_DOUBLE`: 'd' +- `G_TYPE_VARIANT`: Any #GVariantType -This can fail if e.g. @gvalue is of type #G_TYPE_STRING and @type -is ['i'][G-VARIANT-TYPE-INT32:CAPS]. It will also fail for any #GType -(including e.g. #G_TYPE_OBJECT and #G_TYPE_BOXED derived-types) not +This can fail if e.g. @gvalue is of type %G_TYPE_STRING and @type +is 'i', i.e. %G_VARIANT_TYPE_INT32. It will also fail for any #GType +(including e.g. %G_TYPE_OBJECT and %G_TYPE_BOXED derived-types) not in the table above. -Note that if @gvalue is of type #G_TYPE_VARIANT and its value is +Note that if @gvalue is of type %G_TYPE_VARIANT and its value is %NULL, the empty #GVariant instance (never %NULL) for @type is returned (e.g. 0 for scalar types, the empty string for string types, '/' for object path types, the empty array for any array type and so on). @@ -85161,7 +86054,7 @@ for you there. It is also always possible to use this function with #GOptionContext arguments of type %G_OPTION_ARG_FILENAME. a new #GFile. - Free the returned object with g_object_unref(). + Free the returned object with g_object_unref(). @@ -85210,7 +86103,7 @@ operation if @path is malformed. a string containing a relative or absolute path. - The string must be encoded in the glib filename encoding. + The string must be encoded in the glib filename encoding. @@ -85222,7 +86115,7 @@ operation if @uri is malformed or if the uri type is not supported. a new #GFile for the given @uri. - Free the returned object with g_object_unref(). + Free the returned object with g_object_unref(). @@ -85245,7 +86138,7 @@ Unlike the other #GFile constructors, this will return %NULL if a temporary file could not be created. a new #GFile. - Free the returned object with g_object_unref(). + Free the returned object with g_object_unref(). @@ -85302,7 +86195,10 @@ is explained in detail in the [D-Bus specification](http://dbus.freedesktop.org/doc/dbus-specification.html#addresses). TCP D-Bus connections are supported, but accessing them via a proxy is -currently not supported. +currently not supported. + +Since GLib 2.72, `unix:` addresses are supported on Windows with `AF_UNIX` +support (Windows 10). All facilities that return errors from remote methods (such as @@ -86472,7 +87368,7 @@ information. - a #GQuark containing the error domain (usually #G_IO_ERROR). + a #GQuark containing the error domain (usually %G_IO_ERROR). diff --git a/Graphene-1.0.gir b/Graphene-1.0.gir index 618c08c..f87169c 100644 --- a/Graphene-1.0.gir +++ b/Graphene-1.0.gir @@ -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). +[available online](http://web.archive.org/web/20150512160205/http://tog.acm.org/resources/GraphicsGems/gemsii/unmatrix.c). `true` if the matrix could be decomposed diff --git a/Gsk-4.0.gir b/Gsk-4.0.gir index 0a83883..263b201 100644 --- a/Gsk-4.0.gir +++ b/Gsk-4.0.gir @@ -146,7 +146,7 @@ node onto the @bottom node. - the blur radius + the blur radius. Must be positive @@ -807,9 +807,8 @@ Adding this node has no visual effect. - A GSK renderer that is using OpenGL. - - Creates a new `GskRenderer` using OpenGL. + + Creates a new `GskRenderer` using the new OpenGL renderer. a new GL renderer @@ -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,16 +1406,16 @@ renderer before using it. Arguments for the uniforms - - array of child nodes, these will - be rendered to textures and used as input. + + array of child nodes, + these will be rendered to textures and used as input. Length of @children (currenly the GL backend supports - up to 4 children) + up to 4 children) @@ -1551,18 +1550,6 @@ code, and what the corresponding C type is on the Gtk side. - - - - - - - - - - - - @@ -1786,34 +1773,16 @@ points and color stops, and render that into the area given by @bounds. - - - - - - - - - - - - - - - - - - - - - Creates a new `GskRenderer` using the new OpenGL renderer. + + + Same as gsk_gl_renderer_new(). + Use gsk_gl_renderer_new() - a new NGL renderer + a new GL renderer - A render node controlling the opacity of its single child node. @@ -2198,9 +2167,9 @@ in horizontal orientation and by @vradius in vertial orientation. - + `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. - Loads data previously created via gsk_render_node_serialize(). + Loads data previously created via [method@Gsk.RenderNode.serialize]. For a discussion of the supported format, see that function. @@ -2240,7 +2209,7 @@ For a discussion of the supported format, see that function. 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. @@ -2339,8 +2308,8 @@ freed. - This function is equivalent to calling gsk_render_node_serialize() -followed by g_file_set_contents(). + 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. Creates the resources needed by the @renderer to render the scene -graph. +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. + Whether the renderer was successfully realized @@ -2515,15 +2491,17 @@ graph. a `GskRenderer` - + the `GdkSurface` renderer will be used on - Renders the scene graph, described by a tree of `GskRenderNode` instances, -ensuring that the given @region gets redrawn. + 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. - a `GskRenderer` + a realized `GskRenderer` @@ -2593,7 +2571,7 @@ transform node and pass that node instead. - Whether the renderer has been associated with a surface. + Whether the renderer has been associated with a surface or draw context. @@ -3512,7 +3490,7 @@ color glyphs. - + Checks whether the text @node has color glyphs. %TRUE if the text node has color glyphs @@ -3687,7 +3665,7 @@ The result of this function can later be parsed with Acquires a reference on the given `GskTransform`. - + the `GskTransform` with an additional reference @@ -3700,7 +3678,7 @@ The result of this function can later be parsed with Rotates @next @angle degrees in 2D - or in 3D-speak, around the z axis. - + The new transform @@ -3719,7 +3697,7 @@ The result of this function can later be parsed with Rotates @next @angle degrees around @axis. For a rotation in 2D space, use [method@Gsk.Transform.rotate] - + The new transform @@ -3742,7 +3720,7 @@ For a rotation in 2D space, use [method@Gsk.Transform.rotate] Scales @next in 2-dimensional space by the given factors. Use [method@Gsk.Transform.scale_3d] to scale in all 3 dimensions. - + The new transform @@ -3763,7 +3741,7 @@ Use [method@Gsk.Transform.scale_3d] to scale in all 3 dimensions. Scales @next by the given factors. - + The new transform @@ -3786,6 +3764,27 @@ Use [method@Gsk.Transform.scale_3d] to scale in all 3 dimensions. + + Applies a skew transform. + + The new transform + + + + + the next transform + + + + skew factor, in degrees, on the X axis + + + + skew factor, in degrees, on the Y axis + + + + Converts a `GskTransform` to a 2D transformation matrix. @@ -3838,10 +3837,80 @@ Cairo. + + 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, &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() >= %GSK_TRANSFORM_CATEGORY_2D + +to check. + + + + + + a `GskTransform` + + + + return location for the skew factor + in the x direction + + + + return location for the skew factor + in the y direction + + + + return location for the scale + factor in the x direction + + + + return location for the scale + factor in the y direction + + + + return location for the rotation angle + + + + return location for the translation + in the x direction + + + + return location for the translation + in the y direction + + + + 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, + &GRAPHENE_POINT_T (dx, dy)), + sx, sy) + +@self must be a 2D affine transformation. If you are not sure, use gsk_transform_get_category() >= %GSK_TRANSFORM_CATEGORY_2D_AFFINE @@ -3943,7 +4012,7 @@ to check. Applies all the operations from @other to @next. - + The new transform @@ -4004,7 +4073,7 @@ The result is the bounding box containing the coplanar quad. Translates @next in 2-dimensional space by @point. - + The new transform @@ -4021,7 +4090,7 @@ The result is the bounding box containing the coplanar quad. Translates @next by @point. - + The new transform @@ -4163,6 +4232,14 @@ with the given @transform. + + Evaluates to %TRUE if @value was initialized with %GSK_TYPE_RENDER_NODE. + + + a `GValue` + + + @@ -4192,5 +4269,68 @@ returned and %NULL is put in @out_transform. + + Retrieves the `GskRenderNode` stored inside the given `value`, and acquires +a reference to it. + + a `GskRenderNode` + + + + + a [struct@GObject.Value] initialized with type `GSK_TYPE_RENDER_NODE` + + + + + + Retrieves the `GskRenderNode` stored inside the given `value`. + + a `GskRenderNode` + + + + + a `GValue` initialized with type `GSK_TYPE_RENDER_NODE` + + + + + + Stores the given `GskRenderNode` inside `value`. + +The [struct@GObject.Value] will acquire a reference to the `node`. + + + + + + a [struct@GObject.Value] initialized with type `GSK_TYPE_RENDER_NODE` + + + + a `GskRenderNode` + + + + + + Stores the given `GskRenderNode` inside `value`. + +This function transfers the ownership of the `node` to the `GValue`. + + + + + + a [struct@GObject.Value] initialized with type `GSK_TYPE_RENDER_NODE` + + + + a `GskRenderNode` + + + + diff --git a/Gtk-3.0.gir b/Gtk-3.0.gir index 5d3e38f..eaa8490 100644 --- a/Gtk-3.0.gir +++ b/Gtk-3.0.gir @@ -9105,7 +9105,7 @@ container that has been allocated. - + 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. @@ -38881,7 +38881,7 @@ The default binding for this signal is `Alt + Up`. - + @@ -46804,7 +46804,7 @@ shown if the window can't be closed). - + @@ -48359,7 +48359,7 @@ replaced by the slave corresponding to the new context id. signal in case of conversion failure. - + 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. @@ -63093,7 +63093,7 @@ against at application run time. - + 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. @@ -73504,7 +73504,7 @@ instance with gtk_socket_add_id(). - + @@ -90933,7 +90933,7 @@ want to reuse it you must add a signal handler that returns %TRUE. - + diff --git a/Gtk-4.0.gir b/Gtk-4.0.gir index 1e7d359..6f00874 100644 --- a/Gtk-4.0.gir +++ b/Gtk-4.0.gir @@ -1211,7 +1211,7 @@ you should pass each reference individually, followed by %NULL, e.g. gtk_accessible_update_relation (accessible, GTK_ACCESSIBLE_RELATION_CONTROLS, ref1, NULL, - GTK_ACCESSIBLE_LABELLED_BY, + GTK_ACCESSIBLE_RELATION_LABELLED_BY, ref1, ref2, ref3, NULL, -1); ``` @@ -1385,12 +1385,12 @@ as %FALSE and %TRUE. - The possible accessible properties of a `GtkAccessible`. + The possible accessible properties of a [iface@Accessible]. Indicates whether inputting text could trigger display of one or more predictions of the user's intended value for a combobox, searchbox, or textbox and specifies how predictions - would be presented if they were made. Value type: `GtkAccessibleAutocomplete` + would be presented if they were made. Value type: [enum@AccessibleAutocomplete] Defines a string value that describes @@ -1430,7 +1430,7 @@ as %FALSE and %TRUE. Indicates whether the element's orientation is horizontal, vertical, or unknown/ambiguous. Value type: - `GtkOrientation` + [enum@Orientation] Defines a short hint (a word or short @@ -1452,8 +1452,7 @@ as %FALSE and %TRUE. Indicates if items in a table or grid are - sorted in ascending or descending order. Possible property values are in - the `GtkAccessibleSort` enumeration. Value type: `GtkAccessibleSort` + sorted in ascending or descending order. Value type: [enum@AccessibleSort] Defines the maximum allowed value for a @@ -1486,7 +1485,7 @@ as %FALSE and %TRUE. - The possible accessible relations of a `GtkAccessible`. + The possible accessible relations of a [iface@Accessible]. Accessible relations can be references to other widgets, integers or strings. @@ -1584,7 +1583,7 @@ integers or strings. - The accessible role for a `GtkAccessible` implementation. + The accessible role for a [iface@Accessible] implementation. Abstract roles are only used as part of the ontology; application developers must not use abstract roles in their code. @@ -1652,7 +1651,7 @@ developers must not use abstract roles in their code. An element that groups multiple widgets. GTK uses - this role for various containers, like `GtkBox`, `GtkViewport`, and `GtkHeaderBar`. + this role for various containers, like [class@Box], [class@Viewport], and [class@HeaderBar]. Unused @@ -1861,38 +1860,38 @@ accessible property. - The possible accessible states of a `GtkAccessible`. + The possible accessible states of a [iface@Accessible]. A “busy” state. This state has boolean values A “checked” state; indicates the current - state of a `GtkCheckButton`. Value type: `GtkAccessibleTristate` + state of a [class@CheckButton]. Value type: [enum@AccessibleTristate] A “disabled” state; corresponds to the - `GtkWidget:sensitive` property on `GtkWidget`. It indicates a UI element + [property@Widget:sensitive] property. It indicates a UI element that is perceivable, but not editable or operable. Value type: boolean An “expanded” state; corresponds to the - `GtkExpander:expanded` property on `GtkExpander`. Value type: boolean + [property@Expander:expanded] property. Value type: boolean or undefined A “hidden” state; corresponds to the - `GtkWidget:visible` property on `GtkWidget`. You can use this state + [property@Widget:visible] property. You can use this state explicitly on UI elements that should not be exposed to an assistive technology. Value type: boolean See also: %GTK_ACCESSIBLE_STATE_DISABLED An “invalid” state; set when a widget - is showing an error. Value type: `GtkAccessibleInvalidState` + is showing an error. Value type: [enum@AccessibleInvalidState] A “pressed” state; indicates the current - state of a `GtkToggleButton`. Value type: `GtkAccessibleTristate` + state of a [class@ToggleButton]. Value type: [enum@AccessibleTristate] enumeration @@ -2149,8 +2148,8 @@ Usually this function is used when the widget is located (or will be located) within the hierarchy of a `GtkApplicationWindow`. Names are of the form “win.save” or “app.quit” for actions on the -containing `GtkApplicationWindow` or its associated `GtkApplication`, -respectively. This is the same form used for actions in the `GMenu` +containing [class@ApplicationWindow] or its associated [class@Application], +respectively. This is the same form used for actions in the [class@Gio.Menu] associated with the window. @@ -2177,7 +2176,7 @@ to activation of the action associated with the `GtkActionable` widget. Second, it is used to determine if the widget should be rendered as “active” — the widget is active if the state is equal to the given target. -Consider the example of associating a set of buttons with a `GAction` +Consider the example of associating a set of buttons with a [iface@Gio.Action] with string state in a typical “radio button” situation. Each button will be associated with the same action, but with a different target value for that action. Clicking on a particular button will activate @@ -2195,7 +2194,7 @@ rendered inactive). - a `GVariant` to set as the target value + a [struct@GLib.Variant] to set as the target value @@ -2240,8 +2239,8 @@ Usually this function is used when the widget is located (or will be located) within the hierarchy of a `GtkApplicationWindow`. Names are of the form “win.save” or “app.quit” for actions on the -containing `GtkApplicationWindow` or its associated `GtkApplication`, -respectively. This is the same form used for actions in the `GMenu` +containing [class@ApplicationWindow] or its associated [class@Application], +respectively. This is the same form used for actions in the [class@Gio.Menu] associated with the window. @@ -2260,7 +2259,7 @@ associated with the window. Sets the target of an actionable widget. -This is a convenience function that calls g_variant_new() for +This is a convenience function that calls [ctor@GLib.Variant.new] for @format_string and uses the result to call [method@Gtk.Actionable.set_action_target_value]. @@ -2276,7 +2275,7 @@ the action name at the same time, you can use - a GVariant format string + a [struct@GLib.Variant] format string @@ -2296,7 +2295,7 @@ to activation of the action associated with the `GtkActionable` widget. Second, it is used to determine if the widget should be rendered as “active” — the widget is active if the state is equal to the given target. -Consider the example of associating a set of buttons with a `GAction` +Consider the example of associating a set of buttons with a [iface@Gio.Action] with string state in a typical “radio button” situation. Each button will be associated with the same action, but with a different target value for that action. Clicking on a particular button will activate @@ -2314,7 +2313,7 @@ rendered inactive). - a `GVariant` to set as the target value + a [struct@GLib.Variant] to set as the target value @@ -2324,7 +2323,7 @@ rendered inactive). actionable widget. @detailed_action_name is a string in the format accepted by -g_action_parse_detailed_name(). +[func@Gio.Action.parse_detailed_name]. @@ -2407,7 +2406,7 @@ g_action_parse_detailed_name(). - a `GVariant` to set as the target value + a [struct@GLib.Variant] to set as the target value @@ -2926,7 +2925,7 @@ covered by the [signal@Gtk.Adjustment::value-changed] signal. Alignment only matters if the widget receives a “too large” allocation, for example if you packed the widget with the [property@Gtk.Widget:hexpand] -property inside a `GtkBox`, then the widget might get extra space. +property inside a [class@Box], then the widget might get extra space. If you have for example a 16x16 icon inside a 32x32 space, the icon could be scaled and stretched, it could be centered, or it could be positioned to one side of the space. @@ -3918,7 +3917,7 @@ displays the shortcuts window, associate the item with the action ## A simple application -[A simple example](https://gitlab.gnome.org/GNOME/gtk/tree/master/examples/bp/bloatpad.c) +[A simple example](https://gitlab.gnome.org/GNOME/gtk/tree/main/examples/bp/bloatpad.c) is available in the GTK source code repository `GtkApplication` optionally registers with a session manager of the @@ -5603,8 +5602,8 @@ See gtk_assistant_commit() for details. add its own buttons through gtk_assistant_add_action_widget(). - - Like gtk_get_binary_age(), but from the headers used at + + Like [func@get_binary_age], but from the headers used at application compile time, rather than from the library linked against at application run time. @@ -6315,7 +6314,7 @@ freed. - + An opaque, stack-allocated struct for iterating over the elements of a `GtkBitset`. @@ -7489,7 +7488,7 @@ the buildable. `GtkBuilder` sets the name based on the ID attribute of the <object> tag used to construct the @buildable. - + the ID of the buildable object @@ -8418,7 +8417,7 @@ its child (for instance a `GtkTreeView` that depends on its Creates a closure to invoke the function called @function_name. This is using the create_closure() implementation of @builder's -[class@Gtk.BuilderScope]. +[iface@Gtk.BuilderScope]. If no closure could be created, %NULL will be returned and @error will be set. @@ -10361,12 +10360,12 @@ see gtk_cell_area_foreach_alloc(). - An abstract class for laying out GtkCellRenderers + An abstract class for laying out `GtkCellRenderer`s -The `GtkCellArea` is an abstract class for `GtkCellLayout` widgets -(also referred to as "layouting widgets") to interface with an -arbitrary number of `GtkCellRenderer`s and interact with the user -for a given `GtkTreeModel` row. +The `GtkCellArea` is an abstract class for [iface@Gtk.CellLayout] +widgets (also referred to as "layouting widgets") to interface with +an arbitrary number of [class@Gtk.CellRenderer]s and interact with the user +for a given [iface@Gtk.TreeModel] row. The cell area handles events, focus navigation, drawing and size requests and allocations for a given row of data. @@ -10377,7 +10376,7 @@ unless they are implementing a cell-layouting widget themselves. # Requesting area sizes As outlined in -[GtkWidget’s geometry management section][geometry-management], +[GtkWidget’s geometry management section](class.Widget.html#height-for-width-geometry-management), GTK uses a height-for-width geometry management system to compute the sizes of widgets and user interfaces. `GtkCellArea` uses the same semantics to calculate the @@ -10385,8 +10384,8 @@ size of an area for an arbitrary number of `GtkTreeModel` rows. When requesting the size of a cell area one needs to calculate the size for a handful of rows, and this will be done differently by -different layouting widgets. For instance a `GtkTreeViewColumn` -always lines up the areas from top to bottom while a `GtkIconView` +different layouting widgets. For instance a [class@Gtk.TreeViewColumn] +always lines up the areas from top to bottom while a [class@Gtk.IconView] on the other hand might enforce that all areas received the same width and wrap the areas around, requesting height for more cell areas when allocated less width. @@ -10395,27 +10394,28 @@ It’s also important for areas to maintain some cell alignments with areas rendered for adjacent rows (cells can appear “columnized” inside an area even when the size of cells are different in each row). For this reason the `GtkCellArea` -uses a `GtkCellArea`Context object to store the alignments +uses a [class@Gtk.CellAreaContext] object to store the alignments and sizes along the way (as well as the overall largest minimum and natural size for all the rows which have been calculated with the said context). -The `GtkCellArea`Context is an opaque object specific to the -`GtkCellArea` which created it (see gtk_cell_area_create_context()). +The [class@Gtk.CellAreaContext] is an opaque object specific to the +`GtkCellArea` which created it (see [method@Gtk.CellArea.create_context]). + The owning cell-layouting widget can create as many contexts as it wishes to calculate sizes of rows which should receive the same size in at least one orientation (horizontally or vertically), -However, it’s important that the same `GtkCellArea`Context which +However, it’s important that the same [class@Gtk.CellAreaContext] which was used to request the sizes for a given `GtkTreeModel` row be used when rendering or processing events for that row. In order to request the width of all the rows at the root level of a `GtkTreeModel` one would do the following: -|[<!-- language="C" --> +```c GtkTreeIter iter; -int minimum_width; -int natural_width; +int minimum_width; +int natural_width; valid = gtk_tree_model_get_iter_first (model, &iter); while (valid) @@ -10425,51 +10425,52 @@ while (valid) valid = gtk_tree_model_iter_next (model, &iter); } + gtk_cell_area_context_get_preferred_width (context, &minimum_width, &natural_width); -]| +``` Note that in this example it’s not important to observe the returned minimum and natural width of the area for each row unless the cell-layouting object is actually interested in the widths of individual rows. The overall width is however stored -in the accompanying `GtkCellArea`Context object and can be consulted +in the accompanying `GtkCellAreaContext` object and can be consulted at any time. This can be useful since `GtkCellLayout` widgets usually have to support requesting and rendering rows in treemodels with an exceedingly large amount of rows. The `GtkCellLayout` widget in that case would calculate the required width of the rows in an -idle or timeout source (see g_timeout_add()) and when the widget +idle or timeout source (see [func@GLib.timeout_add]) and when the widget is requested its actual width in [vfunc@Gtk.Widget.measure] it can simply consult the width accumulated so far in the -`GtkCellArea`Context object. +`GtkCellAreaContext` object. A simple example where rows are rendered from top to bottom and take up the full width of the layouting widget would look like: -|[<!-- language="C" --> +```c static void -foo_get_preferred_width (GtkWidget *widget, - int *minimum_size, - int *natural_size) +foo_get_preferred_width (GtkWidget *widget, + int *minimum_size, + int *natural_size) { - Foo *foo = FOO (widget); - FooPrivate *priv = foo->priv; + Foo *self = FOO (widget); + FooPrivate *priv = foo_get_instance_private (self); - foo_ensure_at_least_one_handfull_of_rows_have_been_requested (foo); + foo_ensure_at_least_one_handfull_of_rows_have_been_requested (self); gtk_cell_area_context_get_preferred_width (priv->context, minimum_size, natural_size); } -]| +``` -In the above example the Foo widget has to make sure that some -row sizes have been calculated (the amount of rows that Foo judged +In the above example the `Foo` widget has to make sure that some +row sizes have been calculated (the amount of rows that `Foo` judged was appropriate to request space for in a single timeout iteration) before simply returning the amount of space required by the area via -the `GtkCellArea`Context. +the `GtkCellAreaContext`. Requesting the height for width (or width for height) of an area is -a similar task except in this case the `GtkCellArea`Context does not +a similar task except in this case the `GtkCellAreaContext` does not store the data (actually, it does not know how much space the layouting widget plans to allocate it for every row. It’s up to the layouting widget to render each row of data with the appropriate height and @@ -10478,12 +10479,12 @@ width which was requested by the `GtkCellArea`). In order to request the height for width of all the rows at the root level of a `GtkTreeModel` one would do the following: -|[<!-- language="C" --> +```c GtkTreeIter iter; -int minimum_height; -int natural_height; -int full_minimum_height = 0; -int full_natural_height = 0; +int minimum_height; +int natural_height; +int full_minimum_height = 0; +int full_natural_height = 0; valid = gtk_tree_model_get_iter_first (model, &iter); while (valid) @@ -10500,7 +10501,7 @@ while (valid) valid = gtk_tree_model_iter_next (model, &iter); } -]| +``` Note that in the above example we would need to cache the heights returned for each row so that we would know what sizes to render the @@ -10532,12 +10533,12 @@ visible area of the layouting widget they can be rendered at A crude example of how to render all the rows at the root level runs as follows: -|[<!-- language="C" --> +```c GtkAllocation allocation; -GdkRectangle cell_area = { 0, }; -GtkTreeIter iter; -int minimum_width; -int natural_width; +GdkRectangle cell_area = { 0, }; +GtkTreeIter iter; +int minimum_width; +int natural_width; gtk_widget_get_allocation (widget, &allocation); cell_area.width = allocation.width; @@ -10555,31 +10556,31 @@ while (valid) valid = gtk_tree_model_iter_next (model, &iter); } -]| +``` Note that the cached height in this example really depends on how the layouting widget works. The layouting widget might decide to give every row its minimum or natural height or, if the model content is expected to fit inside the layouting widget without scrolling, it would make sense to calculate the allocation for each row at -the time the widget is allocated using gtk_distribute_natural_allocation(). +the time the widget is allocated using [func@Gtk.distribute_natural_allocation]. # Handling Events and Driving Keyboard Focus Passing events to the area is as simple as handling events on any -normal widget and then passing them to the gtk_cell_area_event() +normal widget and then passing them to the [method@Gtk.CellArea.event] API as they come in. Usually `GtkCellArea` is only interested in button events, however some customized derived areas can be implemented who are interested in handling other events. Handling an event can -trigger the `GtkCellArea`::focus-changed signal to fire; as well as -`GtkCellArea`::add-editable in the case that an editable cell was -clicked and needs to start editing. You can call -gtk_cell_area_stop_editing() at any time to cancel any cell editing +trigger the [`signal@Gtk.CellArea::focus-changed`] signal to fire; as well +as [`signal@GtkCellArea::add-editable`] in the case that an editable cell +was clicked and needs to start editing. You can call +[method@Gtk.CellArea.stop_editing] at any time to cancel any cell editing that is currently in progress. The `GtkCellArea` drives keyboard focus from cell to cell in a way similar to `GtkWidget`. For layouting widgets that support giving -focus to cells it’s important to remember to pass %GTK_CELL_RENDERER_FOCUSED +focus to cells it’s important to remember to pass `GTK_CELL_RENDERER_FOCUSED` to the area functions for the row that has focus and to tell the area to paint the focus at render time. @@ -10588,23 +10589,21 @@ Layouting widgets that accept focus on cells should implement the responsible for knowing where `GtkTreeModel` rows are rendered inside the widget, so at [vfunc@Gtk.Widget.focus] time the layouting widget should use the `GtkCellArea` methods to navigate focus inside the area -and then observe the GtkDirectionType to pass the focus to adjacent +and then observe the [enum@Gtk.DirectionType] to pass the focus to adjacent rows and areas. A basic example of how the [vfunc@Gtk.Widget.focus] virtual method should be implemented: -|[<!-- language="C" --> +``` static gboolean foo_focus (GtkWidget *widget, GtkDirectionType direction) { - Foo *foo = FOO (widget); - FooPrivate *priv = foo->priv; - int focus_row; - gboolean have_focus = FALSE; - - focus_row = priv->focus_row; + Foo *self = FOO (widget); + FooPrivate *priv = foo_get_instance_private (self); + int focus_row = priv->focus_row; + gboolean have_focus = FALSE; if (!gtk_widget_has_focus (widget)) gtk_widget_grab_focus (widget); @@ -10650,30 +10649,30 @@ foo_focus (GtkWidget *widget, } return have_focus; } -]| +``` Note that the layouting widget is responsible for matching the -GtkDirectionType values to the way it lays out its cells. +`GtkDirectionType` values to the way it lays out its cells. # Cell Properties The `GtkCellArea` introduces cell properties for `GtkCellRenderer`s. This provides some general interfaces for defining the relationship -cell areas have with their cells. For instance in a `GtkCellArea`Box +cell areas have with their cells. For instance in a [class@Gtk.CellAreaBox] a cell might “expand” and receive extra space when the area is allocated more than its full natural request, or a cell might be configured to “align” with adjacent rows which were requested and rendered with the same -`GtkCellArea`Context. +`GtkCellAreaContext`. -Use gtk_cell_area_class_install_cell_property() to install cell -properties for a cell area class and gtk_cell_area_class_find_cell_property() -or gtk_cell_area_class_list_cell_properties() to get information about +Use [method@Gtk.CellAreaClass.install_cell_property] to install cell +properties for a cell area class and [method@Gtk.CellAreaClass.find_cell_property] +or [method@Gtk.CellAreaClass.list_cell_properties] to get information about existing cell properties. -To set the value of a cell property, use gtk_cell_area_cell_set_property(), -gtk_cell_area_cell_set() or gtk_cell_area_cell_set_valist(). To obtain -the value of a cell property, use gtk_cell_area_cell_get_property(), -gtk_cell_area_cell_get() or gtk_cell_area_cell_get_valist(). +To set the value of a cell property, use [method@Gtk.CellArea.cell_set_property], +[method@Gtk.CellArea.cell_set] or [method@Gtk.CellArea.cell_set_valist]. To obtain +the value of a cell property, use [method@Gtk.CellArea.cell_get_property] +[method@Gtk.CellArea.cell_get] or [method@Gtk.CellArea.cell_get_valist]. @@ -11844,7 +11843,7 @@ should not be freed. Gets the `GtkCellEditable` widget currently used to edit the currently edited cell. - + The currently active `GtkCellEditable` widget @@ -11858,7 +11857,7 @@ to edit the currently edited cell. Gets the `GtkCellRenderer` in @area that is currently being edited. - + The currently edited `GtkCellRenderer` @@ -11871,7 +11870,7 @@ being edited. Retrieves the currently focused cell for @area - + the currently focused cell in @area. @@ -12271,7 +12270,7 @@ as gtk_tree_view_set_cursor_on_cell(). a `GtkCellArea` - + the `GtkCellRenderer` to give focus to @@ -13893,33 +13892,34 @@ value of the attribute for each cell that is rendered. Implementations of GtkCellLayout which also implement the GtkBuildable interface (`GtkCellView`, `GtkIconView`, `GtkComboBox`, `GtkEntryCompletion`, `GtkTreeViewColumn`) accept `GtkCellRenderer` objects -as <child> elements in UI definitions. They support a custom <attributes> -element for their children, which can contain multiple <attribute> -elements. Each <attribute> element has a name attribute which specifies +as `<child>` elements in UI definitions. They support a custom `<attributes>` +element for their children, which can contain multiple `<attribute>` +elements. Each `<attribute>` element has a name attribute which specifies a property of the cell renderer; the content of the element is the attribute value. This is an example of a UI definition fragment specifying attributes: -|[ + +```xml <object class="GtkCellView"> <child> <object class="GtkCellRendererText"/> <attributes> <attribute name="text">0</attribute> </attributes> - </child>" + </child> </object> -]| +``` -Furthermore for implementations of GtkCellLayout that use a `GtkCellArea` -to lay out cells (all GtkCellLayouts in GTK use a GtkCellArea) -[cell properties][cell-properties] can also be defined in the format by -specifying the custom <cell-packing> attribute which can contain multiple -<property> elements defined in the normal way. +Furthermore for implementations of `GtkCellLayout` that use a `GtkCellArea` +to lay out cells (all `GtkCellLayout`s in GTK use a `GtkCellArea`) +[cell properties](class.CellArea.html#cell-properties) can also be defined +in the format by specifying the custom `<cell-packing>` attribute which can +contain multiple `<property>` elements. Here is a UI definition fragment specifying cell properties: -|[ +```xml <object class="GtkTreeViewColumn"> <child> <object class="GtkCellRendererText"/> @@ -13927,9 +13927,9 @@ Here is a UI definition fragment specifying cell properties: <property name="align">True</property> <property name="expand">False</property> </cell-packing> - </child>" + </child> </object> -]| +``` # Subclassing GtkCellLayout implementations @@ -13939,25 +13939,27 @@ to the fact that these widgets internally use a `GtkCellArea`. The cell area is exposed as a construct-only property by these widgets. This means that it is possible to e.g. do -|[<!-- language="C" --> -combo = g_object_new (GTK_TYPE_COMBO_BOX, "cell-area", my_cell_area, NULL); -]| +```c +GtkWIdget *combo = + g_object_new (GTK_TYPE_COMBO_BOX, "cell-area", my_cell_area, NULL); +``` to use a custom cell area with a combo box. But construct properties -are only initialized after instance init() +are only initialized after instance `init()` functions have run, which means that using functions which rely on -the existence of the cell area in your subclass’ init() function will +the existence of the cell area in your subclass `init()` function will cause the default cell area to be instantiated. In this case, a provided construct property value will be ignored (with a warning, to alert you to the problem). -|[<!-- language="C" --> +```c static void my_combo_box_init (MyComboBox *b) { GtkCellRenderer *cell; cell = gtk_cell_renderer_pixbuf_new (); + // The following call causes the default cell area for combo boxes, // a GtkCellAreaBox, to be instantiated gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (b), cell, FALSE); @@ -13970,12 +13972,12 @@ my_combo_box_new (GtkCellArea *area) // This call is going to cause a warning about area being ignored return g_object_new (MY_TYPE_COMBO_BOX, "cell-area", area, NULL); } -]| +``` If supporting alternative cell areas with your derived widget is not important, then this does not have to concern you. If you want to support alternative cell areas, you can do so by moving the -problematic calls out of init() and into a constructor() +problematic calls out of `init()` and into a `constructor()` for your class. Adds an attribute mapping to the list in @cell_layout. @@ -15715,10 +15717,7 @@ configuration should assign keyvals to all keys. - Determines if the edited accelerators are GTK accelerators. If -they are, consumed modifiers are suppressed, only accelerators -accepted by GTK are allowed, and the accelerators are rendered -in the same way as they are in menus. + The available modes for [property@Gtk.CellRendererAccel:accel-mode]. GTK accelerators mode @@ -19364,6 +19363,16 @@ See also [ctor@Gtk.ComboBox.new_with_entry]. + + + + + + + + + + @@ -19919,6 +19928,15 @@ it allows you to connect to notify::popup-shown. + + Emitted to when the combo box is activated. + +The `::activate` signal on `GtkComboBox` is an action signal and +emitting it causes the combo box to pop up its dropdown. + + + + Emitted when the active item is changed. @@ -20041,8 +20059,20 @@ The default binding for this signal is Alt+Down. + + + + + + + + + + + + - + @@ -20667,7 +20697,7 @@ property of the source widget. - The widget attributes that can be used when creating a `GtkConstraint`. + The widget attributes that can be used when creating a [class@Constraint]. No attribute, used for constant relations @@ -20750,11 +20780,11 @@ Unlike a `GtkWidget`, a `GtkConstraintGuide` will not be drawn. a `GtkConstraintGuide` object - + return location for the maximum width - + return location for the maximum height @@ -20770,11 +20800,11 @@ Unlike a `GtkWidget`, a `GtkConstraintGuide` will not be drawn. a `GtkConstraintGuide` object - + return location for the minimum width - + return location for the minimum height @@ -20804,11 +20834,11 @@ Unlike a `GtkWidget`, a `GtkConstraintGuide` will not be drawn. a `GtkConstraintGuide` object - + return location for the natural width - + return location for the natural height @@ -21224,7 +21254,7 @@ variadic arguments to populate the view/target map. - a `NULL`-terminated list of view names and [class@Gtk.ConstraintTarget]s + a `NULL`-terminated list of view names and [iface@Gtk.ConstraintTarget]s @@ -21493,7 +21523,7 @@ so that it no longer influences the layout. The strength of a constraint, expressed as a symbolic constant. -The strength of a `GtkConstraint` can be expressed with any positive +The strength of a [class@Constraint] can be expressed with any positive integer; the values of this enumeration can be used for readability. The constraint is required towards solving the layout @@ -21732,7 +21762,7 @@ This clears any previously loaded information. the path of a filename to load, in the GLib filename encoding - + @@ -21837,7 +21867,7 @@ than when a loading function was called. Defines a part of a CSS document. Because sections are nested into one another, you can use -gtk_css_section_get_parent() to get the containing region. +[method@CssSection.get_parent] to get the containing region. Creates a new `GtkCssSection` referring to the section in the given `file` from the `start` location to the @@ -21880,7 +21910,7 @@ in the given `file` from the `start` location to the If no such file exists, for example because the CSS was loaded via [method@Gtk.CssProvider.load_from_data], then `NULL` is returned. - + the `GFile` from which the `section` was parsed @@ -23485,7 +23515,7 @@ been created, and can be used to set up the drag icon. ```c static void on_drag_begin (GtkDragSource *source, - GtkDrag *drag, + GdkDrag *drag, MyWidget *self) { // Set the widget as the drag icon @@ -23813,9 +23843,10 @@ You can also force a redraw by adding to the “damage region” of th drawing area’s window using [method@Gtk.Widget.queue_draw]. This will cause the drawing area to call the draw function again. -The available routines for drawing are documented on the -[GDK Drawing Primitives][gdk4-Cairo-Interaction] page -and the cairo documentation. +The available routines for drawing are documented in the +[Cairo documentation](https://www.cairographics.org/manual/); GDK +offers additional API to integrate with Cairo, like [func@Gdk.cairo_set_source_rgba] +or [func@Gdk.cairo_set_source_pixbuf]. To receive mouse events on a drawing area, you will need to use event controllers. To receive keyboard events, you will need to set @@ -24376,6 +24407,20 @@ if [property@Gtk.DropDown:list-factory] is not set. + + + Returns whether to show an arrow within the widget. + + %TRUE if an arrow will be shown. + + + + + a `GtkDropDown` + + + + Sets whether a search entry will be shown in the popup that @@ -24485,6 +24530,23 @@ a value type of %G_TYPE_STRING. + + + Sets whether an arrow will be displayed within the widget. + + + + + + a `GtkDropDown` + + + + whether to show an arrow within the widget + + + + @@ -24539,6 +24601,21 @@ If no item is selected, the property has the value The selected item. + + + + Whether to show an arrow within the GtkDropDown widget. + + + + Emitted to when the drop down is activated. + +The `::activate` signal on `GtkDropDown` is an action signal and +emitting it causes the drop down to pop up its dropdown. + + + + @@ -24588,6 +24665,7 @@ my_widget_init (MyWidget *self) GDK_TYPE_PIXBUF, }, 2); + g_signal_connect (target, "drop", G_CALLBACK (on_drop), self); gtk_widget_add_controller (GTK_WIDGET (self), GTK_EVENT_CONTROLLER (target)); } ``` @@ -24689,7 +24767,7 @@ If no drop operation is going on, %NULL is returned. Gets the data formats that this drop target accepts. If the result is %NULL, all formats are expected to be supported. - + the supported data formats @@ -26730,23 +26808,36 @@ previous [property@Gtk.Editable:text] property value. + The identifiers for [iface@Gtk.Editable] properties. + +See [func@Gtk.Editable.install_properties] for details on how to +implement the `GtkEditable` interface. + the property id for [property@Gtk.Editable:text] + the property id for [property@Gtk.Editable:cursor-position] + the property id for [property@Gtk.Editable:selection-bound] + the property id for [property@Gtk.Editable:editable] + the property id for [property@Gtk.Editable:width-chars] + the property id for [property@Gtk.Editable:max-width-chars] + the property id for [property@Gtk.Editable:xalign] + the property id for [property@Gtk.Editable:enable-undo] + the number of properties @@ -29692,7 +29783,8 @@ At other times, 0 is returned. Gets the name of @controller. - + + The controller name @@ -29767,7 +29859,7 @@ At other times, 0 is returned. a `GtkEventController` - + a name for @controller @@ -29988,7 +30080,7 @@ See [method@Gdk.KeyEvent.get_layout]. Gets the input method context of the key @controller. - + the `GtkIMContext` @@ -30009,7 +30101,7 @@ See [method@Gdk.KeyEvent.get_layout]. a `GtkEventControllerKey` - + a `GtkIMContext` @@ -30382,7 +30474,7 @@ It will only be emitted on devices capable of it. - Describes the state of a `GdkEventSequence` in a `GtkGesture`. + Describes the state of a [struct@Gdk.EventSequence] in a [class@Gesture]. The sequence is handled, but not grabbed. @@ -30926,7 +31018,7 @@ to store the `GtkExpression` into the `GValue`; for instance: `GtkBuilder` has support for creating expressions. The syntax here can be used where a `GtkExpression` object is needed like in a `<property>` tag for an expression -property, or in a `<binding>` tag to bind a property to an expression. +property, or in a `<binding name="property">` tag to bind a property to an expression. To create an property expression, use the `<lookup>` element. It can have a `type` attribute to specify the object type, and a `name` attribute to specify the property @@ -31464,7 +31556,7 @@ in a file chooser. Gets the currently selected option in the 'choice' with the given ID. - + the ID of the currently selected option @@ -31495,7 +31587,7 @@ in a file chooser. Gets the current folder of @chooser as `GFile`. - + the `GFile` for the current folder. @@ -31511,7 +31603,7 @@ in a file chooser. This is meant to be used in save dialogs, to get the currently typed filename when the file itself does not exist yet. - + The raw text from the file chooser’s “Name” entry. Free with g_free(). Note that this string is not a full pathname or URI; it is whatever the contents of the entry are. Note also that this string is @@ -31535,7 +31627,7 @@ returned at random. If the file chooser is in folder mode, this function returns the selected folder. - + a selected `GFile`. You own the returned file; use g_object_unref() to release it. @@ -31758,7 +31850,7 @@ This is only relevant if the action is not set to be a `GtkFileChooser` - + the `GFile` for the new folder @@ -33726,7 +33818,7 @@ long-term maintenance problem for your application. Returns the model containing the item at the given position. - + the model containing the item at @position @@ -33828,6 +33920,27 @@ uses the %GTK_ACCESSIBLE_ROLE_GRID_CELL role. + + Adds @child to the end of @self. + +If a sort function is set, the widget will +actually be inserted at the calculated position. + +See also: [method@Gtk.FlowBox.insert]. + + + + + + a `GtkFlowBox + + + + the `GtkWidget` to add + + + + Binds @model to @box. @@ -34089,6 +34202,27 @@ Call this when the result of the sort function on + + Adds @child to the start of @self. + +If a sort function is set, the widget will +actually be inserted at the calculated position. + +See also: [method@Gtk.FlowBox.insert]. + + + + + + a `GtkFlowBox + + + + the `GtkWidget` to add + + + + Removes a child from @box. @@ -36501,7 +36635,7 @@ called by application code. Retrieves the `GdkGLContext` used by @area. - + the `GdkGLContext` @@ -36788,7 +36922,11 @@ depth, etc), use render buffers. If set to %TRUE the widget will allocate and enable a depth buffer for the -target framebuffer. +target framebuffer. + +Setting this property will enable GL's depth testing as a side effect. If +you don't need depth testing, you should call `glDisable(GL_DEPTH_TEST)` +in your `GtkGLArea::render` handler. @@ -37052,7 +37190,7 @@ group will grab all interaction on the sequence, by: Note: if a sequence is set early to %GTK_EVENT_SEQUENCE_CLAIMED on %GDK_TOUCH_BEGIN/%GDK_BUTTON_PRESS (so those events are captured before reaching the event widget, this implies %GTK_PHASE_CAPTURE), one similar -event will emulated if the sequence changes to %GTK_EVENT_SEQUENCE_DENIED. +event will be emulated if the sequence changes to %GTK_EVENT_SEQUENCE_DENIED. This way event coherence is preserved before event propagation is unstopped again. @@ -39819,7 +39957,7 @@ different amounts of space. maximize and close buttons, or the window icon. For these reasons, `GtkHeaderBar` is the natural choice for use as the -custom titlebar widget of a `GtkWindow (see [method@Gtk.Window.set_titlebar]), +custom titlebar widget of a `GtkWindow` (see [method@Gtk.Window.set_titlebar]), as it gives features typical of titlebars while allowing the addition of child widgets. @@ -41669,8 +41807,8 @@ signal in case of conversion failure. See [signal@Gtk.SpinButton::input]. - - Like gtk_get_interface_age(), but from the headers used at + + Like [func@get_interface_age], but from the headers used at application compile time, rather than from the library linked against at application run time. @@ -43315,6 +43453,7 @@ allowed and what it does. `GtkIconPaintable` implements `GdkPaintable`. + Creates a `GtkIconPaintable` for a file with a given size and scale. @@ -43994,7 +44133,7 @@ specified @area to layout cells inside the icons. Creates a `GdkPaintable` representation of the item at @path. This image is used for a drag icon. - + a newly-allocated `GdkPaintable` of the drag icon. @@ -44190,7 +44329,7 @@ The returned `GtkTreePath` must be freed with gtk_tree_path_free(). a `GtkIconView` - + Return location for the path of the highlighted item @@ -44415,8 +44554,15 @@ planning on modifying the model after calling this function, you may want to convert the returned list into a list of `GtkTreeRowReferences`. To do this, you can use gtk_tree_row_reference_new(). -To free the return value, use: +To free the return value, use `g_list_free_full`: |[<!-- language="C" --> +GtkWidget *icon_view = gtk_icon_view_new (); +// Use icon_view + +GList *list = gtk_icon_view_get_selected_items (GTK_ICON_VIEW (icon_view)); + +// use list + g_list_free_full (list, (GDestroyNotify) gtk_tree_path_free); ]| @@ -45297,7 +45443,7 @@ the Shift modifier. - A [keybinding signal][class.Gtk.SignalAction] + A [keybinding signal][class@Gtk.SignalAction] which gets emitted when the user selects all items. Applications should not connect to it, but may emit it with @@ -45993,8 +46139,8 @@ gtk_widget_show (bar); # GtkInfoBar as GtkBuildable -`GtkInfoBar` supports a custom <action-widgets> element, which can contain -multiple <action-widget> elements. The “response” attribute specifies a +`GtkInfoBar` supports a custom `<action-widgets>` element, which can contain +multiple `<action-widget>` elements. The “response” attribute specifies a numeric response, and the content of the element is the id of widget (which should be a child of the dialogs @action_area). @@ -46392,7 +46538,7 @@ on which action widget was clicked. or applications. Note that input methods may already tailor their behaviour according -to the `GtkInputPurpose` of the entry. +to the [enum@InputPurpose] of the entry. Some common sense is expected when using these flags - mixing %GTK_INPUT_HINT_LOWERCASE with any of the uppercase hints makes no sense. @@ -46498,7 +46644,7 @@ interpret unknown values as “free form”. - Used for justifying the text inside a `GtkLabel` widget. + Used for justifying the text inside a [class@Label] widget. The text is placed at the left edge of the label. @@ -47170,6 +47316,22 @@ See [method@Gtk.Label.set_mnemonic_widget]. + + + Returns line wrap mode used by the label. + +See [method@Gtk.Label.set_natural_wrap_mode]. + + the natural line wrap mode + + + + + a `GtkLabel` + + + + Returns whether the label is selectable. @@ -47195,11 +47357,11 @@ See [method@Gtk.Label.set_mnemonic_widget]. a `GtkLabel` - + return location for start of selection, as a character offset - + return location for end of selection, as a character offset @@ -47308,7 +47470,7 @@ See [method@Gtk.Label.set_wrap]. See [method@Gtk.Label.set_wrap_mode]. - %TRUE if the lines of the label are automatically wrapped. + the line wrap mode @@ -47618,6 +47780,26 @@ and toggle focus between the colliding widgets otherwise. + + + Select the line wrapping for the natural size request. + +This only affects the natural size requested, for the actual wrapping used, +see the [property@Gtk.Label:wrap-mode] property. + + + + + + a `GtkLabel` + + + + the line wrapping mode + + + + Makes text in the label selectable. @@ -47789,7 +47971,10 @@ set the label’s width using [method@Gtk.Widget.set_size_request]. This only affects the label if line wrapping is on. (See [method@Gtk.Label.set_wrap]) The default is %PANGO_WRAP_WORD -which means wrap on word boundaries. +which means wrap on word boundaries. + +For sizing behavior, also consider the [property@Gtk.Label:natural-wrap-mode] +property. @@ -47912,7 +48097,7 @@ Set this property to -1 if you don't want to limit the number of lines. If this property is set to -1, the width will be calculated automatically. -See the section on [text layout][label-text-layout] for details of how +See the section on [text layout](class.Label.html#text-layout) for details of how [property@Gtk.Label:width-chars] and [property@Gtk.Label:max-width-chars] determine the width of ellipsized and wrapped labels. @@ -47928,6 +48113,18 @@ determine the width of ellipsized and wrapped labels. The widget to be activated when the labels mnemonic key is pressed. + + + + Select the line wrapping for the natural size request. + +This only affects the natural size requested. For the actual wrapping used, +see the [property@Gtk.Label:wrap-mode] property. + +The default is %GTK_NATURAL_WRAP_INHERIT, which inherits the behavior of the +[property@Gtk.Label:wrap-mode] property. + + @@ -47966,7 +48163,7 @@ See [func@Pango.parse_markup]. If this property is set to -1, the width will be calculated automatically. -See the section on [text layout][label-text-layout] for details of how +See the section on [text layout](class.Label.html#text-layout) for details of how [property@Gtk.Label:width-chars] and [property@Gtk.Label:max-width-chars] determine the width of ellipsized and wrapped labels. @@ -47984,7 +48181,10 @@ determine the width of ellipsized and wrapped labels. This only affects the formatting if line wrapping is on (see the [property@Gtk.Label:wrap] property). The default is %PANGO_WRAP_WORD, -which means wrap on word boundaries. +which means wrap on word boundaries. + +For sizing behavior, also consider the [property@Gtk.Label:natural-wrap-mode] +property. @@ -49054,7 +49254,7 @@ the value of offset "x" changes. - Describes how `GtkLevelBar` contents should be rendered. + Describes how [class@LevelBar] contents should be rendered. Note that this enumeration could be extended with additional modes in the future. @@ -49478,7 +49678,7 @@ it will have the highlight removed. Gets the adjustment (if any) that the widget uses to for vertical scrolling. - + the adjustment @@ -50105,7 +50305,10 @@ The default binding for this signal is Called for list boxes that are bound to a `GListModel` with -gtk_list_box_bind_model() for each item that gets added to the model. +gtk_list_box_bind_model() for each item that gets added to the model. + +If the widget returned is not a #GtkListBoxRow widget, then the widget +will be inserted as the child of an intermediate #GtkListBoxRow. a `GtkWidget` that represents @item @@ -50746,28 +50949,29 @@ views is allowed, but very uncommon. - A list-like data structure that can be used with the GtkTreeView + A list-like data structure that can be used with the [class@Gtk.TreeView]. The `GtkListStore` object is a list model for use with a `GtkTreeView` widget. It implements the `GtkTreeModel` interface, and consequentialy, can use all of the methods available there. It also implements the `GtkTreeSortable` interface so it can be sorted by the view. Finally, it also implements the tree -[drag and drop][gtk4-GtkTreeView-drag-and-drop] +[drag](iface.TreeDragSource.html) and [drop](iface.TreeDragDest.html) interfaces. -The `GtkListStore` can accept most GObject types as a column type, though +The `GtkListStore` can accept most `GType`s as a column type, though it can’t accept all custom types. Internally, it will keep a copy of data passed in (such as a string or a boxed pointer). Columns that accept `GObject`s are handled a little differently. The `GtkListStore` will keep a reference to the object instead of copying the value. As a result, if the object is modified, it is up to the -application writer to call gtk_tree_model_row_changed() to emit the -`GtkTreeModel`::row_changed signal. This most commonly affects lists with -`GdkTexture`s stored. +application writer to call [method@Gtk.TreeModel.row_changed] to emit the +[signal@Gtk.TreeModel::row_changed] signal. This most commonly affects lists +with [class@Gdk.Texture]s stored. An example for creating a simple list store: -|[<!-- language="C" --> + +```c enum { COLUMN_STRING, COLUMN_INT, @@ -50815,14 +51019,14 @@ enum { COLUMN_BOOLEAN, TRUE, -1); } -]| +``` # Performance Considerations Internally, the `GtkListStore` was originally implemented with a linked list with a tail pointer. As a result, it was fast at data insertion and deletion, and not fast at random data access. The `GtkListStore` sets the -%GTK_TREE_MODEL_ITERS_PERSIST flag, which means that `GtkTreeIter`s can be +`GTK_TREE_MODEL_ITERS_PERSIST` flag, which means that `GtkTreeIter`s can be cached while the row exists. Thus, if access to a particular row is needed often and your code is expected to run on older versions of GTK, it is worth keeping the iter around. @@ -50834,9 +51038,9 @@ gtk_list_store_insert_with_values() and gtk_list_store_insert_with_valuesv() are atomic, in the sense that the row is being appended to the store and the values filled in in a single operation with regard to `GtkTreeModel` signaling. In contrast, using e.g. gtk_list_store_append() and then gtk_list_store_set() -will first create a row, which triggers the `GtkTreeModel`::row-inserted signal +will first create a row, which triggers the `GtkTreeModel::row-inserted` signal on `GtkListStore`. The row, however, is still empty, and any signal handler -connecting to `GtkTreeModel`::row-inserted on this particular store should be prepared +connecting to `GtkTreeModel::row-inserted` on this particular store should be prepared for the situation that the row might be empty. This is especially important if you are wrapping the `GtkListStore` inside a `GtkTreeModel`Filter and are using a `GtkTreeModel`FilterVisibleFunc. Using any of the non-atomic operations @@ -50846,15 +51050,15 @@ function must be prepared for that. # GtkListStore as GtkBuildable -The GtkListStore implementation of the GtkBuildable interface allows -to specify the model columns with a <columns> element that may contain -multiple <column> elements, each specifying one model column. The “type” +The GtkListStore implementation of the [iface@Gtk.Buildable] interface allows +to specify the model columns with a `<columns>` element that may contain +multiple `<column>` elements, each specifying one model column. The “type” attribute specifies the data type for the column. Additionally, it is possible to specify content for the list store -in the UI definition, with the <data> element. It can contain multiple -<row> elements, each specifying to content for one row of the list model. -Inside a <row>, the <col> elements specify the content for individual cells. +in the UI definition, with the `<data>` element. It can contain multiple +`<row>` elements, each specifying to content for one row of the list model. +Inside a `<row>`, the `<col>` elements specify the content for individual cells. Note that it is probably more common to define your models in the code, and one might consider it a layering violation to specify the content of @@ -50862,7 +51066,8 @@ a list store in a UI definition, data, not presentation, and common wisdom is to separate the two, as far as possible. An example of a UI Definition fragment for a list store: -|[<!-- language="C" --> + +```xml <object class="GtkListStore"> <columns> <column type="gchararray"/> @@ -50882,7 +51087,7 @@ An example of a UI Definition fragment for a list store: </row> </data> </object> -]| +``` @@ -51819,7 +52024,7 @@ with the [property@Gtk.LockButton:text-lock], Obtains the `GPermission` object that controls @button. - + the `GPermission` of @button @@ -51875,7 +52080,7 @@ with the [property@Gtk.LockButton:text-lock], - Like gtk_get_major_version(), but from the headers used at + Like [func@get_major_version], but from the headers used at application compile time, rather than from the library linked against at application run time. @@ -51898,14 +52103,14 @@ against at application run time. - - Like gtk_get_micro_version(), but from the headers used at + + Like [func@get_micro_version], but from the headers used at application compile time, rather than from the library linked against at application run time. - - Like gtk_get_minor_version(), but from the headers used at + + Like [func@get_minor_version], but from the headers used at application compile time, rather than from the library linked against at application run time. @@ -51946,8 +52151,7 @@ map_to_controllers (gpointer widget, widgets = gtk_widget_observe_children (widget); -controllers = gtk_map_list_model_new (G_TYPE_LIST_MODEL, - widgets, +controllers = gtk_map_list_model_new (widgets, map_to_controllers, NULL, NULL); @@ -53565,8 +53769,9 @@ menubutton `GtkMenuButton` has a single CSS node with name `menubutton` which contains a `button` node with a `.toggle` style class. -If the button contains only an icon or an arrow, it will have the -`.image-button` style class, if it contains both, it will have the +If the button contains an icon, it will have the `.image-button` style class, +if it contains text, it will have `.text-button` style class. If an arrow is +visible in addition to an icon, text or a custom child, it will also have `.arrow-button` style class. Inside the toggle button content, there is an `arrow` node for @@ -53609,6 +53814,20 @@ should you wish to. + + + Gets the child widget of @menu_button. + + the child widget of @menu_button + + + + + a `GtkMenuButton` + + + + Returns the direction the popup will be pointing at when popped up. @@ -53640,7 +53859,7 @@ should you wish to. Gets the name of the icon shown in the button. - + the name of the icon shown in the button @@ -53654,7 +53873,7 @@ should you wish to. Gets the label shown in the button - + the label shown in the button @@ -53752,7 +53971,8 @@ mnemonic. - Sets whether to show a dropdown arrow even when using an icon. + Sets whether to show a dropdown arrow even when using an icon or a custom +child. @@ -53767,6 +53987,30 @@ mnemonic. + + + Sets the child widget of @menu_button. + +Setting a child resets [property@Gtk.MenuButton:label] and +[property@Gtk.MenuButton:icon-name]. + +If [property@Gtk.MenuButton:always-show-arrow] is set to `TRUE` and +[property@Gtk.MenuButton:direction] is not `GTK_ARROW_NONE`, a dropdown arrow +will be shown next to the child. + + + + + + a `GtkMenuButton` + + + + the child widget + + + + Sets @func to be called when a popup is about to be shown. @@ -53849,7 +54093,14 @@ as if you passed %GTK_ARROW_DOWN (although you won’t see any arrows). - Sets the name of an icon to show inside the menu button. + Sets the name of an icon to show inside the menu button. + +Setting icon name resets [property@Gtk.MenuButton:label] and +[property@Gtk.MenuButton:child]. + +If [property@Gtk.MenuButton:always-show-arrow] is set to `TRUE` and +[property@Gtk.MenuButton:direction] is not `GTK_ARROW_NONE`, a dropdown arrow +will be shown next to the icon. @@ -53866,7 +54117,13 @@ as if you passed %GTK_ARROW_DOWN (although you won’t see any arrows). - Sets the label to show inside the menu button. + Sets the label to show inside the menu button. + +Setting a label resets [property@Gtk.MenuButton:icon-name] and +[property@Gtk.MenuButton:child]. + +If [property@Gtk.MenuButton:direction] is not `GTK_ARROW_NONE`, a dropdown +arrow will be shown next to the label. @@ -53969,9 +54226,15 @@ Primary menus can be opened with the <kbd>F10</kbd> key. - Whether to show a dropdown arrow even when using an icon. + Whether to show a dropdown arrow even when using an icon or a custom child. + + + + The child widget. + + @@ -54351,7 +54614,7 @@ See [func@Pango.parse_markup]. - The type of message being displayed in a `GtkMessageDialog`. + The type of message being displayed in a [class@MessageDialog]. Informational message @@ -54470,7 +54733,7 @@ will be shown. Gets the transient parent used by the `GtkMountOperation`. - + the transient parent for windows shown by @op @@ -54687,7 +54950,7 @@ elements. Returns the underlying model of @self. - + the underlying model @@ -54874,7 +55137,7 @@ renderer, use [method@Gtk.Native.get_renderer]. Finds the `GtkNative` associated with the surface. - + the `GtkNative` that is associated with @surface @@ -55330,6 +55593,26 @@ responds to the dialog this signal will not be emitted. + + Options for selecting a different wrap mode for natural size +requests. + +See for example the [property@Gtk.Label:natural-wrap-mode] property. + + Inherit the minimum size request. + In particular, this should be used with %PANGO_WRAP_CHAR. + + + Try not to wrap the text. This mode is the + closest to GTK3's behavior but can lead to a wide label leaving + lots of empty space below the text. + + + Attempt to wrap at word boundaries. This + is useful in particular when using %PANGO_WRAP_WORD_CHAR as the + wrap mode. + + A `GtkShortcutTrigger` that never triggers. @@ -55369,7 +55652,7 @@ when a `GtkSelectionModel` is required. Gets the model that @self is wrapping. - + The model being wrapped @@ -56890,7 +57173,7 @@ If you want to keep a reference to `object`, use [ctor@Gtk.ConstantExpression.ne Describes the way two values can be compared. -These values can be used with a `GCompareFunc`. However, +These values can be used with a [callback@GLib.CompareFunc]. However, a `GCompareFunc` is allowed to return any integer values. For converting such a value to a `GtkOrdering` value, use [func@Gtk.Ordering.from_cmpfunc]. @@ -56903,7 +57186,7 @@ For converting such a value to a `GtkOrdering` value, use the first value is larger than the second - + Converts the result of a `GCompareFunc` like strcmp() to a `GtkOrdering` value. @@ -56970,7 +57253,7 @@ changed at runtime, allowing the widgets to “flip”. Represents the orientation of widgets and other objects. -Typical examples are `GtkBox or `GtkGesturePan`. +Typical examples are [class@Box] or [class@GesturePan]. The element is in horizontal orientation. @@ -57611,7 +57894,7 @@ resizing a widget which was just redrawn. Represents the packing location of a children in its parent. -See `GtkWindowControls` for example. +See [class@WindowControls] for example. The child is packed into the start of the widget @@ -57665,7 +57948,7 @@ the stylus-sensitive area. These buttons and sensors have no implicit meaning, and by default they perform no action. `GtkPadController` is provided to map those to -`GAction` objects, thus letting the application give them a more +[iface@Gio.Action] objects, thus letting the application give them a more semantic meaning. Buttons and sensors are not constrained to triggering a single action, @@ -57678,10 +57961,10 @@ in a group share the same current mode, but different groups may have different modes. See [method@Gdk.DevicePad.get_n_groups] and [method@Gdk.DevicePad.get_group_n_modes]. -Each of the actions that a given button/strip/ring performs for a given -mode is defined by a [struct@Gtk.PadActionEntry]. It contains an action -name that will be looked up in the given `GActionGroup` and activated -whenever the specified input element and mode are triggered. +Each of the actions that a given button/strip/ring performs for a given mode +is defined by a [struct@Gtk.PadActionEntry]. It contains an action name that +will be looked up in the given [iface@Gio.ActionGroup] and activated whenever +the specified input element and mode are triggered. A simple example of `GtkPadController` usage: Assigning button 1 in all modes and pad devices to an "invert-selection" action: @@ -58439,7 +58722,7 @@ API in [class@Gtk.PrintOperation]. Gets the current print settings from the dialog. - + the current print settings @@ -58478,7 +58761,7 @@ takes its values. a `GtkPageSetupUnixDialog` - + a `GtkPrintSettings` @@ -58486,7 +58769,7 @@ takes its values. - Describes the panning direction of a `GtkGesturePan` + Describes the panning direction of a [class@GesturePan]. panned towards the left @@ -59500,8 +59783,8 @@ icon, and possibly other children. Gets the menu model set with gtk_password_entry_set_extra_menu(). - - (nullable): the menu model + + the menu model @@ -59615,7 +59898,7 @@ from being swapped to disk. - Flags that influence the behavior of gtk_widget_pick(). + Flags that influence the behavior of [method@Widget.pick]. The default behavior, include widgets that are receiving events @@ -59623,7 +59906,7 @@ from being swapped to disk. Include widgets that are insensitive - Include widgets that are marked as non-targetable. See `GtkWidget:can-target` + Include widgets that are marked as non-targetable. See [property@Widget:can-target] @@ -60508,7 +60791,7 @@ This is in the coordinate space of the @popover parent. a `GtkPopover` - + rectangle to point to @@ -60695,6 +60978,7 @@ domain to use. The following attributes are used when constructing menu items: - "label": a user-visible string to display +- "use-markup": whether the text in the menu item includes [Pango markup](https://docs.gtk.org/Pango/pango_markup.html) - "action": the prefixed name of the action to trigger - "target": the parameter to use when activating the action - "icon" and "verb-icon": names of icons that may be displayed @@ -60825,7 +61109,7 @@ an item with a `custom` attribute that matches @id. Returns the menu model used to populate the popover. - + the menu model of @popover @@ -60959,7 +61243,7 @@ item with a `custom` attribute that matches @id. Returns the model from which the contents of @bar are taken. - + a `GMenuModel` @@ -61027,8 +61311,8 @@ a menu model. Describes which edge of a widget a certain feature is positioned at. -For examples, see the tabs of a `GtkNotebook`, or the label -of a `GtkScale`. +For examples, see the tabs of a [class@Notebook], or the label +of a [class@Scale]. The feature is at the left edge. @@ -62311,7 +62595,7 @@ This is typically used to track the progress of print operation. Note that the return value is %NULL until either [method@Gtk.PrintOperation.set_print_settings] or [method@Gtk.PrintOperation.run] have been called. - + the current print settings of @op. @@ -63979,7 +64263,7 @@ error is set to either `GFileError` or `GKeyFileError`. Looks up the string value associated with @key. - + the string value for @key @@ -64030,7 +64314,7 @@ string %FALSE. Gets the value of %GTK_PRINT_SETTINGS_DEFAULT_SOURCE. - + the default source @@ -64043,7 +64327,7 @@ string %FALSE. Gets the value of %GTK_PRINT_SETTINGS_DITHER. - + the dithering that is used @@ -64111,7 +64395,7 @@ Floating point numbers are parsed with g_ascii_strtod(). Gets the value of %GTK_PRINT_SETTINGS_FINISHINGS. - + the finishings @@ -64189,7 +64473,7 @@ The returned value is converted to @units. Gets the value of %GTK_PRINT_SETTINGS_MEDIA_TYPE. The set of media types is defined in PWG 5101.1-2002 PWG. - + the media type @@ -64255,7 +64539,7 @@ converted to a `GtkPageOrientation`. Gets the value of %GTK_PRINT_SETTINGS_OUTPUT_BIN. - + the output bin @@ -64321,7 +64605,7 @@ converted to @unit. Gets the value of %GTK_PRINT_SETTINGS_PAPER_FORMAT, converted to a `GtkPaperSize`. - + the paper size @@ -64366,7 +64650,7 @@ converted to @unit. Convenience function to obtain the value of %GTK_PRINT_SETTINGS_PRINTER. - + the printer name @@ -65388,7 +65672,7 @@ dialog and print are added. Gets the currently selected printer. - + the currently selected printer @@ -66473,7 +66757,7 @@ to %TRUE and [property@Gtk.ProgressBar:text] to the empty string (not %NULL). - Describes limits of a `GtkEventController` for handling events + Describes limits of a [class@EventController] for handling events targeting other widgets. Events are handled regardless of what their @@ -66481,12 +66765,12 @@ targeting other widgets. Events are only handled if their target - is in the same `GtkNative` as the event controllers widget. Note + is in the same [iface@Native] as the event controllers widget. Note that some event types have two targets (origin and destination). - Describes the stage at which events are fed into a `GtkEventController`. + Describes the stage at which events are fed into a [class@EventController]. Events are not delivered. @@ -66570,7 +66854,7 @@ Otherwise, this expression's evaluation will fail. Gets the expression specifying the object of a property expression. - + the object expression @@ -67414,7 +67698,7 @@ to local files. - Gets the the time when the resource + Gets the time when the resource was added to the recently used resources list. a `GDateTime` for the time @@ -68176,7 +68460,7 @@ or by another application. Represents a request of a screen object in a given orientation. These are primarily used in container implementations when allocating a natural -size for children calling. See gtk_distribute_natural_allocation(). +size for children calling. See [func@distribute_natural_allocation]. A client pointer @@ -68192,7 +68476,7 @@ size for children calling. See gtk_distribute_natural_allocation(). A `GtkRequisition` represents the desired size of a widget. See -[GtkWidget’s geometry management section][geometry-management] for +[GtkWidget’s geometry management section](class.Widget.html#height-for-width-geometry-management) for more information. the widget’s desired width @@ -69822,7 +70106,7 @@ overshoot indication, at the right position. Retrieves the `GtkAdjustment` used for horizontal scrolling. - + horizontal `GtkAdjustment`. @@ -69850,7 +70134,7 @@ overshoot indication, at the right position. Retrieves the `GtkAdjustment` used for vertical scrolling. - + vertical `GtkAdjustment`. @@ -70961,7 +71245,7 @@ are using as your search entry using [method@Gtk.SearchBar.connect_entry]. The following example shows you how to create a more complex search entry. -[A simple example](https://gitlab.gnome.org/GNOME/gtk/tree/master/examples/search-bar.c) +[A simple example](https://gitlab.gnome.org/GNOME/gtk/tree/main/examples/search-bar.c) # CSS nodes @@ -71032,7 +71316,7 @@ child of the search bar (as in our main example). Gets the widget that @bar is capturing key events from. - + The key capture widget. @@ -71237,7 +71521,7 @@ a `.search` style class, and the text node is a child of that. Gets the widget that @entry is capturing key events from. - + The key capture widget. @@ -72477,6 +72761,13 @@ GTK uses the family name and size from this string. Timestamp of the curent fontconfig configuration. + + Whether hinting should be applied to font metrics. + +Note that this also turns off subpixel positioning of glyphs, +since it conflicts with metrics hinting. + + Name of the icon theme to use. @@ -73188,6 +73479,7 @@ when the widget has focus. Prototype for shortcuts based on user callbacks. + %TRUE if the action was successful. @@ -73386,15 +73678,15 @@ will work fine. - Describes where `GtkShortcut`s added to a -`GtkShortcutController` get handled. + Describes where [class@Shortcut]s added to a +[class@ShortcutController] get handled. Shortcuts are handled inside the widget the controller belongs to. Shortcuts are handled by - the first ancestor that is a `GtkShortcutManager` + the first ancestor that is a [iface@ShortcutManager] Shortcuts are handled by @@ -73900,7 +74192,7 @@ This example has as single section. As you can see, the shortcut groups are arranged in columns, and spread across several pages if there are too many to find on a single page. -The .ui file for this example can be found [here](https://gitlab.gnome.org/GNOME/gtk/tree/master/demos/gtk-demo/shortcuts-gedit.ui). +The .ui file for this example can be found [here](https://gitlab.gnome.org/GNOME/gtk/tree/main/demos/gtk-demo/shortcuts-gedit.ui). # An example with multiple views: @@ -73909,7 +74201,7 @@ The .ui file for this example can be found [here](https://gitlab.gnome.org/GNOME This example shows a `GtkShortcutsWindow` that has been configured to show only the shortcuts relevant to the "stopwatch" view. -The .ui file for this example can be found [here](https://gitlab.gnome.org/GNOME/gtk/tree/master/demos/gtk-demo/shortcuts-clocks.ui). +The .ui file for this example can be found [here](https://gitlab.gnome.org/GNOME/gtk/tree/main/demos/gtk-demo/shortcuts-clocks.ui). # An example with multiple sections: @@ -73918,7 +74210,7 @@ The .ui file for this example can be found [here](https://gitlab.gnome.org/GNOME This example shows a `GtkShortcutsWindow` with two sections, "Editor Shortcuts" and "Terminal Shortcuts". -The .ui file for this example can be found [here](https://gitlab.gnome.org/GNOME/gtk/tree/master/demos/gtk-demo/shortcuts-builder.ui). +The .ui file for this example can be found [here](https://gitlab.gnome.org/GNOME/gtk/tree/main/demos/gtk-demo/shortcuts-builder.ui). @@ -74183,7 +74475,7 @@ unselecting the selected item. Gets the model that @self is wrapping. - + The model being wrapped @@ -74718,14 +75010,14 @@ or the model sliced from doesn't have enough items. - `GtkSnapshot` assists in creating `GskRenderNodes` for widgets. + `GtkSnapshot` assists in creating [class@Gsk.RenderNode]s for widgets. It functions in a similar way to a cairo context, and maintains a stack of render nodes and their associated transformations. -The node at the top of the stack is the the one that gtk_snapshot_append_… -functions operate on. Use the gtk_snapshot_push_… functions and -gtk_snapshot_pop() to change the current node. +The node at the top of the stack is the one that `gtk_snapshot_append_…()` +functions operate on. Use the `gtk_snapshot_push_…()` functions and +[method@Snapshot.pop] to change the current node. The typical way to obtain a `GtkSnapshot` object is as an argument to the [vfunc@Gtk.Widget.snapshot] vfunc. If you need to create your own @@ -74750,7 +75042,7 @@ The four sides of the border can have different widths and colors. - a `GskRoundedRect` describing the outline of the border + the outline of the border @@ -74770,7 +75062,7 @@ The four sides of the border can have different widths and colors. - Creates a new `GskCairoNode` and appends it to the current + Creates a new [class@Gsk.CairoNode] and appends it to the current render node of @snapshot, without changing the current node. a `cairo_t` suitable for drawing the contents of @@ -74804,7 +75096,7 @@ You should try to avoid calling this function if - the `GdkRGBA` to draw + the color to draw @@ -74837,8 +75129,7 @@ You should try to avoid calling this function if - a pointer to an array of `GskColorStop` - defining the gradient + the color stops defining the gradient @@ -74924,8 +75215,7 @@ You should try to avoid calling this function if - a pointer to an array of `GskColorStop` - defining the gradient + the color stops defining the gradient @@ -75027,8 +75317,7 @@ will become the initial node. - a pointer to an array of `GskColorStop` - defining the gradient + the color stops defining the gradient @@ -75062,8 +75351,7 @@ will become the initial node. - a pointer to an array of `GskColorStop` - defining the gradient + the color stops defining the gradient @@ -75109,8 +75397,7 @@ will become the initial node. - a pointer to an array of `GskColorStop` - defining the gradient + the color stops defining the gradient @@ -75134,7 +75421,7 @@ current render node of @snapshot. - the `GdkTexture` to render + the texture to render @@ -75146,8 +75433,8 @@ current render node of @snapshot. Returns the node that was constructed by @snapshot and frees @snapshot. - - a newly-created `GskRenderNode` + + a newly-created [class@Gsk.RenderNode] @@ -75160,8 +75447,8 @@ and frees @snapshot. Returns a paintable for the node that was constructed by @snapshot and frees @snapshot. - - a newly-created `GdkPaintable` + + a newly-created [iface@Gdk.Paintable] @@ -75178,7 +75465,7 @@ constructed by @snapshot and frees @snapshot. Removes the top element from the stack of render nodes and -adds it to the nearest `GskGLShaderNode` below it. +adds it to the nearest [class@Gsk.GLShaderNode] below it. This must be called the same number of times as the number of textures is needed for the shader in @@ -75261,7 +75548,7 @@ The image is recorded until the next call to [method@Gtk.Snapshot.pop]. - the blur radius to use + the blur radius to use. Must be positive @@ -75356,11 +75643,11 @@ for example in the GTK inspector. - Push a `GskGLShaderNode`. + Push a [class@Gsk.GLShaderNode]. The node uses the given [class@Gsk.GLShader] and uniform values Additionally this takes a list of @n_children other nodes -which will be passed to the `GskGLShaderNode`. +which will be passed to the [class@Gsk.GLShaderNode]. The @take_args argument is a block of data to use for uniform arguments, as per types and offsets defined by the @shader. @@ -75485,7 +75772,9 @@ The image is recorded until the next call to [method@Gtk.Snapshot.pop]. the first shadow specification - + + + number of shadow specifications @@ -75506,7 +75795,7 @@ the current node. - the `GtkStyleContext` to use + the style context that defines the background @@ -75540,7 +75829,7 @@ the current node. - the `GtkStyleContext` to use + the style context that defines the focus ring @@ -75574,7 +75863,7 @@ the current node. - the `GtkStyleContext` to use + the style context that defines the frame @@ -75644,7 +75933,7 @@ without changing the current node. - the `GtkStyleContext` to use + the style context that defines the text @@ -75663,7 +75952,7 @@ without changing the current node. Restores @snapshot to the state saved by a preceding call to -gtk_snapshot_save() and removes that state from the stack of +[method@Snapshot.save] and removes that state from the stack of saved states. @@ -75722,12 +76011,12 @@ on an internal stack. When [method@Gtk.Snapshot.restore] is called, @snapshot will be restored to the saved state. Multiple calls to -gtk_snapshot_save() and gtk_snapshot_restore() can be nested; -each call to gtk_snapshot_restore() restores the state from -the matching paired gtk_snapshot_save(). +[method@Snapshot.save] and [class@Snapshot.restore] can be nested; +each call to `gtk_snapshot_restore()` restores the state from +the matching paired `gtk_snapshot_save()`. It is necessary to clear all saved states with corresponding -calls to gtk_snapshot_restore(). +calls to `gtk_snapshot_restore()`. @@ -75791,8 +76080,8 @@ by @snapshot. After calling this function, it is no longer possible to add more nodes to @snapshot. The only function that should -be called after this is g_object_unref(). - +be called after this is [method@GObject.Object.unref]. + the constructed `GskRenderNode` @@ -75809,8 +76098,8 @@ that was constructed by @snapshot. After calling this function, it is no longer possible to add more nodes to @snapshot. The only function that should -be called after this is g_object_unref(). - +be called after this is [method@GObject.Object.unref]. + a new `GdkPaintable` @@ -75896,6 +76185,13 @@ be called after this is g_object_unref(). A `GListModel` that sorts the elements of an underlying model according to a `GtkSorter`. +The model is a stable sort. If two items compare equal according +to the sorter, the one that appears first in the original model will +also appear first after sorting. +Note that if you change the sorter, the previous order will have no +influence on the new order. If you want that, consider using a +`GtkMultiSorter` and appending the previous sorter to it. + The model can be set up to do incremental sorting, so that sorting long lists doesn't block the UI. See [method@Gtk.SortListModel.set_incremental] for details. @@ -79611,7 +79907,7 @@ See [method@Gtk.StyleContext.add_provider] and adding `GtkStyleProviders`. GTK uses the `GtkStyleProvider` implementation for CSS in -[iface@Gtk.CssProvider]. +[class@Gtk.CssProvider]. @@ -79761,7 +80057,7 @@ complete. The signal handler should return %TRUE to prevent the default handler from running. Visually, the underlying state is represented by the trough color of -the switch, while the [property@Gtk.Switch`:active] property is +the switch, while the [property@Gtk.Switch:active] property is represented by the position of the switch. %TRUE to stop the signal emission @@ -79775,6 +80071,155 @@ represented by the position of the switch. + + The indexes of colors passed to symbolic color rendering, such as +[vfunc@Gtk.SymbolicPaintable.snapshot_symbolic]. + +More values may be added over time. + + The default foreground color + + + Indication color for errors + + + Indication color for warnings + + + Indication color for success + + + + `GtkSymbolicPaintable` is an interface that support symbolic colors in +paintables. + +`GdkPaintable`s implementing the interface will have the +[vfunc@Gtk.SymbolicPaintable.snapshot_symbolic] function called and +have the colors for drawing symbolic icons passed. At least 4 colors are guaranteed +to be passed every time. + +These 4 colors are the foreground color, and the colors to use for errors, warnings +and success information in that order. + +More colors may be added in the future. + + + Snapshots the paintable with the given colors. + +If less than 4 colors are provided, GTK will pad the array with default +colors. + + + + + + a `GtkSymbolicPaintable` + + + + a `GdkSnapshot` to snapshot to + + + + width to snapshot in + + + + height to snapshot in + + + + a pointer to an array of colors + + + + + + The number of colors + + + + + + Snapshots the paintable with the given colors. + +If less than 4 colors are provided, GTK will pad the array with default +colors. + + + + + + a `GtkSymbolicPaintable` + + + + a `GdkSnapshot` to snapshot to + + + + width to snapshot in + + + + height to snapshot in + + + + a pointer to an array of colors + + + + + + The number of colors + + + + + + + The list of virtual functions for the `GtkSymbolicPaintable` interface. +No function must be implemented, default implementations exist for each one. + + + + + + + + + + + a `GtkSymbolicPaintable` + + + + a `GdkSnapshot` to snapshot to + + + + width to snapshot in + + + + height to snapshot in + + + + a pointer to an array of colors + + + + + + The number of colors + + + + + + Values that can be passed to the [vfunc@Gtk.Widget.system_setting_changed] vfunc. @@ -79782,7 +80227,7 @@ vfunc. The values indicate which system setting has changed. Widgets may need to drop caches, or react otherwise. -Most of the values correspond to `GtkSettings` properties. +Most of the values correspond to [class@Settings] properties. More values may be added over time. @@ -83778,6 +84223,21 @@ function [method@Gtk.TextBuffer.create_child_anchor]. + + Creates a new `GtkTextChildAnchor` with the given replacement character. + +Usually you would then insert it into a `GtkTextBuffer` with +[method@Gtk.TextBuffer.insert_child_anchor]. + + a new `GtkTextChildAnchor` + + + + + + + + Determines whether a child anchor has been deleted from the buffer. @@ -85090,7 +85550,7 @@ including the paragraph delimiters. anchor is returned. Otherwise, %NULL is returned. - + the anchor at @iter @@ -85211,7 +85671,7 @@ an offset back into an iterator. If the element at @iter is a paintable, the paintable is returned. Otherwise, %NULL is returned. - + the paintable at @iter @@ -85829,7 +86289,7 @@ right side of the text you’re typing). Gets the buffer this mark is located inside. Returns %NULL if the mark is deleted. - + the mark’s `GtkTextBuffer` @@ -86204,6 +86664,12 @@ on the current locale, see also [func@Gtk.get_default_language]. + + + + + + The name used to refer to the tag. @@ -86284,6 +86750,15 @@ Pango predefines some scales such as %PANGO_SCALE_X_LARGE. + + Whether this tag represents a single sentence. + +This affects cursor movement. + + + + + How to render invisible characters. @@ -86340,6 +86815,13 @@ If not set, strikeouts will use the foreground color. + + How to transform the text for display. + + + + + Style of underline for this text. @@ -86375,6 +86857,15 @@ this property will always override those defaults. + + Whether this tag represents a single word. + +This affects line breaks and cursor movement. + + + + + Whether to wrap lines never, at word boundaries, or at character boundaries. @@ -89047,7 +89538,7 @@ The state of a `GtkToggleButton` can be set specifically using To simply switch the state of a toggle button, use [method@Gtk.ToggleButton.toggled]. -# Grouping +## Grouping Toggle buttons can be grouped together, to form mutually exclusive groups - only one of the buttons can be toggled at a time, and toggling @@ -89055,20 +89546,25 @@ another one will switch the currently toggled one off. To add a `GtkToggleButton` to a group, use [method@Gtk.ToggleButton.set_group]. -# CSS nodes +## CSS nodes `GtkToggleButton` has a single CSS node with name button. To differentiate -it from a plain `GtkButton`, it gets the .toggle style class. +it from a plain `GtkButton`, it gets the `.toggle` style class. ## Creating two `GtkToggleButton` widgets. ```c -static void output_state (GtkToggleButton *source, gpointer user_data) +static void +output_state (GtkToggleButton *source, + gpointer user_data) { - printf ("Active: %d\n", gtk_toggle_button_get_active (source)); + g_print ("Toggle button "%s" is active: %s", + gtk_button_get_label (GTK_BUTTON (source)), + gtk_toggle_button_get_active (source) ? "Yes" : "No"); } -void make_toggles (void) +static void +make_toggles (void) { GtkWidget *window, *toggle1, *toggle2; GtkWidget *box; @@ -89077,7 +89573,7 @@ void make_toggles (void) window = gtk_window_new (); box = gtk_box_new (GTK_ORIENTATION_VERTICAL, 12); - text = "Hi, I’m a toggle button."; + text = "Hi, I’m toggle button one"; toggle1 = gtk_toggle_button_new_with_label (text); g_signal_connect (toggle1, "toggled", @@ -89085,7 +89581,7 @@ void make_toggles (void) NULL); gtk_box_append (GTK_BOX (box), toggle1); - text = "Hi, I’m a toggle button."; + text = "Hi, I’m toggle button two"; toggle2 = gtk_toggle_button_new_with_label (text); g_signal_connect (toggle2, "toggled", G_CALLBACK (output_state), @@ -89879,6 +90375,20 @@ child, and toggling it will change the %GTK_ACCESSIBLE_STATE_EXPANDED state. + + + TreeExpander indents the child by the width of an expander-icon if it is not expandable. + + TRUE if the child should be indented when not expandable. Otherwise FALSE. + + + + + a `GtkTreeExpander` + + + + Forwards the item set on the `GtkTreeListRow` that @self is managing. @@ -89930,6 +90440,23 @@ gtk_tree_list_row_get_item (gtk_tree_expander_get_list_row (@self)); + + + Sets if the TreeExpander should indent the child by the width of an expander-icon when it is not expandable. + + + + + + a `GtkTreeExpander` widget + + + + TRUE if the child should be indented without expander. Otherwise FALSE. + + + + Sets the tree list row that this expander should manage. @@ -89953,6 +90480,12 @@ gtk_tree_list_row_get_item (gtk_tree_expander_get_list_row (@self)); The child widget with the actual contents. + + + + TreeExpander indents the child by the width of an expander-icon if it is not expandable. + + The item held by this expander's row. @@ -97668,17 +98201,18 @@ gtk_tree_view_set_cursor_on_cell() when moving horizontally The "row-activated" signal is emitted when the method -gtk_tree_view_row_activated() is called. +[`method@Gtk.TreeView.row_activated`] is called. This signal is emitted when the user double-clicks a treeview row with the [property@Gtk.TreeView:activate-on-single-click] property set to %FALSE, or when the user single-clicks a row when that property set to %TRUE. This signal is also emitted when a non-editable row is selected and one -of the keys: <kbd>Space</kbd>, <kbd>Shift</kbd>+<kbd>Space</kbd>, <kbd>Return</kbd> or <kbd>Enter</kbd> is pressed. +of the keys: <kbd>Space</kbd>, <kbd>Shift</kbd>+<kbd>Space</kbd>, +<kbd>Return</kbd> or <kbd>Enter</kbd> is pressed. For selection handling refer to the -[tree widget conceptual overview][TreeWidget] +[tree widget conceptual overview](section-tree-widget.html) as well as `GtkTreeSelection`. @@ -98046,16 +98580,16 @@ signal if you need to control the expandability of individual rows. - A visible column in a GtkTreeView widget + A visible column in a [class@Gtk.TreeView] widget -The GtkTreeViewColumn object represents a visible column in a `GtkTreeView` widget. +The `GtkTreeViewColumn` object represents a visible column in a `GtkTreeView` widget. It allows to set properties of the column header, and functions as a holding pen for the cell renderers which determine how the data in the column is displayed. -Please refer to the [tree widget conceptual overview][TreeWidget] +Please refer to the [tree widget conceptual overview](section-tree-widget.html) for an overview of all the objects and data types related to the tree widget and -how they work together, and to the `GtkTreeView` documentation for specifics about -the CSS node structure for treeviews and their headers. +how they work together, and to the [class@Gtk.TreeView] documentation for specifics +about the CSS node structure for treeviews and their headers. @@ -99279,7 +99813,7 @@ like any other paintable and for example put it into a [class@Gtk.Picture]. etc. It supports autoplay, looping, and simple media controls. It does not have support for video overlays, multichannel audio, device selection, or input. If you are writing a full-fledged video player, -you may want to use the [class@Gdk.Paintable] API and a media framework +you may want to use the [iface@Gdk.Paintable] API and a media framework such as Gstreamer directly. @@ -99662,7 +100196,11 @@ to keep the focused child in view. - Whether to scroll when the focus changes. + Whether to scroll when the focus changes. + +Before 4.6.2, this property was mistakenly defaulting to FALSE, so if your +code needs to work with older versions, consider setting it explicitly to +TRUE. @@ -100366,12 +100904,12 @@ a more details on implementing `GtkWidgetClass.measure()`. location to store the baseline - position for the minimum size + position for the minimum size, or -1 to report no baseline location to store the baseline - position for the natural size + position for the natural size, or -1 to report no baseline @@ -102752,12 +103290,12 @@ a more details on implementing `GtkWidgetClass.measure()`. location to store the baseline - position for the minimum size + position for the minimum size, or -1 to report no baseline location to store the baseline - position for the natural size + position for the natural size, or -1 to report no baseline @@ -103568,7 +104106,7 @@ appear translucent, since it is ultimatively rendered on that toplevel. The opacity value itself is not inherited by child widgets (since that would make widgets deeper in the hierarchy progressively more translucent). As a consequence, [class@Gtk.Popover]s -and other [class@Gtk.Native] widgets with their own surface will use their +and other [iface@Gtk.Native] widgets with their own surface will use their own opacity value, and thus by default appear non-translucent, even if they are attached to a toplevel that is translucent. @@ -104783,12 +105321,12 @@ The @parameter must match the @parameter_type of the action. location to store the baseline - position for the minimum size + position for the minimum size, or -1 to report no baseline location to store the baseline - position for the natural size + position for the natural size, or -1 to report no baseline @@ -105713,7 +106251,15 @@ widget that is added as a titlebar child. # Accessibility -`GtkWindow` uses the %GTK_ACCESSIBLE_ROLE_WINDOW role. +`GtkWindow` uses the %GTK_ACCESSIBLE_ROLE_WINDOW role. + +# Actions + +`GtkWindow` defines a set of built-in actions: +- `default.activate`: Activate the default widget. +- `window.minimize`: Minimize the window. +- `window.toggle-maximized`: Maximize or restore the window. +- `window.close`: Close the window. @@ -106162,7 +106708,7 @@ activating a menubar it contains. - + Gets whether mnemonics are supposed to be visible. %TRUE if mnemonics are supposed to be visible @@ -106219,7 +106765,8 @@ activating a menubar it contains. - + + Returns the custom titlebar that has been set with gtk_window_set_titlebar(). @@ -106739,6 +107286,7 @@ property which is mentioned in the ICCCM. + Sets whether mnemonics are supposed to be visible. @@ -106852,7 +107400,8 @@ Passing %NULL does the same as setting the title to an empty string. - + + Sets a custom titlebar for @window. A typical widget used here is [class@Gtk.HeaderBar], as it @@ -107123,6 +107672,12 @@ and should not be set by applications. The title of the window. + + + + The titlebar widget. + + @@ -107777,7 +108332,7 @@ the name is not the symbol, but the lowercase name, e.g. one would use “`<Ctrl>minus`” instead of “`<Ctrl>-`”. Modifiers are enclosed in angular brackets `<>`, and match the -[enum@Gdk.ModifierType] mask: +[flags@Gdk.ModifierType] mask: - `<Shift>` for `GDK_SHIFT_MASK` - `<Ctrl>` for `GDK_CONTROL_MASK` @@ -108289,9 +108844,15 @@ changed after GTK has already been initialized. In this case, you can use it to update the default text direction as follows: |[<!-- language="C" --> -setlocale (LC_ALL, new_locale); -direction = gtk_get_locale_direction (); -gtk_widget_set_default_direction (direction); +#include <locale.h> + +static void +update_locale (const char *new_locale) +{ + setlocale (LC_ALL, new_locale); + GtkTextDirection direction = gtk_get_locale_direction (); + gtk_widget_set_default_direction (direction); +} ]| the `GtkTextDirection` of the current locale @@ -108400,7 +108961,7 @@ output values will be in the same range. Call this function before using any other GTK functions in your GUI applications. It will initialize everything needed to operate the -toolkit and parses some standard command line options. +toolkit. If you are using `GtkApplication`, you don't have to call gtk_init() or gtk_init_check(); the `GApplication::startup` handler @@ -108445,7 +109006,7 @@ or gtk_init_check(). Finds the `GtkNative` associated with the surface. - + the `GtkNative` that is associated with @surface @@ -108456,7 +109017,7 @@ or gtk_init_check(). - + Converts the result of a `GCompareFunc` like strcmp() to a `GtkOrdering` value. diff --git a/HarfBuzz-0.0.gir b/HarfBuzz-0.0.gir index b22f42a..0bc1493 100644 --- a/HarfBuzz-0.0.gir +++ b/HarfBuzz-0.0.gir @@ -273,842 +273,842 @@ be valid. The selectors defined for specifying AAT feature settings. - + Initial, unset feature selector - + for #HB_AAT_LAYOUT_FEATURE_TYPE_ALL_TYPOGRAPHIC - + for #HB_AAT_LAYOUT_FEATURE_TYPE_ALL_TYPOGRAPHIC - + for #HB_AAT_LAYOUT_FEATURE_TYPE_LIGATURES - + for #HB_AAT_LAYOUT_FEATURE_TYPE_LIGATURES - + for #HB_AAT_LAYOUT_FEATURE_TYPE_LIGATURES - + for #HB_AAT_LAYOUT_FEATURE_TYPE_LIGATURES - + for #HB_AAT_LAYOUT_FEATURE_TYPE_LIGATURES - + for #HB_AAT_LAYOUT_FEATURE_TYPE_LIGATURES - + for #HB_AAT_LAYOUT_FEATURE_TYPE_LIGATURES - + for #HB_AAT_LAYOUT_FEATURE_TYPE_LIGATURES - + for #HB_AAT_LAYOUT_FEATURE_TYPE_LIGATURES - + for #HB_AAT_LAYOUT_FEATURE_TYPE_LIGATURES - + for #HB_AAT_LAYOUT_FEATURE_TYPE_LIGATURES - + for #HB_AAT_LAYOUT_FEATURE_TYPE_LIGATURES - + for #HB_AAT_LAYOUT_FEATURE_TYPE_LIGATURES - + for #HB_AAT_LAYOUT_FEATURE_TYPE_LIGATURES - + for #HB_AAT_LAYOUT_FEATURE_TYPE_LIGATURES - + for #HB_AAT_LAYOUT_FEATURE_TYPE_LIGATURES - + for #HB_AAT_LAYOUT_FEATURE_TYPE_LIGATURES - + for #HB_AAT_LAYOUT_FEATURE_TYPE_LIGATURES - + for #HB_AAT_LAYOUT_FEATURE_TYPE_LIGATURES - + for #HB_AAT_LAYOUT_FEATURE_TYPE_LIGATURES - + for #HB_AAT_LAYOUT_FEATURE_TYPE_LIGATURES - + for #HB_AAT_LAYOUT_FEATURE_TYPE_LIGATURES - + for #HB_AAT_LAYOUT_FEATURE_TYPE_LIGATURES - + for #HB_AAT_LAYOUT_FEATURE_TYPE_LIGATURES - + for #HB_AAT_LAYOUT_FEATURE_TYPE_LIGATURES - + Deprecated - + Deprecated - + Deprecated - + Deprecated - + Deprecated - + Deprecated - + for #HB_AAT_LAYOUT_FEATURE_TYPE_VERTICAL_SUBSTITUTION - + for #HB_AAT_LAYOUT_FEATURE_TYPE_VERTICAL_SUBSTITUTION - + for #HB_AAT_LAYOUT_FEATURE_TYPE_LINGUISTIC_REARRANGEMENT - + for #HB_AAT_LAYOUT_FEATURE_TYPE_LINGUISTIC_REARRANGEMENT - + for #HB_AAT_LAYOUT_FEATURE_TYPE_NUMBER_SPACING - + for #HB_AAT_LAYOUT_FEATURE_TYPE_NUMBER_SPACING - + for #HB_AAT_LAYOUT_FEATURE_TYPE_NUMBER_SPACING - + for #HB_AAT_LAYOUT_FEATURE_TYPE_NUMBER_SPACING - + for #HB_AAT_LAYOUT_FEATURE_TYPE_SMART_SWASH_TYPE - + for #HB_AAT_LAYOUT_FEATURE_TYPE_SMART_SWASH_TYPE - + for #HB_AAT_LAYOUT_FEATURE_TYPE_SMART_SWASH_TYPE - + for #HB_AAT_LAYOUT_FEATURE_TYPE_SMART_SWASH_TYPE - + for #HB_AAT_LAYOUT_FEATURE_TYPE_SMART_SWASH_TYPE - + for #HB_AAT_LAYOUT_FEATURE_TYPE_SMART_SWASH_TYPE - + for #HB_AAT_LAYOUT_FEATURE_TYPE_SMART_SWASH_TYPE - + for #HB_AAT_LAYOUT_FEATURE_TYPE_SMART_SWASH_TYPE - + for #HB_AAT_LAYOUT_FEATURE_TYPE_SMART_SWASH_TYPE - + for #HB_AAT_LAYOUT_FEATURE_TYPE_SMART_SWASH_TYPE - + for #HB_AAT_LAYOUT_FEATURE_TYPE_DIACRITICS_TYPE - + for #HB_AAT_LAYOUT_FEATURE_TYPE_DIACRITICS_TYPE - + for #HB_AAT_LAYOUT_FEATURE_TYPE_DIACRITICS_TYPE - + for #HB_AAT_LAYOUT_FEATURE_TYPE_VERTICAL_POSITION - + for #HB_AAT_LAYOUT_FEATURE_TYPE_VERTICAL_POSITION - + for #HB_AAT_LAYOUT_FEATURE_TYPE_VERTICAL_POSITION - + for #HB_AAT_LAYOUT_FEATURE_TYPE_VERTICAL_POSITION - + for #HB_AAT_LAYOUT_FEATURE_TYPE_VERTICAL_POSITION - + for #HB_AAT_LAYOUT_FEATURE_TYPE_FRACTIONS - + for #HB_AAT_LAYOUT_FEATURE_TYPE_FRACTIONS - + for #HB_AAT_LAYOUT_FEATURE_TYPE_FRACTIONS - + for #HB_AAT_LAYOUT_FEATURE_TYPE_OVERLAPPING_CHARACTERS_TYPE - + for #HB_AAT_LAYOUT_FEATURE_TYPE_OVERLAPPING_CHARACTERS_TYPE - + for #HB_AAT_LAYOUT_FEATURE_TYPE_TYPOGRAPHIC_EXTRAS - + for #HB_AAT_LAYOUT_FEATURE_TYPE_TYPOGRAPHIC_EXTRAS - + for #HB_AAT_LAYOUT_FEATURE_TYPE_TYPOGRAPHIC_EXTRAS - + for #HB_AAT_LAYOUT_FEATURE_TYPE_TYPOGRAPHIC_EXTRAS - + for #HB_AAT_LAYOUT_FEATURE_TYPE_TYPOGRAPHIC_EXTRAS - + for #HB_AAT_LAYOUT_FEATURE_TYPE_TYPOGRAPHIC_EXTRAS - + for #HB_AAT_LAYOUT_FEATURE_TYPE_TYPOGRAPHIC_EXTRAS - + for #HB_AAT_LAYOUT_FEATURE_TYPE_TYPOGRAPHIC_EXTRAS - + for #HB_AAT_LAYOUT_FEATURE_TYPE_TYPOGRAPHIC_EXTRAS - + for #HB_AAT_LAYOUT_FEATURE_TYPE_TYPOGRAPHIC_EXTRAS - + for #HB_AAT_LAYOUT_FEATURE_TYPE_TYPOGRAPHIC_EXTRAS - + for #HB_AAT_LAYOUT_FEATURE_TYPE_TYPOGRAPHIC_EXTRAS - + for #HB_AAT_LAYOUT_FEATURE_TYPE_MATHEMATICAL_EXTRAS - + for #HB_AAT_LAYOUT_FEATURE_TYPE_MATHEMATICAL_EXTRAS - + for #HB_AAT_LAYOUT_FEATURE_TYPE_MATHEMATICAL_EXTRAS - + for #HB_AAT_LAYOUT_FEATURE_TYPE_MATHEMATICAL_EXTRAS - + for #HB_AAT_LAYOUT_FEATURE_TYPE_MATHEMATICAL_EXTRAS - + for #HB_AAT_LAYOUT_FEATURE_TYPE_MATHEMATICAL_EXTRAS - + for #HB_AAT_LAYOUT_FEATURE_TYPE_MATHEMATICAL_EXTRAS - + for #HB_AAT_LAYOUT_FEATURE_TYPE_MATHEMATICAL_EXTRAS - + for #HB_AAT_LAYOUT_FEATURE_TYPE_MATHEMATICAL_EXTRAS - + for #HB_AAT_LAYOUT_FEATURE_TYPE_MATHEMATICAL_EXTRAS - + for #HB_AAT_LAYOUT_FEATURE_TYPE_MATHEMATICAL_EXTRAS - + for #HB_AAT_LAYOUT_FEATURE_TYPE_MATHEMATICAL_EXTRAS - + for #HB_AAT_LAYOUT_FEATURE_TYPE_ORNAMENT_SETS_TYPE - + for #HB_AAT_LAYOUT_FEATURE_TYPE_ORNAMENT_SETS_TYPE - + for #HB_AAT_LAYOUT_FEATURE_TYPE_ORNAMENT_SETS_TYPE - + for #HB_AAT_LAYOUT_FEATURE_TYPE_ORNAMENT_SETS_TYPE - + for #HB_AAT_LAYOUT_FEATURE_TYPE_ORNAMENT_SETS_TYPE - + for #HB_AAT_LAYOUT_FEATURE_TYPE_ORNAMENT_SETS_TYPE - + for #HB_AAT_LAYOUT_FEATURE_TYPE_ORNAMENT_SETS_TYPE - + for #HB_AAT_LAYOUT_FEATURE_TYPE_CHARACTER_ALTERNATIVES - + for #HB_AAT_LAYOUT_FEATURE_TYPE_DESIGN_COMPLEXITY_TYPE - + for #HB_AAT_LAYOUT_FEATURE_TYPE_DESIGN_COMPLEXITY_TYPE - + for #HB_AAT_LAYOUT_FEATURE_TYPE_DESIGN_COMPLEXITY_TYPE - + for #HB_AAT_LAYOUT_FEATURE_TYPE_DESIGN_COMPLEXITY_TYPE - + for #HB_AAT_LAYOUT_FEATURE_TYPE_DESIGN_COMPLEXITY_TYPE - + for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLE_OPTIONS - + for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLE_OPTIONS - + for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLE_OPTIONS - + for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLE_OPTIONS - + for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLE_OPTIONS - + for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLE_OPTIONS - + for #HB_AAT_LAYOUT_FEATURE_TYPE_CHARACTER_SHAPE - + for #HB_AAT_LAYOUT_FEATURE_TYPE_CHARACTER_SHAPE - + for #HB_AAT_LAYOUT_FEATURE_TYPE_CHARACTER_SHAPE - + for #HB_AAT_LAYOUT_FEATURE_TYPE_CHARACTER_SHAPE - + for #HB_AAT_LAYOUT_FEATURE_TYPE_CHARACTER_SHAPE - + for #HB_AAT_LAYOUT_FEATURE_TYPE_CHARACTER_SHAPE - + for #HB_AAT_LAYOUT_FEATURE_TYPE_CHARACTER_SHAPE - + for #HB_AAT_LAYOUT_FEATURE_TYPE_CHARACTER_SHAPE - + for #HB_AAT_LAYOUT_FEATURE_TYPE_CHARACTER_SHAPE - + for #HB_AAT_LAYOUT_FEATURE_TYPE_CHARACTER_SHAPE - + for #HB_AAT_LAYOUT_FEATURE_TYPE_CHARACTER_SHAPE - + for #HB_AAT_LAYOUT_FEATURE_TYPE_CHARACTER_SHAPE - + for #HB_AAT_LAYOUT_FEATURE_TYPE_CHARACTER_SHAPE - + for #HB_AAT_LAYOUT_FEATURE_TYPE_CHARACTER_SHAPE - + for #HB_AAT_LAYOUT_FEATURE_TYPE_CHARACTER_SHAPE - + for #HB_AAT_LAYOUT_FEATURE_TYPE_NUMBER_CASE - + for #HB_AAT_LAYOUT_FEATURE_TYPE_NUMBER_CASE - + for #HB_AAT_LAYOUT_FEATURE_TYPE_TEXT_SPACING - + for #HB_AAT_LAYOUT_FEATURE_TYPE_TEXT_SPACING - + for #HB_AAT_LAYOUT_FEATURE_TYPE_TEXT_SPACING - + for #HB_AAT_LAYOUT_FEATURE_TYPE_TEXT_SPACING - + for #HB_AAT_LAYOUT_FEATURE_TYPE_TEXT_SPACING - + for #HB_AAT_LAYOUT_FEATURE_TYPE_TEXT_SPACING - + for #HB_AAT_LAYOUT_FEATURE_TYPE_TEXT_SPACING - + for #HB_AAT_LAYOUT_FEATURE_TYPE_TRANSLITERATION - + for #HB_AAT_LAYOUT_FEATURE_TYPE_TRANSLITERATION - + for #HB_AAT_LAYOUT_FEATURE_TYPE_TRANSLITERATION - + for #HB_AAT_LAYOUT_FEATURE_TYPE_TRANSLITERATION - + for #HB_AAT_LAYOUT_FEATURE_TYPE_TRANSLITERATION - + for #HB_AAT_LAYOUT_FEATURE_TYPE_TRANSLITERATION - + for #HB_AAT_LAYOUT_FEATURE_TYPE_TRANSLITERATION - + for #HB_AAT_LAYOUT_FEATURE_TYPE_TRANSLITERATION - + for #HB_AAT_LAYOUT_FEATURE_TYPE_TRANSLITERATION - + for #HB_AAT_LAYOUT_FEATURE_TYPE_TRANSLITERATION - + for #HB_AAT_LAYOUT_FEATURE_TYPE_ANNOTATION_TYPE - + for #HB_AAT_LAYOUT_FEATURE_TYPE_ANNOTATION_TYPE - + for #HB_AAT_LAYOUT_FEATURE_TYPE_ANNOTATION_TYPE - + for #HB_AAT_LAYOUT_FEATURE_TYPE_ANNOTATION_TYPE - + for #HB_AAT_LAYOUT_FEATURE_TYPE_ANNOTATION_TYPE - + for #HB_AAT_LAYOUT_FEATURE_TYPE_ANNOTATION_TYPE - + for #HB_AAT_LAYOUT_FEATURE_TYPE_ANNOTATION_TYPE - + for #HB_AAT_LAYOUT_FEATURE_TYPE_ANNOTATION_TYPE - + for #HB_AAT_LAYOUT_FEATURE_TYPE_ANNOTATION_TYPE - + for #HB_AAT_LAYOUT_FEATURE_TYPE_ANNOTATION_TYPE - + for #HB_AAT_LAYOUT_FEATURE_TYPE_ANNOTATION_TYPE - + for #HB_AAT_LAYOUT_FEATURE_TYPE_KANA_SPACING_TYPE - + for #HB_AAT_LAYOUT_FEATURE_TYPE_KANA_SPACING_TYPE - + for #HB_AAT_LAYOUT_FEATURE_TYPE_IDEOGRAPHIC_SPACING_TYPE - + for #HB_AAT_LAYOUT_FEATURE_TYPE_IDEOGRAPHIC_SPACING_TYPE - + for #HB_AAT_LAYOUT_FEATURE_TYPE_IDEOGRAPHIC_SPACING_TYPE - + for #HB_AAT_LAYOUT_FEATURE_TYPE_UNICODE_DECOMPOSITION_TYPE - + for #HB_AAT_LAYOUT_FEATURE_TYPE_UNICODE_DECOMPOSITION_TYPE - + for #HB_AAT_LAYOUT_FEATURE_TYPE_UNICODE_DECOMPOSITION_TYPE - + for #HB_AAT_LAYOUT_FEATURE_TYPE_UNICODE_DECOMPOSITION_TYPE - + for #HB_AAT_LAYOUT_FEATURE_TYPE_UNICODE_DECOMPOSITION_TYPE - + for #HB_AAT_LAYOUT_FEATURE_TYPE_UNICODE_DECOMPOSITION_TYPE - + Deprecated; use #HB_AAT_LAYOUT_FEATURE_SELECTOR_RUBY_KANA_OFF instead - + Deprecated; use #HB_AAT_LAYOUT_FEATURE_SELECTOR_RUBY_KANA_ON instead - + for #HB_AAT_LAYOUT_FEATURE_TYPE_RUBY_KANA - + for #HB_AAT_LAYOUT_FEATURE_TYPE_RUBY_KANA - + for #HB_AAT_LAYOUT_FEATURE_TYPE_CJK_SYMBOL_ALTERNATIVES_TYPE - + for #HB_AAT_LAYOUT_FEATURE_TYPE_CJK_SYMBOL_ALTERNATIVES_TYPE - + for #HB_AAT_LAYOUT_FEATURE_TYPE_CJK_SYMBOL_ALTERNATIVES_TYPE - + for #HB_AAT_LAYOUT_FEATURE_TYPE_CJK_SYMBOL_ALTERNATIVES_TYPE - + for #HB_AAT_LAYOUT_FEATURE_TYPE_CJK_SYMBOL_ALTERNATIVES_TYPE - + for #HB_AAT_LAYOUT_FEATURE_TYPE_CJK_SYMBOL_ALTERNATIVES_TYPE - + for #HB_AAT_LAYOUT_FEATURE_TYPE_IDEOGRAPHIC_ALTERNATIVES_TYPE - + for #HB_AAT_LAYOUT_FEATURE_TYPE_IDEOGRAPHIC_ALTERNATIVES_TYPE - + for #HB_AAT_LAYOUT_FEATURE_TYPE_IDEOGRAPHIC_ALTERNATIVES_TYPE - + for #HB_AAT_LAYOUT_FEATURE_TYPE_IDEOGRAPHIC_ALTERNATIVES_TYPE - + for #HB_AAT_LAYOUT_FEATURE_TYPE_IDEOGRAPHIC_ALTERNATIVES_TYPE - + for #HB_AAT_LAYOUT_FEATURE_TYPE_IDEOGRAPHIC_ALTERNATIVES_TYPE - + for #HB_AAT_LAYOUT_FEATURE_TYPE_CJK_VERTICAL_ROMAN_PLACEMENT_TYPE - + for #HB_AAT_LAYOUT_FEATURE_TYPE_CJK_VERTICAL_ROMAN_PLACEMENT_TYPE - + Deprecated; use #HB_AAT_LAYOUT_FEATURE_SELECTOR_CJK_ITALIC_ROMAN_OFF instead - + Deprecated; use #HB_AAT_LAYOUT_FEATURE_SELECTOR_CJK_ITALIC_ROMAN_ON instead - + for #HB_AAT_LAYOUT_FEATURE_TYPE_ITALIC_CJK_ROMAN - + for #HB_AAT_LAYOUT_FEATURE_TYPE_ITALIC_CJK_ROMAN - + for #HB_AAT_LAYOUT_FEATURE_TYPE_CASE_SENSITIVE_LAYOUT - + for #HB_AAT_LAYOUT_FEATURE_TYPE_CASE_SENSITIVE_LAYOUT - + for #HB_AAT_LAYOUT_FEATURE_TYPE_CASE_SENSITIVE_LAYOUT - + for #HB_AAT_LAYOUT_FEATURE_TYPE_CASE_SENSITIVE_LAYOUT - + for #HB_AAT_LAYOUT_FEATURE_TYPE_ALTERNATE_KANA - + for #HB_AAT_LAYOUT_FEATURE_TYPE_ALTERNATE_KANA - + for #HB_AAT_LAYOUT_FEATURE_TYPE_ALTERNATE_KANA - + for #HB_AAT_LAYOUT_FEATURE_TYPE_ALTERNATE_KANA - + for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES - + for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES - + for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES - + for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES - + for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES - + for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES - + for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES - + for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES - + for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES - + for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES - + for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES - + for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES - + for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES - + for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES - + for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES - + for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES - + for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES - + for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES - + for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES - + for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES - + for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES - + for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES - + for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES - + for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES - + for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES - + for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES - + for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES - + for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES - + for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES - + for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES - + for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES - + for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES - + for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES - + for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES - + for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES - + for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES - + for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES - + for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES - + for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES - + for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES - + for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES - + for #HB_AAT_LAYOUT_FEATURE_TYPE_CONTEXTUAL_ALTERNATIVES - + for #HB_AAT_LAYOUT_FEATURE_TYPE_CONTEXTUAL_ALTERNATIVES - + for #HB_AAT_LAYOUT_FEATURE_TYPE_CONTEXTUAL_ALTERNATIVES - + for #HB_AAT_LAYOUT_FEATURE_TYPE_CONTEXTUAL_ALTERNATIVES - + for #HB_AAT_LAYOUT_FEATURE_TYPE_CONTEXTUAL_ALTERNATIVES - + for #HB_AAT_LAYOUT_FEATURE_TYPE_CONTEXTUAL_ALTERNATIVES - + for #HB_AAT_LAYOUT_FEATURE_TYPE_LOWER_CASE - + for #HB_AAT_LAYOUT_FEATURE_TYPE_LOWER_CASE - + for #HB_AAT_LAYOUT_FEATURE_TYPE_LOWER_CASE - + for #HB_AAT_LAYOUT_FEATURE_TYPE_UPPER_CASE - + for #HB_AAT_LAYOUT_FEATURE_TYPE_UPPER_CASE - + for #HB_AAT_LAYOUT_FEATURE_TYPE_UPPER_CASE - + for #HB_AAT_LAYOUT_FEATURE_TYPE_CJK_ROMAN_SPACING_TYPE - + for #HB_AAT_LAYOUT_FEATURE_TYPE_CJK_ROMAN_SPACING_TYPE - + for #HB_AAT_LAYOUT_FEATURE_TYPE_CJK_ROMAN_SPACING_TYPE - + for #HB_AAT_LAYOUT_FEATURE_TYPE_CJK_ROMAN_SPACING_TYPE The possible feature types defined for AAT shaping. - + Initial, unset feature type - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -1645,29 +1645,29 @@ sequences of adjacent marks. backward compatibility with older versions of HarfBuzz. New client programs that do not need to maintain such backward compatibility are recommended to use @HB_BUFFER_CLUSTER_LEVEL_MONOTONE_CHARACTERS instead of the default. - + Return cluster values grouped by graphemes into monotone order. - + Return cluster values grouped into monotone order. - + Don't group cluster values. - + Default cluster level, equal to @HB_BUFFER_CLUSTER_LEVEL_MONOTONE_GRAPHEMES. - + Initial value for new buffer. - + The buffer contains input characters (before shaping). - + The buffer contains output glyphs (after shaping). @@ -1777,41 +1777,41 @@ callers if just comparing two buffers is needed. - + - + - + - + - + - + - + - + - + - + the default buffer flag. - + flag indicating that special handling of the beginning of text paragraph can be applied to this buffer. Should usually be set, unless you are passing to the buffer only part of the text without the full context. - + flag indicating that special handling of the end of text paragraph can be applied to this buffer, similar to @HB_BUFFER_FLAG_BOT. - + flag indication that character with Default_Ignorable Unicode property should use the corresponding glyph from the font, instead of hiding them (done by @@ -1819,7 +1819,7 @@ callers if just comparing two buffers is needed. advance width.) This flag takes precedence over @HB_BUFFER_FLAG_REMOVE_DEFAULT_IGNORABLES. - + flag indication that character with Default_Ignorable Unicode property should be removed from glyph string instead of hiding them (done by replacing them with the @@ -1827,7 +1827,7 @@ callers if just comparing two buffers is needed. @HB_BUFFER_FLAG_PRESERVE_DEFAULT_IGNORABLES takes precedence over this flag. Since: 1.8.0 - + flag indicating that a dotted circle should not be inserted in the rendering of incorrect character sequences (such at <0905 093E>). Since: 2.4 @@ -2282,25 +2282,25 @@ hb_buffer_serialize_glyphs() for a description of the output format. Flags that control what glyph information are serialized in hb_buffer_serialize_glyphs(). - + serialize glyph names, clusters and positions. - + do not serialize glyph cluster. - + do not serialize glyph position information. - + do no serialize glyph name. - + serialize glyph extents. - + serialize glyph flags. Since: 1.5.0 - + do not serialize glyph advances, glyph offsets will reflect absolute glyph positions. Since: 1.8.0 @@ -2329,13 +2329,13 @@ hb_buffer_serialize_list_formats() to get the list of supported formats. The buffer serialization and de-serialization format used in hb_buffer_serialize_glyphs() and hb_buffer_deserialize_glyphs(). - + a human-readable, plain text format. - + a machine-readable JSON format. - + invalid format. @@ -2882,19 +2882,19 @@ Unmatched strings will return #HB_DIRECTION_INVALID. A segment can also be tested for horizontal or vertical orientation (irrespective of specific direction) with HB_DIRECTION_IS_HORIZONTAL() or HB_DIRECTION_IS_VERTICAL(). - + Initial, unset direction. - + Text is set horizontally from left to right. - + Text is set horizontally from right to left. - + Text is set vertically from top to bottom. - + Text is set vertically from bottom to top. @@ -5829,7 +5829,7 @@ Note that @height is negative, in coordinate systems that grow up. - + Indicates that if input text is broken at the beginning of the cluster this glyph is part of, then both sides need to be re-shaped, as the @@ -5846,7 +5846,7 @@ Note that @height is negative, in coordinate systems that grow up. the reshaping to a small piece around the breaking point only. - + All the currently defined flags. @@ -6394,13 +6394,13 @@ Regarding these various memory-modes: - If the font is mmap()ed, it's okay to use @HB_MEMORY_READONLY_MAY_MAKE_WRITABLE, however, using that mode correctly is very tricky. Use @HB_MEMORY_MODE_READONLY instead. - + - + - + - + @@ -6555,15 +6555,15 @@ Display names can be generic (e.g., "Background") or specific - + Default indicating that there is nothing special to note about a color palette. - + Flag indicating that the color palette is appropriate to use when displaying the font on a light background such as white. - + Flag indicating that the color palette is appropriate to use when displaying the font on a dark background such as black. @@ -6672,34 +6672,34 @@ If the requested palette has no name the result is #HB_OT_NAME_ID_INVALID. Baseline tags from https://docs.microsoft.com/en-us/typography/opentype/spec/baselinetags - + The baseline used by alphabetic scripts such as Latin, Cyrillic and Greek. In vertical writing mode, the alphabetic baseline for characters rotated 90 degrees clockwise. (This would not apply to alphabetic characters that remain upright in vertical writing mode, since these characters are not rotated.) - + The hanging baseline. In horizontal direction, this is the horizontal line from which syllables seem, to hang in Tibetan and other similar scripts. In vertical writing mode, for Tibetan (or some other similar script) characters rotated 90 degrees clockwise. - + Ideographic character face bottom or left edge, if the direction is horizontal or vertical, respectively. - + Ideographic character face top or right edge, if the direction is horizontal or vertical, respectively. - + Ideographic em-box bottom or left edge, if the direction is horizontal or vertical, respectively. - + Ideographic em-box top or right edge baseline, if the direction is horizontal or vertical, respectively. - + The baseline about which mathematical characters are centered. In vertical writing mode when mathematical characters rotated 90 degrees clockwise, are centered. @@ -7126,19 +7126,19 @@ https://docs.microsoft.com/en-us/typography/opentype/spec/features_pt#tag-size). The GDEF classes defined for glyphs. - + Glyphs not matching the other classifications - + Spacing, single characters, capable of accepting marks - + Glyphs that represent ligation of multiple characters - + Non-spacing, combining glyphs that represent marks - + Spacing glyphs that represent part of a single character @@ -7805,117 +7805,117 @@ or GPOS table. The list returned will begin at the offset provided. The 'MATH' table constants specified at https://docs.microsoft.com/en-us/typography/opentype/spec/math - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -8132,7 +8132,7 @@ considered.</note> Flags for math glyph parts. - + @@ -8204,13 +8204,13 @@ on the fly from parts. The math kerning-table types defined for the four corners of a glyph. - + - + - + - + @@ -8258,12 +8258,12 @@ of a glyph. Known metadata tags from https://docs.microsoft.com/en-us/typography/opentype/spec/meta - + Design languages. Text, using only Basic Latin (ASCII) characters. Indicates languages and/or scripts for the user audiences that the font was primarily designed for. - + Supported languages. Text, using only Basic Latin (ASCII) characters. Indicates languages and/or scripts that the font is declared to be capable of supporting. @@ -8331,88 +8331,88 @@ that the font is declared to be capable of supporting. From https://docs.microsoft.com/en-us/typography/opentype/spec/mvar#value-tags - + horizontal ascender. - + horizontal descender. - + horizontal line gap. - + horizontal clipping ascent. - + horizontal clipping descent. - + vertical ascender. - + vertical descender. - + vertical line gap. - + horizontal caret rise. - + horizontal caret run. - + horizontal caret offset. - + vertical caret rise. - + vertical caret run. - + vertical caret offset. - + x height. - + cap height. - + subscript em x size. - + subscript em y size. - + subscript em x offset. - + subscript em y offset. - + superscript em x size. - + superscript em y size. - + superscript em x offset. - + superscript em y offset. - + strikeout size. - + strikeout offset. - + underline size. - + underline offset. @@ -8694,7 +8694,7 @@ the language tag results - + The axis should not be exposed directly in user interfaces. @@ -9097,13 +9097,13 @@ Unknown scripts will return #HB_DIRECTION_LTR. to the four-letter values defined by [ISO 15924](https://unicode.org/iso15924/). See also the Script (sc) property of the Unicode Character Database. - + HB_TAG ('Z','y','y','y') - + HB_TAG ('Z','i','n','h') - + HB_TAG ('Z','z','z','z') @HB_SCRIPT_ARABIC @HB_SCRIPT_ARMENIAN @@ -9256,315 +9256,315 @@ See also the Script (sc) property of the Unicode Character Database. @HB_SCRIPT_NYIAKENG_PUACHUE_HMONG @HB_SCRIPT_WANCHO - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + #HB_TAG_NONE @@ -10576,175 +10576,175 @@ from the Unicode Character Database. <note>Note: newer versions of Unicode may add new values. Client programs should be ready to handle any value in the 0..254 range being returned from hb_unicode_combining_class().</note> - + Spacing and enclosing marks; also many vowel and consonant signs, even if nonspacing - + Marks which overlay a base letter or symbol - + Diacritic nukta marks in Brahmi-derived scripts - + Hiragana/Katakana voicing marks - + Viramas - + [Hebrew] - + [Hebrew] - + [Hebrew] - + [Hebrew] - + [Hebrew] - + [Hebrew] - + [Hebrew] - + [Hebrew] - + [Hebrew] - + [Hebrew] - + [Hebrew] - + [Hebrew] - + [Hebrew] - + [Hebrew] - + [Hebrew] - + [Hebrew] - + [Hebrew] - + [Arabic] - + [Arabic] - + [Arabic] - + [Arabic] - + [Arabic] - + [Arabic] - + [Arabic] - + [Arabic] - + [Arabic] - + [Syriac] - + [Telugu] - + [Telugu] - + [Thai] - + [Thai] - + [Lao] - + [Lao] - + [Tibetan] - + [Tibetan] - + [Tibetan] - + Marks attached at the bottom left - + Marks attached directly below - + Marks attached directly above - + Marks attached at the top right - + Distinct marks at the bottom left - + Distinct marks directly below - + Distinct marks at the bottom right - + Distinct marks to the left - + Distinct marks to the right - + Distinct marks at the top left - + Distinct marks directly above - + Distinct marks at the top right - + Distinct marks subtending two bases - + Distinct marks extending above two bases - + Greek iota subscript only - + Invalid combining class @@ -11333,94 +11333,94 @@ a specified Unicode code point. Data type for the "General_Category" (gc) property from the Unicode Character Database. - + [Cc] - + [Cf] - + [Cn] - + [Co] - + [Cs] - + [Ll] - + [Lm] - + [Lo] - + [Lt] - + [Lu] - + [Mc] - + [Me] - + [Mn] - + [Nd] - + [Nl] - + [No] - + [Pc] - + [Pd] - + [Pe] - + [Pf] - + [Pi] - + [Po] - + [Ps] - + [Sc] - + [Sk] - + [Sm] - + [So] - + [Zl] - + [Zp] - + [Zs] diff --git a/JavaScriptCore-4.0.gir b/JavaScriptCore-4.0.gir index 6d8b01b..f511309 100644 --- a/JavaScriptCore-4.0.gir +++ b/JavaScriptCore-4.0.gir @@ -1909,13 +1909,13 @@ application compile time, rather than from the library linked against at application run time. - + 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. - + 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. @@ -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. +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. diff --git a/Pango-1.0.gir b/Pango-1.0.gir index c3c775a..9250b27 100644 --- a/Pango-1.0.gir +++ b/Pango-1.0.gir @@ -17,12 +17,14 @@ and/or use gtk-doc annotations. --> The `PangoGlyphUnit` type is used to store dimensions within Pango. -Dimensions are stored in 1/%PANGO_SCALE of a device unit. +Dimensions are stored in 1/PANGO_SCALE of a device unit. (A device unit might be a pixel for screen display, or -a point on a printer.) %PANGO_SCALE is currently 1024, and +a point on a printer.) PANGO_SCALE is currently 1024, and may change in the future (unlikely though), but you should not -depend on its exact value. The PANGO_PIXELS() macro can be used -to convert from glyph units into device units with correct rounding. +depend on its exact value. + +The PANGO_PIXELS() macro can be used to convert from glyph units +into device units with correct rounding. @@ -74,14 +76,17 @@ the end of the text. within the available space. If the `PangoLayout` is set to justify using [method@Pango.Layout.set_justify], -this only has effect for partial lines. - +this only affects partial lines. + +See [method@Pango.Layout.set_auto_dir] for how text direction affects +the interpretation of `PangoAlignment` values. + Put all available space on the right - + Center the line within the available space - + Put all available space on the left @@ -89,11 +94,11 @@ this only has effect for partial lines. The `PangoAnalysis` structure stores information about the properties of a segment of text. - unused + unused, reserved - unused + unused, reserved @@ -270,7 +275,7 @@ font features as an attribute. - the featues, as a string in CSS syntax + the features, as a string in CSS syntax @@ -288,7 +293,7 @@ alternative glyphs, ligatures, etc. for fonts that support them. a string with OpenType font features, with the syntax of the [CSS font-feature-settings property](https://www.w3.org/TR/css-fonts-4/#font-rend-desc) - + @@ -453,11 +458,11 @@ a signed integer are clamped to %G_MAXINT. location to store the start of the range - + location to store the end of the range - + @@ -699,10 +704,16 @@ This operation is equivalent to stretching every attribute that applies at position @pos in @list by an amount @len, and then calling [method@Pango.AttrList.change] with a copy of each attribute in @other in sequence (offset in position -by @pos). +by @pos, and limited in length to @len). This operation proves useful for, for instance, inserting -a pre-edit string in the middle of an edit buffer. +a pre-edit string in the middle of an edit buffer. + +For backwards compatibility, the function behaves differently +when @len is 0. In this case, the attributes from @other are +not imited to @len, and are just overlayed on top of @list. + +This mode is useful for merging two lists of attributes together. @@ -717,16 +728,36 @@ a pre-edit string in the middle of an edit buffer. the position in @list at which to insert @other - + the length of the spliced segment. (Note that this must be specified since the attributes in @other may only be present at some subsection of this range) - + + + Serializes a `PangoAttrList` to a string. + +No guarantees are made about the format of the string, +it may change between Pango versions. + +The intended use of this function is testing and +debugging. The format is not meant as a permanent +storage format. + + a newly allocated string + + + + + a `PangoAttrList` + + + + Decrease the reference count of the given attribute list by one. @@ -780,6 +811,22 @@ behind @pos + @remove. + + Deserializes a `PangoAttrList` from a string. + +This is the counterpart to [method@Pango.AttrList.to_string]. +See that functions for details about the format. + + a new `PangoAttrList` + + + + + a string + + + + The `PangoAttrShape` structure is used to represent attributes which @@ -940,99 +987,119 @@ Along with the predefined values, it is possible to allocate additional values for custom attributes using [func@AttrType.register]. The predefined values are given below. The type of structure used to store the attribute is listed in parentheses after the description. - + does not happen - + language ([struct@Pango.AttrLanguage]) - + font family name list ([struct@Pango.AttrString]) - + font slant style ([struct@Pango.AttrInt]) - + font weight ([struct@Pango.AttrInt]) - + font variant (normal or small caps) ([struct@Pango.AttrInt]) - + font stretch ([struct@Pango.AttrInt]) - + font size in points scaled by %PANGO_SCALE ([struct@Pango.AttrInt]) - + font description ([struct@Pango.AttrFontDesc]) - + foreground color ([struct@Pango.AttrColor]) - + background color ([struct@Pango.AttrColor]) - + whether the text has an underline ([struct@Pango.AttrInt]) - + whether the text is struck-through ([struct@Pango.AttrInt]) - + baseline displacement ([struct@Pango.AttrInt]) - + shape ([struct@Pango.AttrShape]) - + font size scale factor ([struct@Pango.AttrFloat]) - + whether fallback is enabled ([struct@Pango.AttrInt]) - + letter spacing ([struct@PangoAttrInt]) - + underline color ([struct@Pango.AttrColor]) - + strikethrough color ([struct@Pango.AttrColor]) - + font size in pixels scaled by %PANGO_SCALE ([struct@Pango.AttrInt]) - + base text gravity ([struct@Pango.AttrInt]) - + gravity hint ([struct@Pango.AttrInt]) - - OpenType font features ([struct@Pango.AttrString]). Since 1.38 + + OpenType font features ([struct@Pango.AttrFontFeatures]). Since 1.38 - + foreground alpha ([struct@Pango.AttrInt]). Since 1.38 - + background alpha ([struct@Pango.AttrInt]). Since 1.38 - + whether breaks are allowed ([struct@Pango.AttrInt]). Since 1.44 - + how to render invisible characters ([struct@Pango.AttrInt]). Since 1.44 - + whether to insert hyphens at intra-word line breaks ([struct@Pango.AttrInt]). Since 1.44 - + whether the text has an overline ([struct@Pango.AttrInt]). Since 1.46 - + overline color ([struct@Pango.AttrColor]). Since 1.46 + + line height factor ([struct@Pango.AttrFloat]). Since: 1.50 + + + line height ([struct@Pango.AttrInt]). Since: 1.50 + + + + + override segmentation to classify the range of the attribute as a single word ([struct@Pango.AttrInt]). Since 1.50 + + + override segmentation to classify the range of the attribute as a single sentence ([struct@Pango.AttrInt]). Since 1.50 + + + baseline displacement ([struct@Pango.AttrInt]). Since 1.50 + + + font-relative size change ([struct@Pango.AttrInt]). Since 1.50 + Fetches the attribute type name. @@ -1068,7 +1135,7 @@ by using [func@Pango.AttrType.get_name]. an identifier for the type - + @@ -1092,9 +1159,153 @@ will have an all-inclusive range of [0,%G_MAXUINT]. end index of the range (in bytes). The character at this index -is not included in the range. + is not included in the range. + + Returns the attribute cast to `PangoAttrColor`. + +This is mainly useful for language bindings. + + The attribute as `PangoAttrColor`, + or %NULL if it's not a color attribute + + + + + A `PangoAttribute` such as foreground + + + + + + Returns the attribute cast to `PangoAttrFloat`. + +This is mainly useful for language bindings. + + The attribute as `PangoAttrFloat`, + or %NULL if it's not a floating point attribute + + + + + A `PangoAttribute` such as scale + + + + + + Returns the attribute cast to `PangoAttrFontDesc`. + +This is mainly useful for language bindings. + + The attribute as `PangoAttrFontDesc`, + or %NULL if it's not a font description attribute + + + + + A `PangoAttribute` representing a font description + + + + + + Returns the attribute cast to `PangoAttrFontFeatures`. + +This is mainly useful for language bindings. + + The attribute as `PangoAttrFontFeatures`, + or %NULL if it's not a font features attribute + + + + + A `PangoAttribute` representing font features + + + + + + Returns the attribute cast to `PangoAttrInt`. + +This is mainly useful for language bindings. + + The attribute as `PangoAttrInt`, + or %NULL if it's not an integer attribute + + + + + A `PangoAttribute` such as weight + + + + + + Returns the attribute cast to `PangoAttrLanguage`. + +This is mainly useful for language bindings. + + The attribute as `PangoAttrLanguage`, + or %NULL if it's not a language attribute + + + + + A `PangoAttribute` representing a language + + + + + + Returns the attribute cast to `PangoAttrShape`. + +This is mainly useful for language bindings. + + The attribute as `PangoAttrShape`, + or %NULL if it's not a shape attribute + + + + + A `PangoAttribute` representing a shape + + + + + + Returns the attribute cast to `PangoAttrSize`. + +This is mainly useful for language bindings. + + The attribute as `PangoAttrSize`, + or NULL if it's not a size attribute + + + + + A `PangoAttribute` representing a size + + + + + + Returns the attribute cast to `PangoAttrString`. + +This is mainly useful for language bindings. + + The attribute as `PangoAttrString`, + or %NULL if it's not a string attribute + + + + + A `PangoAttribute` such as family + + + + Make a copy of an attribute. @@ -1163,78 +1374,94 @@ to the entire text by default. + + An enumeration that affects baseline shifts between runs. + + Leave the baseline unchanged + + + Shift the baseline to the superscript position, + relative to the previous run + + + Shift the baseline to the subscript position, + relative to the previous run + + `PangoBidiType` represents the bidirectional character -type of a Unicode character as specified by the +type of a Unicode character. + +The values in this enumeration are specified by the [Unicode bidirectional algorithm](http://www.unicode.org/reports/tr9/). Use fribidi for this information - + Left-to-Right - + Left-to-Right Embedding - + Left-to-Right Override - + Right-to-Left - + Right-to-Left Arabic - + Right-to-Left Embedding - + Right-to-Left Override - + Pop Directional Format - + European Number - + European Number Separator - + European Number Terminator - + Arabic Number - + Common Number Separator - + Nonspacing Mark - + Boundary Neutral - + Paragraph Separator - + Segment Separator - + Whitespace - + Other Neutrals - + Left-to-Right isolate. Since 1.48.6 - + Right-to-Left isolate. Since 1.48.6 - + First strong isolate. Since 1.48.6 - + Pop directional isolate. Since 1.48.6 @@ -1393,7 +1620,7 @@ red, green, and blue components respectively. a newly-allocated text string that must be freed with g_free(). - + @@ -1897,7 +2124,7 @@ opaque structure with no public fields. - Convert data generated from pango_coverage_to_bytes() + Convert data generated from [method@Pango.Coverage.to_bytes] back to a `PangoCoverage`. This returns %NULL @@ -1969,8 +2196,9 @@ the corresponding index in @other. - + Increase the reference count on the `PangoCoverage` by one. + Use g_object_ref instead @coverage @@ -2026,10 +2254,11 @@ the corresponding index in @other. - + Decrease the reference count on the `PangoCoverage` by one. If the result is zero, free the coverage and all associated memory. + Use g_object_unref instead @@ -2047,23 +2276,23 @@ represent a particular Unicode character for a particular script. Since 1.44, only %PANGO_COVERAGE_NONE and %PANGO_COVERAGE_EXACT will be returned. - + The character is not representable with the font. - + The character is represented in a way that may be comprehensible but is not the correct graphical form. For instance, a Hangul character represented as a a sequence of Jamos, or a Latin transliteration of a Cyrillic word. - + The character is represented as basically the correct graphical form, but with a stylistic variant inappropriate for the current script. - + The character is represented as the correct graphical form. @@ -2087,40 +2316,40 @@ algorithm. Not every value in this enumeration makes sense for every usage of `PangoDirection`; for example, the return value of [func@unichar_direction] -and [func@find_base_dir] cannot be %PANGO_DIRECTION_WEAK_LTR or -%PANGO_DIRECTION_WEAK_RTL, since every character is either neutral -or has a strong direction; on the other hand %PANGO_DIRECTION_NEUTRAL +and [func@find_base_dir] cannot be `PANGO_DIRECTION_WEAK_LTR` or +`PANGO_DIRECTION_WEAK_RTL`, since every character is either neutral +or has a strong direction; on the other hand `PANGO_DIRECTION_NEUTRAL` doesn't make sense to pass to [func@itemize_with_base_dir]. -The %PANGO_DIRECTION_TTB_LTR, %PANGO_DIRECTION_TTB_RTL values come from +The `PANGO_DIRECTION_TTB_LTR`, `PANGO_DIRECTION_TTB_RTL` values come from an earlier interpretation of this enumeration as the writing direction -of a block of text and are no longer used; See `PangoGravity` for how +of a block of text and are no longer used. See `PangoGravity` for how vertical text is handled in Pango. If you are interested in text direction, you should really use fribidi directly. `PangoDirection` is only retained because it is used in some public apis. - + A strong left-to-right direction - + A strong right-to-left direction - + Deprecated value; treated the - same as %PANGO_DIRECTION_RTL. + same as `PANGO_DIRECTION_RTL`. - + Deprecated value; treated the - same as %PANGO_DIRECTION_LTR + same as `PANGO_DIRECTION_LTR` - + A weak left-to-right direction - + A weak right-to-left direction - + No direction specified @@ -2131,16 +2360,16 @@ should be applied to text. In the ellipsization process characters are removed from the text in order to make it fit to a given width and replaced with an ellipsis. - + No ellipsization - + Omit characters at the start of the text - + Omit characters in the middle of the text - + Omit characters at the end of the text @@ -2262,6 +2491,29 @@ rendering-system-independent manner. + + Loads data previously created via [method@Pango.Font.serialize]. + +For a discussion of the supported format, see that function. + +Note: to verify that the returned font is identical to +the one that was serialized, you can compare @bytes to the +result of serializing the font again. + + a new `PangoFont` + + + + + a `PangoContext` + + + + the bytes containing the data + + + + @@ -2587,7 +2839,7 @@ output variables and returns. Note that the objects returned by this function are cached and immutable. If you need to make changes to the `hb_font_t`, -use hb_font_create_sub_font(). +use [hb_font_create_sub_font()](https://harfbuzz.github.io/harfbuzz-hb-font.html#hb-font-create-sub-font). the `hb_font_t` object backing the font @@ -2600,6 +2852,28 @@ use hb_font_create_sub_font(). + + Returns the languages that are supported by @font. + +If the font backend does not provide this information, +%NULL is returned. For the fontconfig backend, 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. + + an array of `PangoLanguage` + + + + + + + a `PangoFont` + + + + Gets overall metric information for a font. @@ -2628,10 +2902,9 @@ output variables and returns. - Returns whether the font provides a glyph for this character. - -Returns %TRUE if @font can render @wc + Returns whether the font provides a glyph for this character. + `TRUE` if @font can render @wc @@ -2645,6 +2918,27 @@ Returns %TRUE if @font can render @wc + + Serializes the @font in a way that can be uniquely identified. + +There are no guarantees about the format of the output across different +versions of Pango. + +The intended use of this function is testing, benchmarking and debugging. +The format is not meant as a permanent storage format. + +To recreate a font from its serialized form, use [func@Pango.Font.deserialize]. + + a `GBytes` containing the serialized form of @font + + + + + a `PangoFont` + + + + @@ -3355,7 +3649,8 @@ and each VALUE a floating point number. Unknown axes are ignored, and values are clamped to their allowed range. Pango does not currently have a way to find supported axes of -a font. Both harfbuzz or freetype have API for this. +a font. Both harfbuzz and freetype have API for this. See +for example [hb_ot_var_get_axis_infos](https://harfbuzz.github.io/harfbuzz-hb-ot-var.html#hb-ot-var-get-axis-infos). @@ -3364,7 +3659,7 @@ a font. Both harfbuzz or freetype have API for this. a `PangoFontDescription`. - + a string representing the variations @@ -3487,7 +3782,8 @@ The following words are understood as styles: "Normal", "Roman", "Oblique", "Italic". The following words are understood as variants: -"Small-Caps". +"Small-Caps", "All-Small-Caps", "Petite-Caps", "All-Petite-Caps", +"Unicase", "Title-Caps". The following words are understood as weights: "Thin", "Ultra-Light", "Extra-Light", "Light", "Semi-Light", @@ -3528,8 +3824,10 @@ A typical example: A `PangoFontFace` is used to represent a group of fonts with the same family, slant, weight, and width, but varying sizes. - Returns the family, style, variant, weight and stretch of -a `PangoFontFace`. The size field of the resulting font description + Returns a font description that matches the face. + +The resulting font description will have the family, style, +variant, weight and stretch of the face, but its size field will be unset. a newly-created `PangoFontDescription` structure @@ -3545,9 +3843,11 @@ will be unset. - Gets a name representing the style of this face among the -different faces in the `PangoFontFamily` for the face. The -name is suitable for displaying to users. + Gets a name representing the style of this face. + +Note that a font family may contain multiple faces +with the same name (e.g. a variable and a non-variable +face for the same style). the face name for the face. This string is owned by the face object and must not be modified or freed. @@ -3574,11 +3874,13 @@ name is suitable for displaying to users. - Returns whether a `PangoFontFace` is synthesized by the underlying -font rendering engine from another face, perhaps by shearing, emboldening, -or lightening it. + Returns whether a `PangoFontFace` is synthesized. + +This will be the case if the underlying font rendering engine +creates this face from another face, by shearing, emboldening, +lightening or modifying it in some other way. - whether @face is synthesized. + whether @face is synthesized @@ -3618,8 +3920,10 @@ in ascending order. - Returns the family, style, variant, weight and stretch of -a `PangoFontFace`. The size field of the resulting font description + Returns a font description that matches the face. + +The resulting font description will have the family, style, +variant, weight and stretch of the face, but its size field will be unset. a newly-created `PangoFontDescription` structure @@ -3635,9 +3939,11 @@ will be unset. - Gets a name representing the style of this face among the -different faces in the `PangoFontFamily` for the face. The -name is suitable for displaying to users. + Gets a name representing the style of this face. + +Note that a font family may contain multiple faces +with the same name (e.g. a variable and a non-variable +face for the same style). the face name for the face. This string is owned by the face object and must not be modified or freed. @@ -3664,11 +3970,13 @@ name is suitable for displaying to users. - Returns whether a `PangoFontFace` is synthesized by the underlying -font rendering engine from another face, perhaps by shearing, emboldening, -or lightening it. + Returns whether a `PangoFontFace` is synthesized. + +This will be the case if the underlying font rendering engine +creates this face from another face, by shearing, emboldening, +lightening or modifying it in some other way. - whether @face is synthesized. + whether @face is synthesized @@ -3774,7 +4082,7 @@ in ascending order. - whether @face is synthesized. + whether @face is synthesized @@ -3886,7 +4194,10 @@ be affected by double-width characters. A variable font is a font which has axes that can be modified to -produce different faces. +produce different faces. + +Such axes are also known as _variations_; see +[method@Pango.FontDescription.set_variations] for more information. %TRUE if the family is variable @@ -3902,7 +4213,13 @@ produce different faces. Lists the different font faces that make up @family. The faces in a family share a common design, but differ in slant, weight, -width and other aspects. +width and other aspects. + +Note that the returned faces are not in any particular order, and +multiple faces may have the same name or characteristics. + +`PangoFontFamily` also implemented the [iface@Gio.ListModel] interface +for enumerating faces. @@ -3992,7 +4309,10 @@ be affected by double-width characters. A variable font is a font which has axes that can be modified to -produce different faces. +produce different faces. + +Such axes are also known as _variations_; see +[method@Pango.FontDescription.set_variations] for more information. %TRUE if the family is variable @@ -4008,7 +4328,13 @@ produce different faces. Lists the different font faces that make up @family. The faces in a family share a common design, but differ in slant, weight, -width and other aspects. +width and other aspects. + +Note that the returned faces are not in any particular order, and +multiple faces may have the same name or characteristics. + +`PangoFontFamily` also implemented the [iface@Gio.ListModel] interface +for enumerating faces. @@ -4217,7 +4543,12 @@ like in `PangoContext`. - List all families for a fontmap. + List all families for a fontmap. + +Note that the returned families are not in any particular order. + +`PangoFontMap` also implemented the [iface@Gio.ListModel] interface +for enumerating families. @@ -4371,7 +4702,12 @@ like in `PangoContext`. - List all families for a fontmap. + List all families for a fontmap. + +Note that the returned families are not in any particular order. + +`PangoFontMap` also implemented the [iface@Gio.ListModel] interface +for enumerating families. @@ -4598,28 +4934,28 @@ can handle fonts of this fonts loaded with this fontmap. The bits in a `PangoFontMask` correspond to the set fields in a `PangoFontDescription`. - + the font family is specified. - + the font style is specified. - + the font variant is specified. - + the font weight is specified. - + the font stretch is specified. - + the font size is specified. - + the font gravity is specified (Since: 1.16.) - + OpenType font variations are specified (Since: 1.42) @@ -4630,7 +4966,14 @@ for a font. The information in a `PangoFontMetrics` structure may be restricted to a script. The fields of this structure are private to implementations of a font backend. See the documentation of the corresponding getters -for documentation of their meaning. +for documentation of their meaning. + +For an overview of the most important metrics, see: + +<picture> + <source srcset="fontmetrics-dark.png" media="(prefers-color-scheme: dark)"> + <img alt="Font metrics" src="fontmetrics-light.png"> +</picture> @@ -4736,8 +5079,8 @@ to figure where the ink will be.) Gets the line height from a font metrics structure. -The line height is the distance between successive baselines -in wrapped text. +The line height is the recommended distance between successive +baselines in wrapped text using this font. If the line height is not available, 0 is returned. @@ -4825,6 +5168,7 @@ the baseline, this value is typically negative. Decrease the reference count of a font metrics structure by one. + If the result is zero, frees the structure and any associated memory. @@ -4837,10 +5181,26 @@ If the result is zero, frees the structure and any associated memory. + + An enumeration that affects font sizes for superscript +and subscript positioning and for (emulated) Small Caps. + + Leave the font size unchanged + + + Change the font to a size suitable for superscripts + + + Change the font to a size suitable for subscripts + + + Change the font to a size suitable for Small Caps + + A `PangoFontset` represents a set of `PangoFont` to use when rendering text. -A `PAngoFontset` is the result of resolving a `PangoFontDescription` +A `PangoFontset` is the result of resolving a `PangoFontDescription` against a particular `PangoContext`. It has operations for finding the component font for a particular Unicode character, and for finding a composite set of metrics for the entire fontset. @@ -4868,8 +5228,8 @@ If @func returns %TRUE, that stops the iteration. - Returns the font in the fontset that contains the best glyph for a -Unicode character. + Returns the font in the fontset that contains the best +glyph for a Unicode character. a `PangoFont` @@ -4932,8 +5292,8 @@ If @func returns %TRUE, that stops the iteration. - Returns the font in the fontset that contains the best glyph for a -Unicode character. + Returns the font in the fontset that contains the best +glyph for a Unicode character. a `PangoFont` @@ -5068,8 +5428,9 @@ a particular `PangoFontset` implementation. - Callback used by pango_fontset_foreach() when enumerating -fonts in a fontset. + Callback used when enumerating fonts in a fontset. + +See [method@Pango.Fontset.foreach]. if %TRUE, stop iteration and return immediately. @@ -5109,7 +5470,9 @@ the array of fonts that make up the fontset. - Adds a font to the fontset. + Adds a font to the fontset. + +The fontset takes ownership of @font. @@ -5118,7 +5481,7 @@ the array of fonts that make up the fontset. a `PangoFontsetSimple`. - + a `PangoFont`. @@ -5192,7 +5555,20 @@ of text direction. The `PangoGlyphGeometry` structure contains width and positioning -information for a single glyph. +information for a single glyph. + +Note that @width is not guaranteed to be the same as the glyph +extents. Kerning and other positioning applied during shaping will +affect both the @width and the @x_offset for the glyphs in the +glyph string that results from shaping. + +The information in this struct is intended for rendering the glyphs, +as follows: + +1. Assume the current point is (x, y) +2. Render the current glyph at (x + x_offset, y + y_offset), +3. Advance the current point to (x + width, y) +4. Render the next glyph the logical width to use for the the character. @@ -5237,6 +5613,21 @@ each of which contains a list of `PangoGlyphItem`. corresponding `PangoGlyphString` + + shift of the baseline, relative to the baseline + of the containing line. Positive values shift upwards + + + + horizontal displacement to apply before the + glyph item. Positive values shift right + + + + horizontal displacement to apply after th + glyph item. Positive values shift right + + Splits a shaped item (`PangoGlyphItem`) into multiple items based on an attribute list. @@ -5581,23 +5972,22 @@ and visual attribute information. The storage for the glyph information is owned by the structure which simplifies memory management. - number of the glyphs in this glyph string. - + number of glyphs in this glyph string + - array of glyph information - for the glyph string. + array of glyph information logical cluster info, indexed by the byte index - within the text corresponding to the glyph string. - + within the text corresponding to the glyph string + - + Create a new `PangoGlyphString`. @@ -5762,8 +6152,14 @@ is in fact only a convenience function that computes the sum of Converts from character position to x position. The X position is measured from the left edge of the run. -Character positions are computed by dividing up each cluster -into equal portions. +Character positions are obtained using font metrics for ligatures +where available, and computed by dividing up each cluster +into equal portions, otherwise. + +<picture> + <source srcset="glyphstring-positions-dark.png" media="(prefers-color-scheme: dark)"> + <img alt="Glyph positions" src="glyphstring-positions-light.png"> +</picture> @@ -5774,7 +6170,7 @@ into equal portions. the text for the run - + the number of bytes (not characters) in @text. @@ -5790,6 +6186,52 @@ into equal portions. whether we should compute the result for the beginning (%FALSE) + or end (%TRUE) of the character. + + + + location to store result + + + + + + Converts from character position to x position. + +This variant of [method@Pango.GlyphString.index_to_x] additionally +accepts a `PangoLogAttr` array. The grapheme boundary information +in it can be used to disambiguate positioning inside some complex +clusters. + + + + + + the glyphs return from [func@shape] + + + + the text for the run + + + + the number of bytes (not characters) in @text. + + + + the analysis information return from [func@itemize] + + + + `PangoLogAttr` array for @text + + + + the byte index within @text + + + + whether we should compute the result for the beginning (%FALSE) or end (%TRUE) of the character. @@ -5811,7 +6253,7 @@ into equal portions. the new length of the string - + @@ -5833,7 +6275,7 @@ attributes for the text to compute the valid cursor position. the text for the run - + the number of bytes (not characters) in text. @@ -5863,14 +6305,19 @@ attributes for the text to compute the valid cursor position. A `PangoGlyphVisAttr` structure communicates information between the shaping and rendering phases. -Currently, it contains only cluster start information. More attributes -may be added in the future. +Currently, it contains cluster start and color information. +More attributes may be added in the future. + +Clusters are stored in visual order, within the cluster, glyphs +are always ordered in logical order, since visual order is meaningless; +that is, in Arabic text, accent glyphs follow the glyphs for the +base character. - set for the first logical glyph in each cluster. - (Clusters are stored in visual order, within the cluster, glyphs - are always ordered in logical order, since visual order is meaningless; - that is, in Arabic text, accent glyphs follow the glyphs for the - base character.) + set for the first logical glyph in each cluster. + + + + set if the the font will render this glyph with color. Since 1.50 @@ -5888,19 +6335,19 @@ Not every value in this enumeration makes sense for every usage of [method@Pango.Context.get_base_gravity]. See also: [enum@Pango.GravityHint] - - Glyphs stand upright (default) + + Glyphs stand upright (default) <img align="right" valign="center" src="m-south.png"> - - Glyphs are rotated 90 degrees clockwise + + Glyphs are rotated 90 degrees counter-clockwise. <img align="right" valign="center" src="m-east.png"> - - Glyphs are upside-down + + Glyphs are upside-down. <img align="right" valign="cener" src="m-north.png"> - - Glyphs are rotated 90 degrees counter-clockwise + + Glyphs are rotated 90 degrees clockwise. <img align="right" valign="center" src="m-west.png"> - + Gravity is resolved from the context matrix @@ -6011,15 +6458,15 @@ vertical context. That is, English excerpts in a vertical paragraph for example. See also [enum@Pango.Gravity] - + scripts will take their natural gravity based on the base gravity and the script. This is the default. - + always use the base gravity set, regardless of the script. - + for scripts not in their natural direction (eg. Latin in East gravity), choose per-script gravity such that every script respects the line progression. This means, Latin and Arabic will take @@ -6135,15 +6582,15 @@ You typically obtain `PangoItems` by itemizing a piece of text with [func@itemize]. byte offset of the start of this item in text. - + length of this item in bytes. - + number of Unicode characters in the item. - + analysis results for the item. @@ -6480,7 +6927,11 @@ settings to take effect. GTK does this in its initialization functions automatically (by calling gtk_set_locale()). See the setlocale() manpage for more details. -Note that the default language can change over the life of an application. +Note that the default language can change over the life of an application. + +Also note that this function will not do the right thing if you +use per-thread locales with uselocale(). In that case, you should +just call pango_language_from_string() yourself. the default language as a `PangoLanguage` @@ -6527,7 +6978,20 @@ There are a number of parameters to adjust the formatting of a `PangoLayout`. The following image shows adjustable parameters (on the left) and font metrics (on the right): -![Pango Layout Parameters](layout.png) +<picture> + <source srcset="layout-dark.png" media="(prefers-color-scheme: dark)"> + <img alt="Pango Layout Parameters" src="layout-light.png"> +</picture> + +The following images demonstrate the effect of alignment and +justification on the layout of text: + +| | | +| --- | --- | +| ![align=left](align-left.png) | ![align=left, justify](align-left-justify.png) | +| ![align=center](align-center.png) | ![align=center, justify](align-center-justify.png) | +| ![align=right](align-right.png) | ![align=right, justify](align-right-justify.png) | + It is possible, as well, to ignore the 2-D setup, and simply treat the results of a `PangoLayout` as a list of lines. @@ -6545,6 +7009,33 @@ default values for a particular `PangoContext`. + + Loads data previously created via [method@Pango.Layout.serialize]. + +For a discussion of the supported format, see that function. + +Note: to verify that the returned layout is identical to +the one that was serialized, you can compare @bytes to the +result of serializing the layout again. + + a new `PangoLayout` + + + + + a `PangoContext` + + + + the bytes containing the data + + + + `PangoLayoutDeserializeFlags` + + + + Forces recomputation of any state in the `PangoLayout` that might depend on the layout's context. @@ -6634,6 +7125,40 @@ See [method@Pango.Layout.set_auto_dir]. + + Given an index within a layout, determines the positions that of the +strong and weak cursors if the insertion point is at that index. + +This is a variant of [method@Pango.Layout.get_cursor_pos] that applies +font metric information about caret slope and offset to the positions +it returns. + +<picture> + <source srcset="caret-metrics-dark.png" media="(prefers-color-scheme: dark)"> + <img alt="Caret metrics" src="caret-metrics-light.png"> +</picture> + + + + + + a `PangoLayout` + + + + the byte index of the cursor + + + + location to store the strong cursor position + + + + location to store the weak cursor position + + + + Returns the number of Unicode characters in the the text of @layout. @@ -6666,11 +7191,30 @@ the text of @layout. Given an index within a layout, determines the positions that of the strong and weak cursors if the insertion point is at that index. -The position of each cursor is stored as a zero-width rectangle. +The position of each cursor is stored as a zero-width rectangle +with the height of the run extents. + +<picture> + <source srcset="cursor-positions-dark.png" media="(prefers-color-scheme: dark)"> + <img alt="Cursor positions" src="cursor-positions-light.png"> +</picture> + The strong cursor location is the location where characters of the directionality equal to the base direction of the layout are inserted. The weak cursor location is the location where characters of the -directionality opposite to the base direction of the layout are inserted. +directionality opposite to the base direction of the layout are inserted. + +The following example shows text with both a strong and a weak cursor. + +<picture> + <source srcset="split-cursor-dark.png" media="(prefers-color-scheme: dark)"> + <img alt="Strong and weak cursors" src="split-cursor-light.png"> +</picture> + +The strong cursor has a little arrow pointing to the right, the weak +cursor to the left. Typing a 'c' in this situation will insert the +character after the 'b', and typing another Hebrew character, like 'ג', +will insert it at the end. @@ -6832,6 +7376,20 @@ width of the layout. + + Gets whether the last line should be stretched +to fill the entire width of the layout. + + the justify value + + + + + a `PangoLayout` + + + + Retrieves a particular line from a `PangoLayout`. @@ -7318,13 +7876,12 @@ to be wrapped. - Computes a new cursor position from an old position and a count of -positions to move visually. + Computes a new cursor position from an old position and a direction. -If @direction is positive, then the new strong cursor position will be -one position to the right of the old cursor position. If @direction is -negative, then the new strong cursor position will be one position to -the left of the old cursor position. +If @direction is positive, then the new position will cause the strong +or weak cursor to be displayed one position to right of where it was +with the old cursor position. If @direction is negative, it will be +moved to the left. In the presence of bidirectional text, the correspondence between logical and visual order will depend on the direction of the current @@ -7332,9 +7889,8 @@ run, and there may be jumps when the cursor is moved off of the end of a run. Motion here is in cursor positions, not in characters, so a single -call to [method@Pango.Layout.move_cursor_visually] may move the cursor -over multiple characters when multiple characters combine to form a -single grapheme. +call to this function may move the cursor over multiple characters +when multiple characters combine to form a single grapheme. @@ -7350,7 +7906,7 @@ single grapheme. - the byte index of the grapheme for the old index + the byte index of the current cursor position @@ -7382,6 +7938,30 @@ single grapheme. + + Serializes the @layout for later deserialization via [func@Pango.Layout.deserialize]. + +There are no guarantees about the format of the output across different +versions of Pango and [func@Pango.Layout.deserialize] will reject data +that it cannot parse. + +The intended use of this function is testing, benchmarking and debugging. +The format is not meant as a permanent storage format. + + a `GBytes` containing the serialized form of @layout + + + + + a `PangoLayout` + + + + `PangoLayoutSerializeFlags` + + + + Sets the alignment for the layout: how partial lines are positioned within the horizontal space available. @@ -7578,7 +8158,13 @@ like extending the characters. Note that this setting is not implemented and so is ignored in Pango older than 1.18. -The default value is %FALSE. +Note that tabs and justification conflict with each other: +Justification will move content away from its tab-aligned +positions. + +The default value is %FALSE. + +Also see [method@Pango.Layout.set_justify_last_line]. @@ -7593,6 +8179,28 @@ The default value is %FALSE. + + Sets whether the last line should be stretched to fill the +entire width of the layout. + +This only has an effect if [method@Pango.Layout.set_justify] has +been called as well. + +The default value is %FALSE. + + + + + + a `PangoLayout` + + + + whether the last line in the layout should be justified + + + + Sets a factor for line spacing. @@ -7606,7 +8214,10 @@ where height2 is the line height of the second line (as determined by the font(s)). In this case, the spacing set with [method@Pango.Layout.set_spacing] is ignored. -If @factor is zero (the default), spacing is applied as before. +If @factor is zero (the default), spacing is applied as before. + +Note: for semantics that are closer to the CSS line-height +property, see [func@Pango.attr_line_height_new]. @@ -7725,9 +8336,12 @@ When placing lines with spacing, Pango arranges things so that The default value is 0. Note: Since 1.44, Pango is using the line height (as determined -by the font) for placing lines when the line height factor is set +by the font) for placing lines when the line spacing factor is set to a non-zero value with [method@Pango.Layout.set_line_spacing]. -In that case, the @spacing set with this function is ignored. +In that case, the @spacing set with this function is ignored. + +Note: for semantics that are closer to the CSS line-height +property, see [func@Pango.attr_line_height_new]. @@ -7745,9 +8359,17 @@ In that case, the @spacing set with this function is ignored. Sets the tabs to use for @layout, overriding the default tabs. +`PangoLayout` will place content at the next tab position +whenever it meets a Tab character (U+0009). + By default, tabs are every 8 spaces. If @tabs is %NULL, the default tabs are reinstated. @tabs is copied into the layout; -you must free your copy of @tabs yourself. +you must free your copy of @tabs yourself. + +Note that tabs and justification conflict with each other: +Justification will move content away from its tab-aligned +positions. The same is true for alignments other than +%PANGO_ALIGN_LEFT. @@ -7836,6 +8458,35 @@ The default value is %PANGO_WRAP_WORD. + + A convenience method to serialize a layout to a file. + +It is equivalent to calling [method@Pango.Layout.serialize] +followed by [func@GLib.file_set_contents]. + +See those two functions for details on the arguments. + +It is mostly intended for use inside a debugger to quickly dump +a layout to a file for later inspection. + + %TRUE if saving was successful + + + + + a `PangoLayout` + + + + `PangoLayoutSerializeFlags` + + + + the file to save it to + + + + Converts from X and Y position within a layout to the byte index to the character at that logical position. @@ -7878,6 +8529,37 @@ the X or Y positions were not inside the layout, then the function returns + + Errors that can be returned by [func@Pango.Layout.deserialize]. + + Unspecified error + + + A JSon value could not be + interpreted + + + A required JSon member was + not found + + + + + + + + + Flags that influence the behavior of [func@Pango.Layout.deserialize]. + +New members may be added to this enumeration over time. + + Default behavior + + + Apply context information + from the serialization to the `PangoContext` + + A `PangoLayoutIter` can be used to iterate over the visual extents of a `PangoLayout`. @@ -8145,6 +8827,24 @@ plan to modify the contents of the run (glyphs, glyph widths, etc.). + + Gets the Y position of the current run's baseline, in layout +coordinates. + +Layout coordinates have the origin at the top left of the entire layout. + +The run baseline can be different from the line baseline, for +example due to superscript or subscript positioning. + + + + + + a `PangoLayoutIter` + + + + Gets the extents of the current run in layout coordinates. @@ -8311,8 +9011,13 @@ about the interpretation of the rectangles. - Computes the height of the line, i.e. the distance between -this and the previous lines baseline. + Computes the height of the line, as the maximum of the heights +of fonts used in this line. + +Note that the actual baseline-to-baseline distance between lines +of text is influenced by other factors, such as +[method@Pango.Layout.set_spacing] and +[method@Pango.Layout.set_line_spacing]. @@ -8327,6 +9032,19 @@ this and the previous lines baseline. + + Returns the length of the line, in bytes. + + the length of the line + + + + + a `PangoLayoutLine` + + + + Computes the logical and ink extents of @layout_line in device units. @@ -8354,6 +9072,33 @@ passes them as first argument to [func@extents_to_pixels]). + + Returns the resolved direction of the line. + + the resolved direction of the line + + + + + a `PangoLayoutLine` + + + + + + Returns the start index of the line, as byte index +into the text of the layout. + + the start index of the line + + + + + a `PangoLayoutLine` + + + + Gets a list of visual ranges corresponding to a given logical range. @@ -8426,6 +9171,19 @@ layout, not with respect to the line. + + Returns whether this is the first line of the paragraph. + + %TRUE if this is the first line + + + + + a `PangoLayoutLine` + + + + Increase the reference count of a `PangoLayoutLine` by one. @@ -8493,6 +9251,20 @@ grapheme. The reverse is true for a left-to-right line. + + Flags that influence the behavior of [method@Pango.Layout.serialize]. + +New members may be added to this enumeration over time. + + Default behavior + + + Include context information + + + Include information about the formatted output + + The `PangoLogAttr` structure stores information about the attributes of a single character. @@ -8575,6 +9347,19 @@ single character. semantics. (Since: 1.22) + + when breaking lines before this char, insert a hyphen. + Since: 1.50 + + + + when breaking lines before this char, remove the + preceding char. Since 1.50 + + + + + A `PangoMatrix` specifies a transformation between user-space @@ -8697,6 +9482,26 @@ Note that output numbers will always be non-negative. + + Gets the slant ratio of a matrix. + +For a simple shear matrix in the form: + + 1 λ + 0 1 + +this is simply λ. + + the slant ratio of @matrix + + + + + a `PangoMatrix` + + + + Changes the transformation represented by @matrix to be the transformation given by first rotating by @degrees degrees @@ -8876,10 +9681,10 @@ then applying the original transformation. The `PangoOverline` enumeration is used to specify whether text should be overlined, and if so, the type of line. - + no overline should be drawn - + Draw a single line above the ink extents of the text being underlined. @@ -8966,19 +9771,19 @@ extents of a single glyph or section of text. (See, for instance, `PangoRenderPart` defines different items to render for such purposes as setting colors. - + the text itself - + the area behind the text - + underlines - + strikethrough lines - + overlines @@ -10148,375 +10953,377 @@ systems. The values correspond to the names as defined in the Unicode standard. See [Unicode Standard Annex 24: Script names](http://www.unicode.org/reports/tr24/) -Note that this enumeration is deprecated and will not be updated -to include values in newer versions of the Unicode standard. -Applications should use the `GUnicodeScript` enumeration instead, +Note that this enumeration is deprecated and will not be updated to include values +in newer versions of the Unicode standard. Applications should use the +[enum@GLib.UnicodeScript] enumeration instead, whose values are interchangeable with `PangoScript`. - + a value never returned from pango_script_for_unichar() - + a character used by multiple different scripts - + a mark glyph that takes its script from the base glyph to which it is attached - + Arabic - + Armenian - + Bengali - + Bopomofo - + Cherokee - + Coptic - + Cyrillic - + Deseret - + Devanagari - + Ethiopic - + Georgian - + Gothic - + Greek - + Gujarati - + Gurmukhi - + Han - + Hangul - + Hebrew - + Hiragana - + Kannada - + Katakana - + Khmer - + Lao - + Latin - + Malayalam - + Mongolian - + Myanmar - + Ogham - + Old Italic - + Oriya - + Runic - + Sinhala - + Syriac - + Tamil - + Telugu - + Thaana - + Thai - + Tibetan - + Canadian Aboriginal - + Yi - + Tagalog - + Hanunoo - + Buhid - + Tagbanwa - + Braille - + Cypriot - + Limbu - + Osmanya - + Shavian - + Linear B - + Tai Le - + Ugaritic - + New Tai Lue. Since 1.10 - + Buginese. Since 1.10 - + Glagolitic. Since 1.10 - + Tifinagh. Since 1.10 - + Syloti Nagri. Since 1.10 - + Old Persian. Since 1.10 - + Kharoshthi. Since 1.10 - + an unassigned code point. Since 1.14 - + Balinese. Since 1.14 - + Cuneiform. Since 1.14 - + Phoenician. Since 1.14 - + Phags-pa. Since 1.14 - + N'Ko. Since 1.14 - + Kayah Li. Since 1.20.1 - + Lepcha. Since 1.20.1 - + Rejang. Since 1.20.1 - + Sundanese. Since 1.20.1 - + Saurashtra. Since 1.20.1 - + Cham. Since 1.20.1 - + Ol Chiki. Since 1.20.1 - + Vai. Since 1.20.1 - + Carian. Since 1.20.1 - + Lycian. Since 1.20.1 - + Lydian. Since 1.20.1 - + Batak. Since 1.32 - + Brahmi. Since 1.32 - + Mandaic. Since 1.32 - + Chakma. Since: 1.32 - + Meroitic Cursive. Since: 1.32 - + Meroitic Hieroglyphs. Since: 1.32 - + Miao. Since: 1.32 - + Sharada. Since: 1.32 - + Sora Sompeng. Since: 1.32 - + Takri. Since: 1.32 - + Bassa. Since: 1.40 - + Caucasian Albanian. Since: 1.40 - + Duployan. Since: 1.40 - + Elbasan. Since: 1.40 - + Grantha. Since: 1.40 - + Kjohki. Since: 1.40 - + Khudawadi, Sindhi. Since: 1.40 - + Linear A. Since: 1.40 - + Mahajani. Since: 1.40 - + Manichaean. Since: 1.40 - + Mende Kikakui. Since: 1.40 - + Modi. Since: 1.40 - + Mro. Since: 1.40 - + Nabataean. Since: 1.40 - + Old North Arabian. Since: 1.40 - + Old Permic. Since: 1.40 - + Pahawh Hmong. Since: 1.40 - + Palmyrene. Since: 1.40 - + Pau Cin Hau. Since: 1.40 - + Psalter Pahlavi. Since: 1.40 - + Siddham. Since: 1.40 - + Tirhuta. Since: 1.40 - + Warang Citi. Since: 1.40 - + Ahom. Since: 1.40 - + Anatolian Hieroglyphs. Since: 1.40 - + Hatran. Since: 1.40 - + Multani. Since: 1.40 - + Old Hungarian. Since: 1.40 - + Signwriting. Since: 1.40 Looks up the script for a particular character. -The script of a character is defined by Unicode Standard Annex \#24. +The script of a character is defined by +[Unicode Standard Annex 24: Script names](http://www.unicode.org/reports/tr24/). + No check is made for @ch being a valid Unicode character; if you pass in invalid character, the result is undefined. Note that while the return type of this function is declared as `PangoScript`, as of Pango 1.18, this function simply returns -the return value of g_unichar_get_script(). Callers must be +the return value of [func@GLib.unichar_get_script]. Callers must be prepared to handle unknown values. Use g_unichar_get_script() @@ -10596,7 +11403,7 @@ sure it remains valid until the iterator is freed with - length of @text, or -1 if @text is nul-terminated. + length of @text, or -1 if @text is nul-terminated @@ -10615,12 +11422,13 @@ sure it remains valid until the iterator is freed with Gets information about the range to which @iter currently points. + The range is the set of locations p where *start <= p < *end. (That is, it doesn't include the character stored at *end) Note that while the type of the @script argument is declared as `PangoScript`, as of Pango 1.18, this function simply returns -GUnicodeScript values. Callers must be prepared to handle unknown +`GUnicodeScript` values. Callers must be prepared to handle unknown values. @@ -10661,33 +11469,31 @@ and %FALSE is returned. - + Flags influencing the shaping process. `PangoShapeFlags` can be passed to [func@Pango.shape_with_flags]. - - Default value. + + Default value - - Round glyph positions - and widths to whole device units. This option should - be set if the target renderer can't do subpixel - positioning of glyphs. + + Round glyph positions and widths to whole device units + This option should be set if the target renderer can't do subpixel positioning of glyphs - + These flags affect how Pango treats characters that are normally not visible in the output. - + No special treatment for invisible characters - + Render spaces, tabs and newlines visibly - + Render line breaks visibly - + Render default-ignorable Unicode characters visibly @@ -10695,57 +11501,72 @@ not visible in the output. An enumeration specifying the width of the font relative to other designs within a family. - + ultra condensed width - + extra condensed width - + condensed width - + semi condensed width - + the normal width - + semi expanded width - + expanded width - + extra expanded width - + ultra expanded width An enumeration specifying the various slant styles possible for a font. - + the font is upright. - + the font is slanted, but in a roman style. - + the font is slanted in an italic style. - `PangoTabAlign` specifies where a tab stop appears relative to the text. - - the tab stop appears to the left of the text. + `PangoTabAlign` specifies where the text appears relative to the tab stop +position. + + the text appears to the right of the tab stop position + + + the text appears to the left of the tab stop position + until the available space is filled. Since: 1.50 + + + the text is centered at the tab stop position + until the available space is filled. Since: 1.50 + + + text before the first occurrence of the decimal point + character appears to the left of the tab stop position (until the available + space is filled), the rest to the right. Since: 1.50 A `PangoTabArray` contains an array of tab stops. `PangoTabArray` can be used to set tab stops in a `PangoLayout`. -Each tab stop has an alignment and a position. +Each tab stop has an alignment, a position, and optionally +a character to use as decimal point. Creates an array of @initial_size tab stops. @@ -10826,6 +11647,29 @@ You **must** provide an alignment and position for @size tab stops. + + Gets the Unicode character to use as decimal point. + +This is only relevant for tabs with %PANGO_TAB_DECIMAL alignment, +which align content at the first occurrence of the decimal point +character. + +The default value of 0 means that Pango will use the +decimal point according to the current locale. + + + + + + a `PangoTabArray` + + + + the index of a tab stop + + + + Returns %TRUE if the tab positions are in pixels, %FALSE if they are in Pango units. @@ -10924,11 +11768,52 @@ that were added as a result of growing the array. - - Sets the alignment and location of a tab stop. + + Sets the Unicode character to use as decimal point. -@alignment must always be %PANGO_TAB_LEFT in the current -implementation. +This is only relevant for tabs with %PANGO_TAB_DECIMAL alignment, +which align content at the first occurrence of the decimal point +character. + +By default, Pango uses the decimal point according +to the current locale. + + + + + + a `PangoTabArray` + + + + the index of a tab stop + + + + the decimal point to use + + + + + + Sets whether positions in this array are specified in +pixels. + + + + + + a `PangoTabArray` + + + + whether positions are in pixels + + + + + + Sets the alignment and location of a tab stop. @@ -10951,7 +11836,89 @@ implementation. + + Utility function to ensure that the tab stops are in increasing order. + + + + + + a `PangoTabArray` + + + + + + Serializes a `PangoTabArray` to a string. + +No guarantees are made about the format of the string, +it may change between Pango versions. + +The intended use of this function is testing and +debugging. The format is not meant as a permanent +storage format. + + a newly allocated string + + + + + a `PangoTabArray` + + + + + + Deserializes a `PangoTabArray` from a string. + +This is the counterpart to [method@Pango.TabArray.to_string]. +See that functions for details about the format. + + a new `PangoTabArray` + + + + + a string + + + + + + An enumeration that affects how Pango treats characters during shaping. + + Leave text unchanged + + + Display letters and numbers as lowercase + + + Display letters and numbers as uppercase + + + Display the first character of a word + in titlecase + + + + Rounds a dimension up to whole device units, but does not +convert it to device units. + + + a dimension in Pango units. + + + + + Rounds a dimension down to whole device units, but does not +convert it to device units. + + + a dimension in Pango units. + + + Rounds a dimension to whole device units, but does not convert it to device units. @@ -10964,16 +11931,16 @@ convert it to device units. The `PangoUnderline` enumeration is used to specify whether text should be underlined, and if so, the type of underlining. - + no underline should be drawn - + a single underline should be drawn - + a double underline should be drawn - + a single underline should be drawn at a position beneath the ink extents of the text being underlined. This should be used only for underlining @@ -10981,7 +11948,7 @@ should be underlined, and if so, the type of underlining. %PANGO_UNDERLINE_SINGLE should be used for extended portions of text. - + an underline indicating an error should be drawn below. The exact style of rendering is up to the `PangoRenderer` in use, but typical styles include wavy @@ -10991,17 +11958,17 @@ should be underlined, and if so, the type of underlining. may automatically be used. This type of underlining is available since Pango 1.4. - + Like @PANGO_UNDERLINE_SINGLE, but drawn continuously across multiple runs. This type of underlining is available since Pango 1.46. - + Like @PANGO_UNDERLINE_DOUBLE, but drawn continuously across multiple runs. This type of underlining is available since Pango 1.46. - + Like @PANGO_UNDERLINE_ERROR, but drawn continuously across multiple runs. This type of underlining is available since Pango 1.46. @@ -11042,68 +12009,90 @@ Two encoded version numbers can be compared as integers. The major component of the version of Pango available at compile-time. - + The micro component of the version of Pango available at compile-time. - + The minor component of the version of Pango available at compile-time. - + A string literal containing the version of Pango available at compile-time. An enumeration specifying capitalization variant of the font. - + A normal font. - + A font with the lower case characters -replaced by smaller variants of the capital characters. + replaced by smaller variants of the capital characters. + + + A font with all characters + replaced by smaller variants of the capital characters. Since: 1.50 + + + A font with the lower case characters + replaced by smaller variants of the capital characters. + Petite Caps can be even smaller than Small Caps. Since: 1.50 + + + A font with all characters + replaced by smaller variants of the capital characters. + Petite Caps can be even smaller than Small Caps. Since: 1.50 + + + A font with the upper case characters + replaced by smaller variants of the capital letters. Since: 1.50 + + + A font with capital letters that + are more suitable for all-uppercase titles. Since: 1.50 An enumeration specifying the weight (boldness) of a font. -This is a numerical value ranging from 100 to 1000, but there -are some predefined values. - - the thin weight (= 100; Since: 1.24) +Weight is specified as a numeric value ranging from 100 to 1000. +This enumeration simply provides some common, predefined values. + + the thin weight (= 100) Since: 1.24 - + the ultralight weight (= 200) - + the light weight (= 300) - - the semilight weight (= 350; Since: 1.36.7) + + the semilight weight (= 350) Since: 1.36.7 - - the book weight (= 380; Since: 1.24) + + the book weight (= 380) Since: 1.24) - + the default weight (= 400) - - the normal weight (= 500; Since: 1.24) + + the normal weight (= 500) Since: 1.24 - + the semibold weight (= 600) - + the bold weight (= 700) - + the ultrabold weight (= 800) - + the heavy weight (= 900) - - the ultraheavy weight (= 1000; Since: 1.24) + + the ultraheavy weight (= 1000) Since: 1.24 @@ -11114,13 +12103,13 @@ For @PANGO_WRAP_WORD, Pango uses break opportunities that are determined by the Unicode line breaking algorithm. For @PANGO_WRAP_CHAR, Pango allows breaking at grapheme boundaries that are determined by the Unicode text segmentation algorithm. - + wrap lines at word boundaries. - + wrap lines at character boundaries. - + wrap lines at word boundaries, but fall back to character boundaries if there is not enough space for a full word. @@ -11181,6 +12170,69 @@ single run, as far as possible. + + Create a new baseline displacement attribute. + +The effect of this attribute is to shift the baseline of a run, +relative to the run of preceding run. + +<picture> + <source srcset="baseline-shift-dark.png" media="(prefers-color-scheme: dark)"> + <img alt="Baseline Shift" src="baseline-shift-light.png"> +</picture> + + the newly allocated + `PangoAttribute`, which should be freed with + [method@Pango.Attribute.destroy] + + + + + either a `PangoBaselineShift` enumeration value or an absolute value (> 1024) + in Pango units, relative to the baseline of the previous run. + Positive values displace the text upwards. + + + + + + Apply customization from attributes to the breaks in @attrs. + +The line breaks are assumed to have been produced +by [func@Pango.default_break] and [func@Pango.tailor_break]. + + + + + + text to break. Must be valid UTF-8 + + + + length of text in bytes (may be -1 if @text is nul-terminated) + + + + `PangoAttrList` to apply + + + + Byte offset of @text from the beginning of the paragraph + + + + array with one `PangoLogAttr` + per character in @text, plus one extra, to be filled in + + + + + + length of @attrs array + + + + Create a new font fallback attribute. @@ -11250,7 +12302,26 @@ alternative glyphs, ligatures, etc. for fonts that support them. a string with OpenType font features, with the syntax of the [CSS font-feature-settings property](https://www.w3.org/TR/css-fonts-4/#font-rend-desc) - + + + + + + Create a new font scale attribute. + +The effect of this attribute is to change the font size of a run, +relative to the size of preceding run. + + the newly allocated + `PangoAttribute`, which should be freed with + [method@Pango.Attribute.destroy] + + + + + a `PangoFontScale` value, which indicates font size change relative + to the size of the previous run. + @@ -11372,6 +12443,56 @@ to suppress the hyphen. + + Modify the height of logical line extents by a factor. + +This affects the values returned by +[method@Pango.LayoutLine.get_extents], +[method@Pango.LayoutLine.get_pixel_extents] and +[method@Pango.LayoutIter.get_line_extents]. + + + + + + the scaling factor to apply to the logical height + + + + + + Override the height of logical line extents to be @height. + +This affects the values returned by +[method@Pango.LayoutLine.get_extents], +[method@Pango.LayoutLine.get_pixel_extents] and +[method@Pango.LayoutIter.get_line_extents]. + + + + + + the line height, in %PANGO_SCALE-ths of a point + + + + + + Deserializes a `PangoAttrList` from a string. + +This is the counterpart to [method@Pango.AttrList.to_string]. +See that functions for details about the format. + + a new `PangoAttrList` + + + + + a string + + + + Create a new overline color attribute. @@ -11447,6 +12568,18 @@ its size multiplied by @scale_factor. + + Marks the range of the attribute as a single sentence. + +Note that this may require adjustments to word and +sentence classification around the range. + + the newly allocated + `PangoAttribute`, which should be freed with + [method@Pango.Attribute.destroy] + + + Create a new shape attribute. @@ -11626,6 +12759,22 @@ If not set, strikethrough lines will use the foreground color. + + Create a new attribute that influences how characters +are transformed during shaping. + + the newly allocated + `PangoAttribute`, which should be freed with + [method@Pango.Attribute.destroy] + + + + + `PangoTextTransform` to apply + + + + Fetches the attribute type name. @@ -11661,7 +12810,7 @@ by using [func@Pango.AttrType.get_name]. an identifier for the type - + @@ -11735,6 +12884,18 @@ If not set, underlines will use the foreground color. + + Marks the range of the attribute as a single word. + +Note that this may require adjustments to word and +sentence classification around the range. + + the newly allocated + `PangoAttribute`, which should be freed with + [method@Pango.Attribute.destroy] + + + Determines the bidirectional type of a character. @@ -11757,17 +12918,16 @@ Unicode bidirectional algorithm. Determines possible line, word, and character breaks for a string of Unicode text with a single analysis. -For most purposes you may want to use -[func@Pango.get_log_attrs]. - Use [func@Pango.default_break] and - [func@Pango.tailor_break] +For most purposes you may want to use [func@Pango.get_log_attrs]. + Use [func@Pango.default_break], + [func@Pango.tailor_break] and [func@Pango.attr_break]. the text to process. Must be valid UTF-8 - + length of @text in bytes (may be -1 if @text is nul-terminated) @@ -11792,18 +12952,20 @@ For most purposes you may want to use This is the default break algorithm. -It applies Unicode rules without language-specific -tailoring, therefore the @analyis argument is unused +It applies rules from the [Unicode Line Breaking Algorithm](http://www.unicode.org/unicode/reports/tr14/) +without language-specific tailoring, therefore the @analyis argument is unused and can be %NULL. -See [func@Pango.tailor_break] for language-specific breaks. +See [func@Pango.tailor_break] for language-specific breaks. + +See [func@Pango.attr_break] for attribute-based customization. text to break. Must be valid UTF-8 - + length of text in bytes (may be -1 if @text is nul-terminated) @@ -11882,9 +13044,9 @@ a newline, carriage return, carriage return-newline pair, or Unicode paragraph separator character. The index of the run of delimiters is returned in -@paragraph_delimiter_index. The index of the start -of the paragrap (index after all delimiters) is stored -in @next_paragraph_start. +@paragraph_delimiter_index. The index of the start of the +next paragraph (index after all delimiters) is stored n +@next_paragraph_start. If no delimiters are found, both @paragraph_delimiter_index and @next_paragraph_start are filled with the length of @text @@ -11895,21 +13057,21 @@ and @next_paragraph_start are filled with the length of @text UTF-8 text - + length of @text in bytes, or -1 if nul-terminated - + return location for index of delimiter - + return location for start of next paragraph - + @@ -11932,7 +13094,8 @@ The following words are understood as styles: "Normal", "Roman", "Oblique", "Italic". The following words are understood as variants: -"Small-Caps". +"Small-Caps", "All-Small-Caps", "Petite-Caps", "All-Petite-Caps", +"Unicase", "Title-Caps". The following words are understood as weights: "Thin", "Ultra-Light", "Extra-Light", "Light", "Semi-Light", @@ -11971,7 +13134,7 @@ A typical example: Computes a `PangoLogAttr` for each character in @text. -The @log_attrs array must have one `PangoLogAttr` for +The @attrs array must have one `PangoLogAttr` for each position in @text; if @text contains N characters, it has N+1 positions, including the last position at the end of the text. @text should be an entire paragraph; @@ -11998,7 +13161,7 @@ a word to know the word is a word). language tag - + array with one `PangoLogAttr` per character in @text, plus one extra, to be filled in @@ -12006,7 +13169,7 @@ a word to know the word is a word). - length of @log_attrs array + length of @attrs array @@ -12015,8 +13178,8 @@ a word to know the word is a word). Returns the mirrored character of a Unicode character. Mirror characters are determined by the Unicode mirrored property. - Use g_unichar_get_mirror_char() instead; the docs for that function -provide full details. + Use [func@GLib.unichar_get_mirror_char] instead; + the docs for that function provide full details. %TRUE if @ch has a mirrored character and @mirrored_ch is filled in, %FALSE otherwise @@ -12137,8 +13300,9 @@ you should multiply it by (180. / G_PI). Checks if a character that should not be normally rendered. This includes all Unicode characters with "ZERO WIDTH" in their name, -as well as *bidi* formatting characters, and a few other ones. This is -totally different from g_unichar_iszerowidth() and is at best misnamed. +as well as *bidi* formatting characters, and a few other ones. + +This is totally different from [func@GLib.unichar_iszerowidth] and is at best misnamed. %TRUE if @ch is a zero-width character, %FALSE otherwise @@ -12166,7 +13330,7 @@ in the same @cached_iter). a `GList` of [struct@Pango.Item] structures. The items should be freed using - [method@Pango.Item.free] probably in combination with g_list_free_full(). + [method@Pango.Item.free] in combination with [func@GLib.List.free_full]. @@ -12204,12 +13368,12 @@ in the same @cached_iter). Like `pango_itemize()`, but with an explicitly specified base direction. The base direction is used when computing bidirectional levels. -(see [method@Pango.Context.set_base_dir]). [func@itemize] gets the -base direction from the `PangoContext`. +[func@itemize] gets the base direction from the `PangoContext` +(see [method@Pango.Context.set_base_dir]). a `GList` of [struct@Pango.Item] structures. The items should be freed using - [method@Pango.Item.free] probably in combination with g_list_free_full(). + [method@Pango.Item.free] probably in combination with [func@GLib.List.free_full]. @@ -12298,7 +13462,11 @@ settings to take effect. GTK does this in its initialization functions automatically (by calling gtk_set_locale()). See the setlocale() manpage for more details. -Note that the default language can change over the life of an application. +Note that the default language can change over the life of an application. + +Also note that this function will not do the right thing if you +use per-thread locales with uselocale(). In that case, you should +just call pango_language_from_string() yourself. the default language as a `PangoLanguage` @@ -12322,19 +13490,22 @@ languages returned by this function. + + + + + Return the bidirectional embedding levels of the input paragraph. -The bidirectional embedding levels are defined by the Unicode Bidirectional -Algorithm available at: - - http://www.unicode.org/reports/tr9/ +The bidirectional embedding levels are defined by the [Unicode Bidirectional +Algorithm](http://www.unicode.org/reports/tr9/). If the input base direction is a weak direction, the direction of the characters in the text will determine the final resolved direction. a newly allocated array of embedding levels, one item per - character (not byte), that should be freed using g_free(). + character (not byte), that should be freed using [func@GLib.free]. @@ -12356,9 +13527,9 @@ characters in the text will determine the final resolved direction. Finishes parsing markup. -After feeding a Pango markup parser some data with g_markup_parse_context_parse(), +After feeding a Pango markup parser some data with [method@GLib.MarkupParseContext.parse], use this function to get the list of attributes and text out of the -markup. This function will not free @context, use g_markup_parse_context_free() +markup. This function will not free @context, use [method@GLib.MarkupParseContext.free] to do so. %FALSE if @error is set, otherwise %TRUE @@ -12398,17 +13569,17 @@ and the first character so marked will be returned in @accel_char, when calling [func@markup_parser_finish]. Two @accel_marker characters following each other produce a single literal @accel_marker character. -To feed markup to the parser, use g_markup_parse_context_parse() -on the returned `GMarkupParseContext`. When done with feeding markup +To feed markup to the parser, use [method@GLib.MarkupParseContext.parse] +on the returned [struct@GLib.MarkupParseContext]. When done with feeding markup to the parser, use [func@markup_parser_finish] to get the data out -of it, and then use g_markup_parse_context_free() to free it. +of it, and then use [method@GLib.MarkupParseContext.free] to free it. This function is designed for applications that read Pango markup from streams. To simply parse a string containing Pango markup, -the [func@parse_markup] API is recommended instead. +the [func@Pango.parse_markup] API is recommended instead. a `GMarkupParseContext` that should be -destroyed with g_markup_parse_context_free(). +destroyed with [method@GLib.MarkupParseContext.free]. @@ -12481,7 +13652,7 @@ for @error. - markup to parse (see the Pango Markup docs) + markup to parse (see the [Pango Markup](pango_markup.html) docs) @@ -12561,7 +13732,8 @@ ignored. Parses a font variant. -The allowed values are "normal" and "smallcaps" or "small_caps", +The allowed values are "normal", "small-caps", "all-small-caps", +"petite-caps", "all-petite-caps", "unicase" and "title-caps", case variations being ignored. %TRUE if @str was successfully parsed. @@ -12673,7 +13845,7 @@ levels of the items. The original list is unmodified. - + a `GList` of `PangoItem` in logical order. @@ -12745,13 +13917,15 @@ A word consists of [A-Za-z_] followed by zero or more Looks up the script for a particular character. -The script of a character is defined by Unicode Standard Annex \#24. +The script of a character is defined by +[Unicode Standard Annex 24: Script names](http://www.unicode.org/reports/tr24/). + No check is made for @ch being a valid Unicode character; if you pass in invalid character, the result is undefined. Note that while the return type of this function is declared as `PangoScript`, as of Pango 1.18, this function simply returns -the return value of g_unichar_get_script(). Callers must be +the return value of [func@GLib.unichar_get_script]. Callers must be prepared to handle unknown values. Use g_unichar_get_script() @@ -12811,17 +13985,17 @@ context language is not feasible. Convert the characters in @text into glyphs. Given a segment of text and the corresponding `PangoAnalysis` structure -returned from [func@itemize], convert the characters into glyphs. You -may also pass in only a substring of the item from [func@itemize]. +returned from [func@Pango.itemize], convert the characters into glyphs. You +may also pass in only a substring of the item from [func@Pango.itemize]. -It is recommended that you use [func@shape_full] instead, since +It is recommended that you use [func@Pango.shape_full] instead, since that API allows for shaping interaction happening across text item boundaries. Note that the extra attributes in the @analyis that is returned from -[func@itemize] have indices that are relative to the entire paragraph, +[func@Pango.itemize] have indices that are relative to the entire paragraph, so you need to subtract the item offset from their indices before -calling [func@shape]. +calling [func@Pango.shape]. @@ -12835,7 +14009,7 @@ calling [func@shape]. - `PangoAnalysis` structure from [func@itemize] + `PangoAnalysis` structure from [func@Pango.itemize] @@ -12848,19 +14022,20 @@ calling [func@shape]. Convert the characters in @text into glyphs. Given a segment of text and the corresponding `PangoAnalysis` structure -returned from [func@itemize], convert the characters into glyphs. You may -also pass in only a substring of the item from [func@itemize]. +returned from [func@Pango.itemize], convert the characters into glyphs. +You may also pass in only a substring of the item from [func@Pango.itemize]. -This is similar to [func@shape], except it also can optionally take +This is similar to [func@Pango.shape], except it also can optionally take the full paragraph text as input, which will then be used to perform certain cross-item shaping interactions. If you have access to the broader text of which @item_text is part of, provide the broader text as @paragraph_text. If @paragraph_text is %NULL, item text is used instead. Note that the extra attributes in the @analyis that is returned from -[func@itemize] have indices that are relative to the entire paragraph, +[func@Pango.itemize] have indices that are relative to the entire paragraph, so you do not pass the full paragraph text as @paragraph_text, you need -to subtract the item offset from their indices before calling [func@shape_full]. +to subtract the item offset from their indices before calling +[func@Pango.shape_full]. @@ -12874,7 +14049,7 @@ to subtract the item offset from their indices before calling [func@shape_full]. - text of the paragraph (see details). May be %NULL. + text of the paragraph (see details). @@ -12882,7 +14057,7 @@ to subtract the item offset from their indices before calling [func@shape_full]. - `PangoAnalysis` structure from [func@itemize]. + `PangoAnalysis` structure from [func@Pango.itemize]. @@ -12891,21 +14066,65 @@ to subtract the item offset from their indices before calling [func@shape_full]. + + Convert the characters in @item into glyphs. + +This is similar to [func@Pango.shape_with_flags], except it takes a +`PangoItem` instead of separate @item_text and @analysis arguments. +It also takes @log_attrs, which may be used in implementing text +transforms. + +Note that the extra attributes in the @analyis that is returned from +[func@Pango.itemize] have indices that are relative to the entire paragraph, +so you do not pass the full paragraph text as @paragraph_text, you need +to subtract the item offset from their indices before calling +[func@Pango.shape_with_flags]. + + + + + + `PangoItem` to shape + + + + text of the paragraph (see details). + + + + the length (in bytes) of @paragraph_text. + -1 means nul-terminated text. + + + + array of `PangoLogAttr` for @item + + + + glyph string in which to store results + + + + flags influencing the shaping process + + + + Convert the characters in @text into glyphs. Given a segment of text and the corresponding `PangoAnalysis` structure -returned from [func@itemize], convert the characters into glyphs. You may -also pass in only a substring of the item from [func@itemize]. +returned from [func@Pango.itemize], convert the characters into glyphs. +You may also pass in only a substring of the item from [func@Pango.itemize]. -This is similar to [func@shape_full], except it also takes flags that can -influence the shaping process. +This is similar to [func@Pango.shape_full], except it also takes flags +that can influence the shaping process. Note that the extra attributes in the @analyis that is returned from -[func@itemize] have indices that are relative to the entire paragraph, +[func@Pango.itemize] have indices that are relative to the entire paragraph, so you do not pass the full paragraph text as @paragraph_text, you need to subtract the item offset from their indices before calling -[func@shape_with_flags]. +[func@Pango.shape_with_flags]. @@ -12920,8 +14139,7 @@ to subtract the item offset from their indices before calling - text of the paragraph (see details). - May be %NULL. + text of the paragraph (see details). @@ -12930,7 +14148,7 @@ to subtract the item offset from their indices before calling - `PangoAnalysis` structure from [func@itemize] + `PangoAnalysis` structure from [func@Pango.itemize] @@ -12974,15 +14192,32 @@ white space and substituting ~/ with $HOME/. + + Deserializes a `PangoTabArray` from a string. + +This is the counterpart to [method@Pango.TabArray.to_string]. +See that functions for details about the format. + + a new `PangoTabArray` + + + + + a string + + + + - Apply language-specific tailoring to the breaks -in @log_attrs. + Apply language-specific tailoring to the breaks in @attrs. -The line breaks are assumed to have been produced -by [func@Pango.default_break]. +The line breaks are assumed to have been produced by [func@Pango.default_break]. -If @offset is not -1, it is used to apply attributes -from @analysis that are relevant to line breaking. +If @offset is not -1, it is used to apply attributes from @analysis that are +relevant to line breaking. + +Note that it is better to pass -1 for @offset and use [func@Pango.attr_break] +to apply attributes to the whole paragraph. @@ -13004,15 +14239,15 @@ from @analysis that are relevant to line breaking. paragraph, or -1 to ignore attributes from @analysis - + array with one `PangoLogAttr` per character in @text, plus one extra, to be filled in - - length of @log_attrs array + + length of @attrs array @@ -13033,13 +14268,13 @@ from @analysis that are relevant to line breaking. Determines the inherent direction of a character. -The inherent direction is either %PANGO_DIRECTION_LTR, %PANGO_DIRECTION_RTL, -or %PANGO_DIRECTION_NEUTRAL. +The inherent direction is either `PANGO_DIRECTION_LTR`, `PANGO_DIRECTION_RTL`, +or `PANGO_DIRECTION_NEUTRAL`. This function is useful to categorize characters into left-to-right letters, right-to-left letters, and everything else. If full Unicode -bidirectional type of a character is needed, -[func@Pango.BidiType.for_unichar] can be used instead. +bidirectional type of a character is needed, [func@Pango.BidiType.for_unichar] +can be used instead. the direction of the character. diff --git a/PangoFc-1.0.gir b/PangoFc-1.0.gir index 190843d..fb95e57 100644 --- a/PangoFc-1.0.gir +++ b/PangoFc-1.0.gir @@ -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. +form AXIS=VALUE. + +This is equivalent to FC_FONT_VARIATIONS in versions of +fontconfig that have that. @@ -328,13 +331,14 @@ the glyph, use [method@PangoFc.Font.has_char]. - + 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. + Use pango_font_get_language() a %NULL-terminated array of `PangoLanguage`* @@ -347,7 +351,7 @@ and its fontmap are valid. - + Returns the FcPattern that @font is based on. the fontconfig pattern for this font @@ -452,7 +456,7 @@ This face will be kept around until you call The PangoFc font map this font is associated with. - + The fontconfig pattern for this font. diff --git a/WebKit2-4.0.gir b/WebKit2-4.0.gir index ca4c12c..3026e18 100644 --- a/WebKit2-4.0.gir +++ b/WebKit2-4.0.gir @@ -4986,6 +4986,18 @@ is present in #WebKitHitTestResult:context + + + + + + + + + + + + @@ -6364,13 +6376,13 @@ against at application run time. - + 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. - + 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. @@ -11834,6 +11846,45 @@ present. + + Finish a #WebKitURISchemeRequest by returning a #WebKitURISchemeResponse + + + + + + a #WebKitURISchemeRequest + + + + a #WebKitURISchemeResponse + + + + + + + + + + + + + + + + Get the HTTP method of the @request + + the HTTP method of the @request + + + + + a #WebKitURISchemeRequest + + + + Get the URI path of @request @@ -11944,6 +11995,122 @@ made for a user registered URI scheme. + + + Create a new #WebKitURISchemeResponse + + the newly created #WebKitURISchemeResponse. + + + + + a #GInputStream to read the contents of the request + + + + the length of the stream or -1 if not known + + + + + + Sets the content type for the @response + + + + + + a #WebKitURISchemeResponse + + + + the content type of the stream + + + + + + + + + + + + + + + + + + + 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. + + + + + + a #WebKitURISchemeResponse + + + + the HTTP status code to be returned + + + + a reason phrase + + + + + + The input stream to read from. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -11998,6 +12165,24 @@ made for a user registered URI scheme. + + + + + + + + + + + + + + + + + + @@ -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(). + + + 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. See also: #WebKitUserContentManager @@ -15326,7 +15523,7 @@ to true, otherwise no inspector is available. <informalexample><programlisting> /<!-- -->* Enable the developer extras *<!-- -->/ -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); /<!-- -->* Load some data or reload to be able to inspect the page*<!-- -->/