Redownload all files with ./dl.sh

This commit is contained in:
Marijn Suijten
2021-01-05 21:42:11 +01:00
parent 824aa873eb
commit 22a2303eb5
18 changed files with 3194 additions and 6710 deletions

View File

@@ -798,7 +798,7 @@ against.</doc>
<type name="gint" c:type="gint"/>
</constant>
<constant name="MICRO_VERSION" value="0" c:type="GI_MICRO_VERSION" version="1.60">
<constant name="MICRO_VERSION" value="1" c:type="GI_MICRO_VERSION" version="1.60">
<doc xml:space="preserve">The micro version number of the girepository library.</doc>
<type name="gint" c:type="gint"/>

View File

@@ -13381,7 +13381,7 @@ g_list_free (g_steal_pointer (&amp;list_of_borrowed_things));
</return-value>
<parameters>
<parameter name="list" transfer-ownership="none">
<doc xml:space="preserve">a #GList</doc>
<doc xml:space="preserve">the first link of a #GList</doc>
<type name="GLib.List" c:type="GList*">
<type name="gpointer" c:type="gpointer"/>
</type>
@@ -13428,7 +13428,7 @@ g_list_free_full (g_steal_pointer (&amp;list_of_owned_things), g_object_unref);
</return-value>
<parameters>
<parameter name="list" transfer-ownership="none">
<doc xml:space="preserve">a pointer to a #GList</doc>
<doc xml:space="preserve">the first link of a #GList</doc>
<type name="GLib.List" c:type="GList*">
<type name="gpointer" c:type="gpointer"/>
</type>
@@ -22434,7 +22434,7 @@ g_slist_free (g_steal_pointer (&amp;list_of_borrowed_things));
</return-value>
<parameters>
<parameter name="list" transfer-ownership="none">
<doc xml:space="preserve">a #GSList</doc>
<doc xml:space="preserve">the first link of a #GSList</doc>
<type name="GLib.SList" c:type="GSList*">
<type name="gpointer" c:type="gpointer"/>
</type>
@@ -22478,7 +22478,7 @@ g_slist_free_full (g_steal_pointer (&amp;list_of_owned_things), g_object_unref);
</return-value>
<parameters>
<parameter name="list" transfer-ownership="none">
<doc xml:space="preserve">a pointer to a #GSList</doc>
<doc xml:space="preserve">the first link of a #GSList</doc>
<type name="GLib.SList" c:type="GSList*">
<type name="gpointer" c:type="gpointer"/>
</type>
@@ -40720,6 +40720,33 @@ struct. Often only the day-month-year or only the Julian
representation is valid. Sometimes neither is valid. Use the API.
GLib also features #GDateTime which represents a precise time.</doc>
</docsection>
<docsection name="date-time">
<doc xml:space="preserve">#GDateTime is a structure that combines a Gregorian date and time
into a single structure. It provides many conversion and methods to
manipulate dates and times. Time precision is provided down to
microseconds and the time can range (proleptically) from 0001-01-01
00:00:00 to 9999-12-31 23:59:59.999999. #GDateTime follows POSIX
time in the sense that it is oblivious to leap seconds.
#GDateTime is an immutable object; once it has been created it cannot
be modified further. All modifiers will create a new #GDateTime.
Nearly all such functions can fail due to the date or time going out
of range, in which case %NULL will be returned.
#GDateTime is reference counted: the reference count is increased by calling
g_date_time_ref() and decreased by calling g_date_time_unref(). When the
reference count drops to 0, the resources allocated by the #GDateTime
structure are released.
Many parts of the API may produce non-obvious results. As an
example, adding two months to January 31st will yield March 31st
whereas adding one month and then one month again will yield either
March 28th or March 29th. Also note that adding 24 hours is not
always the same as adding one day (since days containing daylight
savings time transitions are either 23 or 25 hours in length).
#GDateTime is available since GLib 2.26.</doc>
</docsection>
<function name="date_get_days_in_month" c:identifier="g_date_get_days_in_month" moved-to="Date.get_days_in_month">
<doc xml:space="preserve">Returns the number of days in a month, taking leap
@@ -40991,33 +41018,6 @@ though there is a 16-bit limit to what #GDate will understand.</doc>
</parameter>
</parameters>
</function>
<docsection name="datetime">
<doc xml:space="preserve">#GDateTime is a structure that combines a Gregorian date and time
into a single structure. It provides many conversion and methods to
manipulate dates and times. Time precision is provided down to
microseconds and the time can range (proleptically) from 0001-01-01
00:00:00 to 9999-12-31 23:59:59.999999. #GDateTime follows POSIX
time in the sense that it is oblivious to leap seconds.
#GDateTime is an immutable object; once it has been created it cannot
be modified further. All modifiers will create a new #GDateTime.
Nearly all such functions can fail due to the date or time going out
of range, in which case %NULL will be returned.
#GDateTime is reference counted: the reference count is increased by calling
g_date_time_ref() and decreased by calling g_date_time_unref(). When the
reference count drops to 0, the resources allocated by the #GDateTime
structure are released.
Many parts of the API may produce non-obvious results. As an
example, adding two months to January 31st will yield March 31st
whereas adding one month and then one month again will yield either
March 28th or March 29th. Also note that adding 24 hours is not
always the same as adding one day (since days containing daylight
savings time transitions are either 23 or 25 hours in length).
#GDateTime is available since GLib 2.26.</doc>
</docsection>
<function name="dcgettext" c:identifier="g_dcgettext" version="2.26">
<doc xml:space="preserve">This is a variant of g_dgettext() that allows specifying a locale
category instead of always using `LC_MESSAGES`. See g_dgettext() for
@@ -53801,7 +53801,7 @@ which may be %NULL.</doc>
</parameter>
</parameters>
</function>
<docsection name="treesbinary">
<docsection name="trees-binary">
<doc xml:space="preserve">The #GTree structure and its associated functions provide a sorted
collection of key/value pairs optimized for searching and traversing
in order. This means that most of the operations (access, search,
@@ -53827,7 +53827,7 @@ the traversal, use g_tree_foreach().
To destroy a #GTree, use g_tree_destroy().</doc>
</docsection>
<docsection name="treesnary">
<docsection name="trees-nary">
<doc xml:space="preserve">The #GNode struct and its associated functions provide a N-ary tree
data structure, where nodes in the tree can contain arbitrary data.
@@ -56133,7 +56133,7 @@ Further note that this function does not validate the result
string; it may e.g. include embedded NUL characters. The only
validation done by this function is to ensure that the input can
be correctly interpreted as UTF-16, i.e. it doesn't contain
things unpaired surrogates.</doc>
unpaired surrogates or partial character sequences.</doc>
<return-value transfer-ownership="full">
<doc xml:space="preserve">a pointer to a newly allocated UTF-8 string.

View File

@@ -10,7 +10,7 @@ and/or use gtk-doc annotations. -->
<include name="cairo" version="1.0"/>
<package name="gtk4"/>
<c:include name="gdk/gdk.h"/>
<namespace name="Gdk" version="4.0" shared-library="libgtk-4.so.1" c:identifier-prefixes="Gdk" c:symbol-prefixes="gdk">
<namespace name="Gdk" version="4.0" shared-library="libgtk-4.so.0" c:identifier-prefixes="Gdk" c:symbol-prefixes="gdk">
<constant name="ACTION_ALL" value="7" c:type="GDK_ACTION_ALL">
<doc xml:space="preserve">Defines all possible DND actions. This can be used in gdk_drop_status()
messages when any drop can be accepted or a more specific drop method
@@ -304,7 +304,6 @@ left button in a left-handed setup.</doc>
<type name="gint" c:type="gint"/>
</constant>
<class name="ButtonEvent" c:symbol-prefix="button_event" c:type="GdkButtonEvent" parent="Event" glib:type-name="GdkButtonEvent" glib:get-type="gdk_button_event_get_type" glib:fundamental="1">
<doc xml:space="preserve">An event related to a button on a pointer device/</doc>
<method name="get_button" c:identifier="gdk_button_event_get_button">
<doc xml:space="preserve">Extract the button number from a button event.</doc>
@@ -913,6 +912,29 @@ provided otherwise.</doc>
</return-value>
</glib:signal>
</class>
<class name="ConfigureEvent" c:symbol-prefix="configure_event" c:type="GdkConfigureEvent" parent="Event" glib:type-name="GdkConfigureEvent" glib:get-type="gdk_configure_event_get_type" glib:fundamental="1">
<method name="get_size" c:identifier="gdk_configure_event_get_size">
<doc xml:space="preserve">Extracts the surface size from a configure event.</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="event" transfer-ownership="none">
<doc xml:space="preserve">a configure event</doc>
<type name="ConfigureEvent" c:type="GdkEvent*"/>
</instance-parameter>
<parameter name="width" direction="out" caller-allocates="0" transfer-ownership="full">
<doc xml:space="preserve">return location for surface width</doc>
<type name="gint" c:type="int*"/>
</parameter>
<parameter name="height" direction="out" caller-allocates="0" transfer-ownership="full">
<doc xml:space="preserve">return location for surface height</doc>
<type name="gint" c:type="int*"/>
</parameter>
</parameters>
</method>
</class>
<callback name="ContentDeserializeFunc" c:type="GdkContentDeserializeFunc">
<doc xml:space="preserve">The type of a function that can be registered with gdk_content_register_deserializer().
When the function gets called to operate on content, it can call functions on the
@@ -2013,7 +2035,6 @@ gdk_content_provider_write_mime_type_async().</doc>
</glib:signal>
</class>
<record name="ContentProviderClass" c:type="GdkContentProviderClass" glib:is-gtype-struct-for="ContentProvider">
<doc xml:space="preserve">Class structure for #GdkContentProvider.</doc>
<field name="parent_class">
<type name="GObject.ObjectClass" c:type="GObjectClass"/>
@@ -2365,7 +2386,6 @@ This function consumes @error.</doc>
</method>
</class>
<class name="CrossingEvent" c:symbol-prefix="crossing_event" c:type="GdkCrossingEvent" parent="Event" glib:type-name="GdkCrossingEvent" glib:get-type="gdk_crossing_event_get_type" glib:fundamental="1">
<doc xml:space="preserve">An event caused by a pointing device moving between surfaces.</doc>
<method name="get_detail" c:identifier="gdk_crossing_event_get_detail">
<doc xml:space="preserve">Extracts the notify detail from a crossing event.</doc>
@@ -2693,7 +2713,6 @@ will be returned.</doc>
</parameters>
</function-macro>
<class name="DNDEvent" c:symbol-prefix="dnd_event" c:type="GdkDNDEvent" parent="Event" glib:type-name="GdkDNDEvent" glib:get-type="gdk_dnd_event_get_type" glib:fundamental="1">
<doc xml:space="preserve">An event related to drag and drop operations.</doc>
<method name="get_drop" c:identifier="gdk_dnd_event_get_drop">
<doc xml:space="preserve">Gets the #GdkDrop from a DND event.</doc>
@@ -2731,7 +2750,6 @@ will be returned.</doc>
</parameters>
</function-macro>
<class name="DeleteEvent" c:symbol-prefix="delete_event" c:type="GdkDeleteEvent" parent="Event" glib:type-name="GdkDeleteEvent" glib:get-type="gdk_delete_event_get_type" glib:fundamental="1">
<doc xml:space="preserve">An event related to closing a top-level surface.</doc>
</class>
<class name="Device" c:symbol-prefix="device" c:type="GdkDevice" parent="GObject.Object" abstract="1" glib:type-name="GdkDevice" glib:get-type="gdk_device_get_type">
<doc xml:space="preserve">The #GdkDevice object represents a single input device, such
@@ -3217,7 +3235,6 @@ current mode.</doc>
</record>
<class name="DeviceTool" c:symbol-prefix="device_tool" c:type="GdkDeviceTool" parent="GObject.Object" glib:type-name="GdkDeviceTool" glib:get-type="gdk_device_tool_get_type">
<doc xml:space="preserve">A physical tool associated to a #GdkDevice.</doc>
<method name="get_axes" c:identifier="gdk_device_tool_get_axes">
<doc xml:space="preserve">Gets the axes of the tool.</doc>
@@ -4454,7 +4471,6 @@ during a DND operation.</doc>
</method>
</interface>
<record name="DragSurfaceInterface" c:type="GdkDragSurfaceInterface" disguised="1" glib:is-gtype-struct-for="DragSurface">
<doc xml:space="preserve">The #GdkDragSurfaceInterface implementation is private to GDK.</doc>
</record>
<class name="DrawContext" c:symbol-prefix="draw_context" c:type="GdkDrawContext" parent="GObject.Object" abstract="1" glib:type-name="GdkDrawContext" glib:get-type="gdk_draw_context_get_type">
@@ -5334,69 +5350,72 @@ of related touch events.</doc>
<member name="focus_change" value="8" c:identifier="GDK_FOCUS_CHANGE" glib:nick="focus-change">
<doc xml:space="preserve">the keyboard focus has entered or left the surface.</doc>
</member>
<member name="proximity_in" value="9" c:identifier="GDK_PROXIMITY_IN" glib:nick="proximity-in">
<member name="configure" value="9" c:identifier="GDK_CONFIGURE" glib:nick="configure">
<doc xml:space="preserve">the size of the surface has changed.</doc>
</member>
<member name="proximity_in" value="10" c:identifier="GDK_PROXIMITY_IN" glib:nick="proximity-in">
<doc xml:space="preserve">an input device has moved into contact with a sensing
surface (e.g. a touchscreen or graphics tablet).</doc>
</member>
<member name="proximity_out" value="10" c:identifier="GDK_PROXIMITY_OUT" glib:nick="proximity-out">
<member name="proximity_out" value="11" c:identifier="GDK_PROXIMITY_OUT" glib:nick="proximity-out">
<doc xml:space="preserve">an input device has moved out of contact with a sensing
surface.</doc>
</member>
<member name="drag_enter" value="11" c:identifier="GDK_DRAG_ENTER" glib:nick="drag-enter">
<member name="drag_enter" value="12" c:identifier="GDK_DRAG_ENTER" glib:nick="drag-enter">
<doc xml:space="preserve">the mouse has entered the surface while a drag is in progress.</doc>
</member>
<member name="drag_leave" value="12" c:identifier="GDK_DRAG_LEAVE" glib:nick="drag-leave">
<member name="drag_leave" value="13" c:identifier="GDK_DRAG_LEAVE" glib:nick="drag-leave">
<doc xml:space="preserve">the mouse has left the surface while a drag is in progress.</doc>
</member>
<member name="drag_motion" value="13" c:identifier="GDK_DRAG_MOTION" glib:nick="drag-motion">
<member name="drag_motion" value="14" c:identifier="GDK_DRAG_MOTION" glib:nick="drag-motion">
<doc xml:space="preserve">the mouse has moved in the surface while a drag is in
progress.</doc>
</member>
<member name="drop_start" value="14" c:identifier="GDK_DROP_START" glib:nick="drop-start">
<member name="drop_start" value="15" c:identifier="GDK_DROP_START" glib:nick="drop-start">
<doc xml:space="preserve">a drop operation onto the surface has started.</doc>
</member>
<member name="scroll" value="15" c:identifier="GDK_SCROLL" glib:nick="scroll">
<member name="scroll" value="16" c:identifier="GDK_SCROLL" glib:nick="scroll">
<doc xml:space="preserve">the scroll wheel was turned</doc>
</member>
<member name="grab_broken" value="16" c:identifier="GDK_GRAB_BROKEN" glib:nick="grab-broken">
<member name="grab_broken" value="17" c:identifier="GDK_GRAB_BROKEN" glib:nick="grab-broken">
<doc xml:space="preserve">a pointer or keyboard grab was broken.</doc>
</member>
<member name="touch_begin" value="17" c:identifier="GDK_TOUCH_BEGIN" glib:nick="touch-begin">
<member name="touch_begin" value="18" c:identifier="GDK_TOUCH_BEGIN" glib:nick="touch-begin">
<doc xml:space="preserve">A new touch event sequence has just started.</doc>
</member>
<member name="touch_update" value="18" c:identifier="GDK_TOUCH_UPDATE" glib:nick="touch-update">
<member name="touch_update" value="19" c:identifier="GDK_TOUCH_UPDATE" glib:nick="touch-update">
<doc xml:space="preserve">A touch event sequence has been updated.</doc>
</member>
<member name="touch_end" value="19" c:identifier="GDK_TOUCH_END" glib:nick="touch-end">
<member name="touch_end" value="20" c:identifier="GDK_TOUCH_END" glib:nick="touch-end">
<doc xml:space="preserve">A touch event sequence has finished.</doc>
</member>
<member name="touch_cancel" value="20" c:identifier="GDK_TOUCH_CANCEL" glib:nick="touch-cancel">
<member name="touch_cancel" value="21" c:identifier="GDK_TOUCH_CANCEL" glib:nick="touch-cancel">
<doc xml:space="preserve">A touch event sequence has been canceled.</doc>
</member>
<member name="touchpad_swipe" value="21" c:identifier="GDK_TOUCHPAD_SWIPE" glib:nick="touchpad-swipe">
<member name="touchpad_swipe" value="22" c:identifier="GDK_TOUCHPAD_SWIPE" glib:nick="touchpad-swipe">
<doc xml:space="preserve">A touchpad swipe gesture event, the current state
is determined by its phase field.</doc>
</member>
<member name="touchpad_pinch" value="22" c:identifier="GDK_TOUCHPAD_PINCH" glib:nick="touchpad-pinch">
<member name="touchpad_pinch" value="23" c:identifier="GDK_TOUCHPAD_PINCH" glib:nick="touchpad-pinch">
<doc xml:space="preserve">A touchpad pinch gesture event, the current state
is determined by its phase field.</doc>
</member>
<member name="pad_button_press" value="23" c:identifier="GDK_PAD_BUTTON_PRESS" glib:nick="pad-button-press">
<member name="pad_button_press" value="24" c:identifier="GDK_PAD_BUTTON_PRESS" glib:nick="pad-button-press">
<doc xml:space="preserve">A tablet pad button press event.</doc>
</member>
<member name="pad_button_release" value="24" c:identifier="GDK_PAD_BUTTON_RELEASE" glib:nick="pad-button-release">
<member name="pad_button_release" value="25" c:identifier="GDK_PAD_BUTTON_RELEASE" glib:nick="pad-button-release">
<doc xml:space="preserve">A tablet pad button release event.</doc>
</member>
<member name="pad_ring" value="25" c:identifier="GDK_PAD_RING" glib:nick="pad-ring">
<member name="pad_ring" value="26" c:identifier="GDK_PAD_RING" glib:nick="pad-ring">
<doc xml:space="preserve">A tablet pad axis event from a "ring".</doc>
</member>
<member name="pad_strip" value="26" c:identifier="GDK_PAD_STRIP" glib:nick="pad-strip">
<member name="pad_strip" value="27" c:identifier="GDK_PAD_STRIP" glib:nick="pad-strip">
<doc xml:space="preserve">A tablet pad axis event from a "strip".</doc>
</member>
<member name="pad_group_mode" value="27" c:identifier="GDK_PAD_GROUP_MODE" glib:nick="pad-group-mode">
<member name="pad_group_mode" value="28" c:identifier="GDK_PAD_GROUP_MODE" glib:nick="pad-group-mode">
<doc xml:space="preserve">A tablet pad group mode change.</doc>
</member>
<member name="event_last" value="28" c:identifier="GDK_EVENT_LAST" glib:nick="event-last">
<member name="event_last" value="29" c:identifier="GDK_EVENT_LAST" glib:nick="event-last">
<doc xml:space="preserve">marks the end of the GdkEventType enumeration.</doc>
</member>
</enumeration>
@@ -5424,7 +5443,6 @@ of related touch events.</doc>
<glib:boxed glib:name="FileList" c:symbol-prefix="file_list" glib:type-name="GdkFileList" glib:get-type="gdk_file_list_get_type">
</glib:boxed>
<class name="FocusEvent" c:symbol-prefix="focus_event" c:type="GdkFocusEvent" parent="Event" glib:type-name="GdkFocusEvent" glib:get-type="gdk_focus_event_get_type" glib:fundamental="1">
<doc xml:space="preserve">An event related to a focus change.</doc>
<method name="get_in" c:identifier="gdk_focus_event_get_in">
<doc xml:space="preserve">Extracts whether this event is about focus entering or
leaving the surface.</doc>
@@ -5761,7 +5779,7 @@ correspond to the signals of #GdkFrameClock.</doc>
<doc xml:space="preserve">corresponds to GdkFrameClock::update.</doc>
</member>
<member name="layout" value="8" c:identifier="GDK_FRAME_CLOCK_PHASE_LAYOUT" glib:nick="layout">
<doc xml:space="preserve">corresponds to GdkFrameClock::layout. Should not be handled by applicatiosn.</doc>
<doc xml:space="preserve">corresponds to GdkFrameClock::layout.</doc>
</member>
<member name="paint" value="16" c:identifier="GDK_FRAME_CLOCK_PHASE_PAINT" glib:nick="paint">
<doc xml:space="preserve">corresponds to GdkFrameClock::paint.</doc>
@@ -6325,7 +6343,6 @@ OpenGL ES API, extensions, or shaders.</doc>
</function>
</enumeration>
<class name="GLTexture" c:symbol-prefix="gl_texture" c:type="GdkGLTexture" parent="Texture" glib:type-name="GdkGLTexture" glib:get-type="gdk_gl_texture_get_type" glib:type-struct="GLTextureClass">
<doc xml:space="preserve">A #GdkTexture representing a GL texture object.</doc>
<implements name="Paintable"/>
<constructor name="new" c:identifier="gdk_gl_texture_new">
@@ -6404,7 +6421,6 @@ has been called.</doc>
</parameters>
</function-macro>
<class name="GrabBrokenEvent" c:symbol-prefix="grab_broken_event" c:type="GdkGrabBrokenEvent" parent="Event" glib:type-name="GdkGrabBrokenEvent" glib:get-type="gdk_grab_broken_event_get_type" glib:fundamental="1">
<doc xml:space="preserve">An event related to a broken windowing system grab.</doc>
<method name="get_grab_surface" c:identifier="gdk_grab_broken_event_get_grab_surface">
<doc xml:space="preserve">Extracts the grab surface from a grab broken event.</doc>
@@ -15821,7 +15837,6 @@ has been called.</doc>
<type name="gint" c:type="gint"/>
</constant>
<class name="KeyEvent" c:symbol-prefix="key_event" c:type="GdkKeyEvent" parent="Event" glib:type-name="GdkKeyEvent" glib:get-type="gdk_key_event_get_type" glib:fundamental="1">
<doc xml:space="preserve">An event related to a key-based device.</doc>
<method name="get_consumed_modifiers" c:identifier="gdk_key_event_get_consumed_modifiers">
<doc xml:space="preserve">Extracts the consumed modifiers from a key event.</doc>
@@ -16062,7 +16077,6 @@ for details).</doc>
</member>
</enumeration>
<class name="MemoryTexture" c:symbol-prefix="memory_texture" c:type="GdkMemoryTexture" parent="Texture" glib:type-name="GdkMemoryTexture" glib:get-type="gdk_memory_texture_get_type" glib:type-struct="MemoryTextureClass">
<doc xml:space="preserve">A #GdkTexture representing image data in memory.</doc>
<implements name="Paintable"/>
<constructor name="new" c:identifier="gdk_memory_texture_new">
@@ -16376,7 +16390,6 @@ by @monitor gets disconnected.</doc>
</record>
<class name="MotionEvent" c:symbol-prefix="motion_event" c:type="GdkMotionEvent" parent="Event" glib:type-name="GdkMotionEvent" glib:get-type="gdk_motion_event_get_type" glib:fundamental="1">
<doc xml:space="preserve">An event related to a pointer or touch device motion.</doc>
</class>
<enumeration name="NotifyType" glib:type-name="GdkNotifyType" glib:get-type="gdk_notify_type_get_type" c:type="GdkNotifyType">
<doc xml:space="preserve">Specifies the kind of crossing for enter and leave events.
@@ -16417,7 +16430,6 @@ is given in the
<type name="gint" c:type="gint"/>
</constant>
<class name="PadEvent" c:symbol-prefix="pad_event" c:type="GdkPadEvent" parent="Event" glib:type-name="GdkPadEvent" glib:get-type="gdk_pad_event_get_type" glib:fundamental="1">
<doc xml:space="preserve">An event related to a pad-based device.</doc>
<method name="get_axis_value" c:identifier="gdk_pad_event_get_axis_value">
<doc xml:space="preserve">Extracts the information from a pad strip or ring event.</doc>
@@ -16938,13 +16950,11 @@ such as caching.</doc>
</bitfield>
<record name="PaintableInterface" c:type="GdkPaintableInterface" glib:is-gtype-struct-for="Paintable">
<doc xml:space="preserve">The list of functions that can be implemented for the #GdkPaintable interface.
Note that apart from the #GdkPaintableInterface.snapshot() function, no virtual
function of this interface is mandatory to implement, though it is a good idea
to implement #GdkPaintableInterface.get_current_image() for non-static paintables
and #GdkPaintableInterface.get_flags() if the image is not dynamic as the default
implementation returns no flags and that will make the implementation likely
quite slow.</doc>
Note that apart from the first function, no function is mandatory to implement,
though it is a good idea to implement #GdkPaintableInterface.get_current_image()
for non-static paintables and #GdkPaintableInterface.get_flags() if the image
is not dynamic as the default implementation returns no flags and that will
make the implementation likely quite slow.</doc>
<field name="g_iface" readable="0" private="1">
<type name="GObject.TypeInterface" c:type="GTypeInterface"/>
@@ -17120,7 +17130,7 @@ They can be modal, which is indicated by the #GdkPopup:autohide property.</doc>
<doc xml:space="preserve">Gets the current popup rectangle anchor.
The value returned may change after calling gdk_popup_present(),
or after the #GdkSurface::layout signal is emitted.</doc>
or after the "popup-layout-changed" is emitted.</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">the current rectangle anchor value of @popup</doc>
@@ -17137,7 +17147,7 @@ or after the #GdkSurface::layout signal is emitted.</doc>
<doc xml:space="preserve">Gets the current popup surface anchor.
The value returned may change after calling gdk_popup_present(),
or after the #GdkSurface::layout signal is emitted.</doc>
or after the "popup-layout-changed" is emitted.</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">the current surface anchor value of @popup</doc>
@@ -17155,16 +17165,13 @@ or after the #GdkSurface::layout signal is emitted.</doc>
If the popup was previously now showing, it will be showed,
otherwise it will change position according to @layout.
After calling this function, the result should be handled in response
to the #GdkSurface::layout signal being emitted. The resulting popup
position can be queried using gdk_popup_get_position_x(),
gdk_popup_get_position_y(), and the resulting size will be sent as
parameters in the layout signal. Use gdk_popup_get_rect_anchor() and
gdk_popup_get_surface_anchor() to get the resulting anchors.
After calling this function, the result of the layout can be queried
using gdk_popup_get_position_x(), gdk_popup_get_position_y(),
gdk_surface_get_width(), gdk_surface_get_height(),
gdk_popup_get_rect_anchor() and gdk_popup_get_surface_anchor().
Presenting may fail, for example if the @popup is set to autohide
and is immediately hidden upon being presented. If presenting failed,
the #GdkSurface::layout signal will not me emitted.</doc>
Presenting may have fail, for example if it was immediately
hidden if the @popup was set to autohide.</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">%FALSE if it failed to be presented, otherwise %TRUE.</doc>
@@ -17195,6 +17202,14 @@ the #GdkSurface::layout signal will not me emitted.</doc>
<property name="parent" writable="1" construct-only="1" transfer-ownership="none">
<type name="Surface"/>
</property>
<glib:signal name="popup-layout-changed" when="first">
<doc xml:space="preserve">Emitted when the layout of a popup surface has changed, e.g. if the popup
layout was reactive and after the parent moved causing the popover to end
up partially off-screen.</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</glib:signal>
</interface>
<record name="PopupInterface" c:type="GdkPopupInterface" disguised="1" glib:is-gtype-struct-for="Popup">
@@ -17297,7 +17312,7 @@ otherwise %FALSE.</doc>
</parameters>
</method>
<method name="get_offset" c:identifier="gdk_popup_layout_get_offset">
<doc xml:space="preserve">Retrieves the offset for the anchor rectangle.</doc>
<doc xml:space="preserve">Get the delta the anchor rectangle is offset with</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
@@ -17307,12 +17322,12 @@ otherwise %FALSE.</doc>
<doc xml:space="preserve">a #GdkPopupLayout</doc>
<type name="PopupLayout" c:type="GdkPopupLayout*"/>
</instance-parameter>
<parameter name="dx" direction="out" caller-allocates="0" transfer-ownership="full">
<doc xml:space="preserve">return location for the delta X coordinate</doc>
<parameter name="dx" transfer-ownership="none">
<doc xml:space="preserve">a pointer to where to store the delta x coordinate</doc>
<type name="gint" c:type="int*"/>
</parameter>
<parameter name="dy" direction="out" caller-allocates="0" transfer-ownership="full">
<doc xml:space="preserve">return location for the delta Y coordinate</doc>
<parameter name="dy" transfer-ownership="none">
<doc xml:space="preserve">a pointer to where to store the delta y coordinate</doc>
<type name="gint" c:type="int*"/>
</parameter>
</parameters>
@@ -17468,7 +17483,6 @@ if @surface extends beyond the left or right edges of the monitor.</doc>
</method>
</record>
<class name="ProximityEvent" c:symbol-prefix="proximity_event" c:type="GdkProximityEvent" parent="Event" glib:type-name="GdkProximityEvent" glib:get-type="gdk_proximity_event_get_type" glib:fundamental="1">
<doc xml:space="preserve">An event related to the proximity of a tool to a device.</doc>
</class>
<record name="RGBA" c:type="GdkRGBA" glib:type-name="GdkRGBA" glib:get-type="gdk_rgba_get_type" c:symbol-prefix="rgba">
<doc xml:space="preserve">A #GdkRGBA is used to represent a (possibly translucent)
@@ -17817,7 +17831,6 @@ zero width or height).</doc>
</member>
</enumeration>
<class name="ScrollEvent" c:symbol-prefix="scroll_event" c:type="GdkScrollEvent" parent="Event" glib:type-name="GdkScrollEvent" glib:get-type="gdk_scroll_event_get_type" glib:fundamental="1">
<doc xml:space="preserve">An event related to a scrolling motion.</doc>
<method name="get_deltas" c:identifier="gdk_scroll_event_get_deltas">
<doc xml:space="preserve">Extracts the scroll deltas of a scroll event.
@@ -18071,7 +18084,6 @@ to this @seat.</doc>
</member>
</bitfield>
<class name="Snapshot" c:symbol-prefix="snapshot" c:type="GdkSnapshot" parent="GObject.Object" abstract="1" glib:type-name="GdkSnapshot" glib:get-type="gdk_snapshot_get_type" glib:type-struct="SnapshotClass">
<doc xml:space="preserve">Base type for snapshot operations.</doc>
</class>
<record name="SnapshotClass" c:type="GdkSnapshotClass" disguised="1" glib:is-gtype-struct-for="Snapshot">
@@ -18498,20 +18510,6 @@ regions on their own.</doc>
</instance-parameter>
</parameters>
</method>
<method name="request_layout" c:identifier="gdk_surface_request_layout">
<doc xml:space="preserve">Request a %GDK_FRAME_CLOCK_PHASE_LAYOUT from the surface's
frame clock. See gdk_frame_clock_request_phase().</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="surface" transfer-ownership="none">
<doc xml:space="preserve">a #GdkSurface</doc>
<type name="Surface" c:type="GdkSurface*"/>
</instance-parameter>
</parameters>
</method>
<method name="set_cursor" c:identifier="gdk_surface_set_cursor">
<doc xml:space="preserve">Sets the default mouse pointer for a #GdkSurface.
@@ -18621,6 +18619,43 @@ property in your #GtkWidgetClass.css_changed() handler.</doc>
</parameter>
</parameters>
</method>
<method name="set_shadow_width" c:identifier="gdk_surface_set_shadow_width">
<doc xml:space="preserve">Newer GTK windows using client-side decorations use extra geometry
around their frames for effects like shadows and invisible borders.
Window managers that want to maximize windows or snap to edges need
to know where the extents of the actual frame lie, so that users
don&#x2019;t feel like windows are snapping against random invisible edges.
Note that this property is automatically updated by GTK, so this
function should only be used by applications which do not use GTK
to create toplevel surfaces.</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="surface" transfer-ownership="none">
<doc xml:space="preserve">a #GdkSurface</doc>
<type name="Surface" c:type="GdkSurface*"/>
</instance-parameter>
<parameter name="left" transfer-ownership="none">
<doc xml:space="preserve">The left extent</doc>
<type name="gint" c:type="int"/>
</parameter>
<parameter name="right" transfer-ownership="none">
<doc xml:space="preserve">The right extent</doc>
<type name="gint" c:type="int"/>
</parameter>
<parameter name="top" transfer-ownership="none">
<doc xml:space="preserve">The top extent</doc>
<type name="gint" c:type="int"/>
</parameter>
<parameter name="bottom" transfer-ownership="none">
<doc xml:space="preserve">The bottom extent</doc>
<type name="gint" c:type="int"/>
</parameter>
</parameters>
</method>
<method name="translate_coordinates" c:identifier="gdk_surface_translate_coordinates">
<doc xml:space="preserve">Translates the given coordinates from being
relative to the @from surface to being relative
@@ -18701,26 +18736,6 @@ for details.</doc>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="layout" when="first">
<doc xml:space="preserve">Emitted when the size of @surface is changed, or when relayout should
be performed.
Surface size is reported in &#x201D;application pixels&#x201D;, not
&#x201D;device pixels&#x201D; (see gdk_surface_get_scale_factor()).</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="width" transfer-ownership="none">
<doc xml:space="preserve">the current width</doc>
<type name="gint" c:type="gint"/>
</parameter>
<parameter name="height" transfer-ownership="none">
<doc xml:space="preserve">the current height</doc>
<type name="gint" c:type="gint"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="leave-monitor" when="first">
<doc xml:space="preserve">Emitted when @surface stops being present on the monitor.</doc>
<return-value transfer-ownership="none">
@@ -18746,6 +18761,25 @@ Surface size is reported in &#x201D;application pixels&#x201D;, not
</parameter>
</parameters>
</glib:signal>
<glib:signal name="size-changed" when="first">
<doc xml:space="preserve">Emitted when the size of @surface is changed.
Surface size is reported in &#x201D;application pixels&#x201D;, not
&#x201D;device pixels&#x201D; (see gdk_surface_get_scale_factor()).</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="width" transfer-ownership="none">
<doc xml:space="preserve">the new width</doc>
<type name="gint" c:type="gint"/>
</parameter>
<parameter name="height" transfer-ownership="none">
<doc xml:space="preserve">the new height</doc>
<type name="gint" c:type="gint"/>
</parameter>
</parameters>
</glib:signal>
</class>
<record name="SurfaceClass" c:type="GdkSurfaceClass" disguised="1" glib:is-gtype-struct-for="Surface">
@@ -18960,7 +18994,7 @@ look into using the gdk-pixbuf library.</doc>
</field>
<field name="axes" writable="1">
<doc xml:space="preserve">axis values</doc>
<array zero-terminated="0" fixed-size="12">
<array zero-terminated="0">
<type name="gdouble" c:type="double"/>
</array>
</field>
@@ -19159,11 +19193,11 @@ GDK may emit the 'compute-size' signal to let the user of this toplevel
compute the preferred size of the toplevel surface. See
#GdkToplevel::compute-size for details.
Presenting is asynchronous and the specified layout parameters are not
guaranteed to be respected.</doc>
Presenting may fail.</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
<doc xml:space="preserve">%FALSE if @toplevel failed to be presented, otherwise %TRUE.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="toplevel" transfer-ownership="none">
@@ -19487,12 +19521,11 @@ The size is in &#x201D;application pixels&#x201D;, not
</parameters>
</method>
<method name="get_fullscreen" c:identifier="gdk_toplevel_layout_get_fullscreen">
<doc xml:space="preserve">If the layout specifies whether to the toplevel should go fullscreen,
the value pointed to by @fullscreen is set to %TRUE if it should go
fullscreen, or %FALSE, if it should go unfullscreen.</doc>
<doc xml:space="preserve">Returns whether the layout should cause the surface
to be fullscreen when presented.</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">whether the @layout specifies the fullscreen state for the toplevel</doc>
<doc xml:space="preserve">%TRUE if @layout is fullscreen</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
@@ -19500,10 +19533,6 @@ fullscreen, or %FALSE, if it should go unfullscreen.</doc>
<doc xml:space="preserve">a #GdkToplevelLayout</doc>
<type name="ToplevelLayout" c:type="GdkToplevelLayout*"/>
</instance-parameter>
<parameter name="fullscreen" direction="out" caller-allocates="0" transfer-ownership="full">
<doc xml:space="preserve">location to store whether the toplevel should be fullscreen</doc>
<type name="gboolean" c:type="gboolean*"/>
</parameter>
</parameters>
</method>
<method name="get_fullscreen_monitor" c:identifier="gdk_toplevel_layout_get_fullscreen_monitor">
@@ -19522,12 +19551,11 @@ the surface on.</doc>
</parameters>
</method>
<method name="get_maximized" c:identifier="gdk_toplevel_layout_get_maximized">
<doc xml:space="preserve">If the layout specifies whether to the toplevel should go maximized,
the value pointed to by @maximized is set to %TRUE if it should go
fullscreen, or %FALSE, if it should go unmaximized.</doc>
<doc xml:space="preserve">Returns whether the layout should present the
surface as maximized.</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">whether the @layout specifies the maximized state for the toplevel</doc>
<doc xml:space="preserve">%TRUE if the layout is maximized</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
@@ -19535,10 +19563,6 @@ fullscreen, or %FALSE, if it should go unmaximized.</doc>
<doc xml:space="preserve">a #GdkToplevelLayout</doc>
<type name="ToplevelLayout" c:type="GdkToplevelLayout*"/>
</instance-parameter>
<parameter name="maximized" direction="out" caller-allocates="0" transfer-ownership="full">
<doc xml:space="preserve">set to %TRUE if the toplevel should be maximized</doc>
<type name="gboolean" c:type="gboolean*"/>
</parameter>
</parameters>
</method>
<method name="get_resizable" c:identifier="gdk_toplevel_layout_get_resizable">
@@ -19701,37 +19725,6 @@ gdk_toplevel_size_get_bounds()).</doc>
</parameter>
</parameters>
</method>
<method name="set_shadow_width" c:identifier="gdk_toplevel_size_set_shadow_width">
<doc xml:space="preserve">The shadow width corresponds to the part of the computed surface size
that would consist of the shadow margin surrounding the window, would
there be any.</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="size" transfer-ownership="none">
<doc xml:space="preserve">a #GdkToplevelSize</doc>
<type name="ToplevelSize" c:type="GdkToplevelSize*"/>
</instance-parameter>
<parameter name="left" transfer-ownership="none">
<doc xml:space="preserve">width of the left part of the shadow</doc>
<type name="gint" c:type="int"/>
</parameter>
<parameter name="right" transfer-ownership="none">
<doc xml:space="preserve">width of the right part of the shadow</doc>
<type name="gint" c:type="int"/>
</parameter>
<parameter name="top" transfer-ownership="none">
<doc xml:space="preserve">height of the top part of the shadow</doc>
<type name="gint" c:type="int"/>
</parameter>
<parameter name="bottom" transfer-ownership="none">
<doc xml:space="preserve">height of the bottom part of the shadow</doc>
<type name="gint" c:type="int"/>
</parameter>
</parameters>
</method>
<method name="set_size" c:identifier="gdk_toplevel_size_set_size">
<doc xml:space="preserve">Sets the size the toplevel prefers to be resized to. The size should be
within the bounds (see gdk_toplevel_size_get_bounds()). The set size should
@@ -19764,57 +19757,59 @@ On platforms that support information about individual edges, the %GDK_TOPLEVEL_
state will be set whenever any of the individual tiled states is set. On platforms
that lack that support, the tiled state will give an indication of tiledness without
any of the per-edge states being set.</doc>
<member name="minimized" value="1" c:identifier="GDK_TOPLEVEL_STATE_MINIMIZED" glib:nick="minimized">
<member name="withdrawn" value="1" c:identifier="GDK_TOPLEVEL_STATE_WITHDRAWN" glib:nick="withdrawn">
<doc xml:space="preserve">the surface is not shown</doc>
</member>
<member name="minimized" value="2" c:identifier="GDK_TOPLEVEL_STATE_MINIMIZED" glib:nick="minimized">
<doc xml:space="preserve">the surface is minimized</doc>
</member>
<member name="maximized" value="2" c:identifier="GDK_TOPLEVEL_STATE_MAXIMIZED" glib:nick="maximized">
<member name="maximized" value="4" c:identifier="GDK_TOPLEVEL_STATE_MAXIMIZED" glib:nick="maximized">
<doc xml:space="preserve">the surface is maximized</doc>
</member>
<member name="sticky" value="4" c:identifier="GDK_TOPLEVEL_STATE_STICKY" glib:nick="sticky">
<member name="sticky" value="8" c:identifier="GDK_TOPLEVEL_STATE_STICKY" glib:nick="sticky">
<doc xml:space="preserve">the surface is sticky</doc>
</member>
<member name="fullscreen" value="8" c:identifier="GDK_TOPLEVEL_STATE_FULLSCREEN" glib:nick="fullscreen">
<member name="fullscreen" value="16" c:identifier="GDK_TOPLEVEL_STATE_FULLSCREEN" glib:nick="fullscreen">
<doc xml:space="preserve">the surface is maximized without decorations</doc>
</member>
<member name="above" value="16" c:identifier="GDK_TOPLEVEL_STATE_ABOVE" glib:nick="above">
<member name="above" value="32" c:identifier="GDK_TOPLEVEL_STATE_ABOVE" glib:nick="above">
<doc xml:space="preserve">the surface is kept above other surfaces</doc>
</member>
<member name="below" value="32" c:identifier="GDK_TOPLEVEL_STATE_BELOW" glib:nick="below">
<member name="below" value="64" c:identifier="GDK_TOPLEVEL_STATE_BELOW" glib:nick="below">
<doc xml:space="preserve">the surface is kept below other surfaces</doc>
</member>
<member name="focused" value="64" c:identifier="GDK_TOPLEVEL_STATE_FOCUSED" glib:nick="focused">
<member name="focused" value="128" c:identifier="GDK_TOPLEVEL_STATE_FOCUSED" glib:nick="focused">
<doc xml:space="preserve">the surface is presented as focused (with active decorations)</doc>
</member>
<member name="tiled" value="128" c:identifier="GDK_TOPLEVEL_STATE_TILED" glib:nick="tiled">
<member name="tiled" value="256" c:identifier="GDK_TOPLEVEL_STATE_TILED" glib:nick="tiled">
<doc xml:space="preserve">the surface is in a tiled state</doc>
</member>
<member name="top_tiled" value="256" c:identifier="GDK_TOPLEVEL_STATE_TOP_TILED" glib:nick="top-tiled">
<member name="top_tiled" value="512" c:identifier="GDK_TOPLEVEL_STATE_TOP_TILED" glib:nick="top-tiled">
<doc xml:space="preserve">whether the top edge is tiled</doc>
</member>
<member name="top_resizable" value="512" c:identifier="GDK_TOPLEVEL_STATE_TOP_RESIZABLE" glib:nick="top-resizable">
<member name="top_resizable" value="1024" c:identifier="GDK_TOPLEVEL_STATE_TOP_RESIZABLE" glib:nick="top-resizable">
<doc xml:space="preserve">whether the top edge is resizable</doc>
</member>
<member name="right_tiled" value="1024" c:identifier="GDK_TOPLEVEL_STATE_RIGHT_TILED" glib:nick="right-tiled">
<member name="right_tiled" value="2048" c:identifier="GDK_TOPLEVEL_STATE_RIGHT_TILED" glib:nick="right-tiled">
<doc xml:space="preserve">whether the right edge is tiled</doc>
</member>
<member name="right_resizable" value="2048" c:identifier="GDK_TOPLEVEL_STATE_RIGHT_RESIZABLE" glib:nick="right-resizable">
<member name="right_resizable" value="4096" c:identifier="GDK_TOPLEVEL_STATE_RIGHT_RESIZABLE" glib:nick="right-resizable">
<doc xml:space="preserve">whether the right edge is resizable</doc>
</member>
<member name="bottom_tiled" value="4096" c:identifier="GDK_TOPLEVEL_STATE_BOTTOM_TILED" glib:nick="bottom-tiled">
<member name="bottom_tiled" value="8192" c:identifier="GDK_TOPLEVEL_STATE_BOTTOM_TILED" glib:nick="bottom-tiled">
<doc xml:space="preserve">whether the bottom edge is tiled</doc>
</member>
<member name="bottom_resizable" value="8192" c:identifier="GDK_TOPLEVEL_STATE_BOTTOM_RESIZABLE" glib:nick="bottom-resizable">
<member name="bottom_resizable" value="16384" c:identifier="GDK_TOPLEVEL_STATE_BOTTOM_RESIZABLE" glib:nick="bottom-resizable">
<doc xml:space="preserve">whether the bottom edge is resizable</doc>
</member>
<member name="left_tiled" value="16384" c:identifier="GDK_TOPLEVEL_STATE_LEFT_TILED" glib:nick="left-tiled">
<member name="left_tiled" value="32768" c:identifier="GDK_TOPLEVEL_STATE_LEFT_TILED" glib:nick="left-tiled">
<doc xml:space="preserve">whether the left edge is tiled</doc>
</member>
<member name="left_resizable" value="32768" c:identifier="GDK_TOPLEVEL_STATE_LEFT_RESIZABLE" glib:nick="left-resizable">
<member name="left_resizable" value="65536" c:identifier="GDK_TOPLEVEL_STATE_LEFT_RESIZABLE" glib:nick="left-resizable">
<doc xml:space="preserve">whether the left edge is resizable</doc>
</member>
</bitfield>
<class name="TouchEvent" c:symbol-prefix="touch_event" c:type="GdkTouchEvent" parent="Event" glib:type-name="GdkTouchEvent" glib:get-type="gdk_touch_event_get_type" glib:fundamental="1">
<doc xml:space="preserve">An event related to a touch-based device.</doc>
<method name="get_emulating_pointer" c:identifier="gdk_touch_event_get_emulating_pointer">
<doc xml:space="preserve">Extracts whether a touch event is emulating a pointer event.</doc>
@@ -19831,7 +19826,6 @@ any of the per-edge states being set.</doc>
</method>
</class>
<class name="TouchpadEvent" c:symbol-prefix="touchpad_event" c:type="GdkTouchpadEvent" parent="Event" glib:type-name="GdkTouchpadEvent" glib:get-type="gdk_touchpad_event_get_type" glib:fundamental="1">
<doc xml:space="preserve">An event related to a touchpad device.</doc>
<method name="get_deltas" c:identifier="gdk_touchpad_event_get_deltas">
<doc xml:space="preserve">Extracts delta information from a touchpad event.</doc>

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -5,8 +5,8 @@ and/or use gtk-doc annotations. -->
<repository xmlns="http://www.gtk.org/introspection/core/1.0" xmlns:c="http://www.gtk.org/introspection/c/1.0" xmlns:glib="http://www.gtk.org/introspection/glib/1.0" version="1.2">
<include name="Gdk" version="4.0"/>
<package name="gtk4-wayland"/>
<c:include name="gdk/wayland/gdkwayland.h"/>
<namespace name="GdkWayland" version="4.0" shared-library="libgtk-4.so.1" c:identifier-prefixes="Gdk" c:symbol-prefixes="gdk">
<c:include name="gdk/gdkwayland.h"/>
<namespace name="GdkWayland" version="4.0" shared-library="libgtk-4.so.0" c:identifier-prefixes="Gdk" c:symbol-prefixes="gdk">
<function-macro name="IS_WAYLAND_DEVICE" c:identifier="GDK_IS_WAYLAND_DEVICE" introspectable="0">
<parameters>
@@ -305,12 +305,10 @@ if no ID has been defined.</doc>
<doc xml:space="preserve">a #GdkDisplay</doc>
<type name="WaylandDisplay" c:type="GdkDisplay*"/>
</instance-parameter>
<parameter name="name" transfer-ownership="none">
<doc xml:space="preserve">the new cursor theme</doc>
<parameter name="theme" transfer-ownership="none">
<type name="utf8" c:type="const char*"/>
</parameter>
<parameter name="size" transfer-ownership="none">
<doc xml:space="preserve">the size to use for cursors</doc>
<type name="gint" c:type="int"/>
</parameter>
</parameters>

View File

@@ -6,8 +6,8 @@ and/or use gtk-doc annotations. -->
<include name="Gdk" version="4.0"/>
<include name="xlib" version="2.0"/>
<package name="gtk4-x11"/>
<c:include name="gdk/x11/gdkx.h"/>
<namespace name="GdkX11" version="4.0" shared-library="libgtk-4.so.1" c:identifier-prefixes="Gdk" c:symbol-prefixes="gdk">
<c:include name="gdk/gdkx.h"/>
<namespace name="GdkX11" version="4.0" shared-library="libgtk-4.so.0" c:identifier-prefixes="Gdk" c:symbol-prefixes="gdk">
<function-macro name="DISPLAY_XDISPLAY" c:identifier="GDK_DISPLAY_XDISPLAY" introspectable="0">
<doc xml:space="preserve">Returns the display of a #GdkDisplay.</doc>
@@ -185,6 +185,31 @@ using GDK_XID_TO_POINTER().</doc>
</enumeration>
<class name="X11DeviceXI2" c:symbol-prefix="x11_device_xi2" c:type="GdkX11DeviceXI2" parent="Gdk.Device" glib:type-name="GdkX11DeviceXI2" glib:get-type="gdk_x11_device_xi2_get_type" glib:type-struct="X11DeviceXI2Class">
<method name="get_device_type" c:identifier="gdk_x11_device_xi2_get_device_type">
<return-value transfer-ownership="none">
<type name="X11DeviceType" c:type="GdkX11DeviceType"/>
</return-value>
<parameters>
<instance-parameter name="device" transfer-ownership="none">
<type name="X11DeviceXI2" c:type="GdkX11DeviceXI2*"/>
</instance-parameter>
</parameters>
</method>
<method name="set_device_type" c:identifier="gdk_x11_device_xi2_set_device_type">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="device" transfer-ownership="none">
<type name="X11DeviceXI2" c:type="GdkX11DeviceXI2*"/>
</instance-parameter>
<parameter name="type" transfer-ownership="none">
<type name="X11DeviceType" c:type="GdkX11DeviceType"/>
</parameter>
</parameters>
</method>
<property name="device-id" writable="1" construct-only="1" transfer-ownership="none">
<type name="gint" c:type="gint"/>
</property>

View File

@@ -6,7 +6,7 @@ and/or use gtk-doc annotations. -->
<include name="Gdk" version="4.0"/>
<package name="gtk4"/>
<c:include name="gsk/gsk.h"/>
<namespace name="Gsk" version="4.0" shared-library="libgtk-4.so.1" c:identifier-prefixes="Gsk" c:symbol-prefixes="gsk">
<namespace name="Gsk" version="4.0" shared-library="libgtk-4.so.0" c:identifier-prefixes="Gsk" c:symbol-prefixes="gsk">
<function-macro name="BROADWAY_RENDERER" c:identifier="GSK_BROADWAY_RENDERER" introspectable="0">
<parameters>
@@ -89,7 +89,6 @@ on blending and blend modes.</doc>
</member>
</enumeration>
<class name="BlendNode" c:symbol-prefix="blend_node" c:type="GskBlendNode" parent="RenderNode" glib:type-name="GskBlendNode" glib:get-type="gsk_blend_node_get_type" glib:fundamental="1">
<doc xml:space="preserve">A render node applying a blending function between its two child nodes.</doc>
<constructor name="new" c:identifier="gsk_blend_node_new">
<doc xml:space="preserve">Creates a #GskRenderNode that will use @blend_mode to blend the @top
node onto the @bottom node.</doc>
@@ -157,7 +156,6 @@ node onto the @bottom node.</doc>
</method>
</class>
<class name="BlurNode" c:symbol-prefix="blur_node" c:type="GskBlurNode" parent="RenderNode" glib:type-name="GskBlurNode" glib:get-type="gsk_blur_node_get_type" glib:fundamental="1">
<doc xml:space="preserve">A render node applying a blur effect to its single child.</doc>
<constructor name="new" c:identifier="gsk_blur_node_new">
<doc xml:space="preserve">Creates a render node that blurs the child.</doc>
@@ -206,7 +204,6 @@ node onto the @bottom node.</doc>
</method>
</class>
<class name="BorderNode" c:symbol-prefix="border_node" c:type="GskBorderNode" parent="RenderNode" glib:type-name="GskBorderNode" glib:get-type="gsk_border_node_get_type" glib:fundamental="1">
<doc xml:space="preserve">A render node for a border.</doc>
<constructor name="new" c:identifier="gsk_border_node_new">
<doc xml:space="preserve">Creates a #GskRenderNode that will stroke a border rectangle inside the
given @outline. The 4 sides of the border can have different widths and
@@ -237,7 +234,7 @@ colors.</doc>
</parameter>
</parameters>
</constructor>
<method name="get_colors" c:identifier="gsk_border_node_get_colors">
<method name="peek_colors" c:identifier="gsk_border_node_peek_colors">
<doc xml:space="preserve">Retrieves the colors of the border.</doc>
<return-value transfer-ownership="none">
@@ -252,7 +249,7 @@ colors.</doc>
</instance-parameter>
</parameters>
</method>
<method name="get_outline" c:identifier="gsk_border_node_get_outline">
<method name="peek_outline" c:identifier="gsk_border_node_peek_outline">
<doc xml:space="preserve">Retrieves the outline of the border.</doc>
<return-value transfer-ownership="none">
@@ -266,16 +263,13 @@ colors.</doc>
</instance-parameter>
</parameters>
</method>
<method name="get_widths" c:identifier="gsk_border_node_get_widths">
<method name="peek_widths" c:identifier="gsk_border_node_peek_widths">
<doc xml:space="preserve">Retrieves the stroke widths of the border.</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">an array of 4 floats
for the top, right, bottom and left stroke width of the border,
respectively</doc>
<array zero-terminated="0" c:type="const float*" fixed-size="4">
<type name="gfloat" c:type="float"/>
</array>
<doc xml:space="preserve">an array of 4 floats for the top,
right, bottom and left stroke width of the border</doc>
<type name="gfloat" c:type="const float*"/>
</return-value>
<parameters>
<instance-parameter name="node" transfer-ownership="none">
@@ -328,7 +322,6 @@ support.</doc>
</parameters>
</function-macro>
<class name="CairoNode" c:symbol-prefix="cairo_node" c:type="GskCairoNode" parent="RenderNode" glib:type-name="GskCairoNode" glib:get-type="gsk_cairo_node_get_type" glib:fundamental="1">
<doc xml:space="preserve">A render node for a Cairo surface.</doc>
<constructor name="new" c:identifier="gsk_cairo_node_new">
<doc xml:space="preserve">Creates a #GskRenderNode that will render a cairo surface
into the area given by @bounds. You can draw to the cairo
@@ -364,7 +357,7 @@ rendering to @renderer.</doc>
</instance-parameter>
</parameters>
</method>
<method name="get_surface" c:identifier="gsk_cairo_node_get_surface">
<method name="peek_surface" c:identifier="gsk_cairo_node_peek_surface">
<doc xml:space="preserve">Retrieves the Cairo surface used by the render node.</doc>
<return-value transfer-ownership="none">
@@ -401,7 +394,6 @@ avoided.</doc>
</record>
<class name="ClipNode" c:symbol-prefix="clip_node" c:type="GskClipNode" parent="RenderNode" glib:type-name="GskClipNode" glib:get-type="gsk_clip_node_get_type" glib:fundamental="1">
<doc xml:space="preserve">A render node applying a rectangular clip to its single child node.</doc>
<constructor name="new" c:identifier="gsk_clip_node_new">
<doc xml:space="preserve">Creates a #GskRenderNode that will clip the @child to the area
given by @clip.</doc>
@@ -435,7 +427,7 @@ given by @clip.</doc>
</instance-parameter>
</parameters>
</method>
<method name="get_clip" c:identifier="gsk_clip_node_get_clip">
<method name="peek_clip" c:identifier="gsk_clip_node_peek_clip">
<doc xml:space="preserve">Retrieves the clip rectangle for @node.</doc>
<return-value transfer-ownership="none">
@@ -451,7 +443,6 @@ given by @clip.</doc>
</method>
</class>
<class name="ColorMatrixNode" c:symbol-prefix="color_matrix_node" c:type="GskColorMatrixNode" parent="RenderNode" glib:type-name="GskColorMatrixNode" glib:get-type="gsk_color_matrix_node_get_type" glib:fundamental="1">
<doc xml:space="preserve">A render node controlling the color matrix of its single child node.</doc>
<constructor name="new" c:identifier="gsk_color_matrix_node_new">
<doc xml:space="preserve">Creates a #GskRenderNode that will drawn the @child with reduced
@color_matrix.
@@ -497,7 +488,7 @@ for every pixel.</doc>
</instance-parameter>
</parameters>
</method>
<method name="get_color_matrix" c:identifier="gsk_color_matrix_node_get_color_matrix">
<method name="peek_color_matrix" c:identifier="gsk_color_matrix_node_peek_color_matrix">
<doc xml:space="preserve">Retrieves the color matrix used by the @node.</doc>
<return-value transfer-ownership="none">
@@ -511,7 +502,7 @@ for every pixel.</doc>
</instance-parameter>
</parameters>
</method>
<method name="get_color_offset" c:identifier="gsk_color_matrix_node_get_color_offset">
<method name="peek_color_offset" c:identifier="gsk_color_matrix_node_peek_color_offset">
<doc xml:space="preserve">Retrieves the color offset used by the @node.</doc>
<return-value transfer-ownership="none">
@@ -527,7 +518,6 @@ for every pixel.</doc>
</method>
</class>
<class name="ColorNode" c:symbol-prefix="color_node" c:type="GskColorNode" parent="RenderNode" glib:type-name="GskColorNode" glib:get-type="gsk_color_node_get_type" glib:fundamental="1">
<doc xml:space="preserve">A render node for a solid color.</doc>
<constructor name="new" c:identifier="gsk_color_node_new">
<doc xml:space="preserve">Creates a #GskRenderNode that will render the color specified by @rgba into
the area given by @bounds.</doc>
@@ -547,7 +537,7 @@ the area given by @bounds.</doc>
</parameter>
</parameters>
</constructor>
<method name="get_color" c:identifier="gsk_color_node_get_color">
<method name="peek_color" c:identifier="gsk_color_node_peek_color">
<doc xml:space="preserve">Retrieves the color of the given @node.</doc>
<return-value transfer-ownership="none">
@@ -563,120 +553,15 @@ the area given by @bounds.</doc>
</method>
</class>
<record name="ColorStop" c:type="GskColorStop">
<doc xml:space="preserve">A color stop in a gradient node.</doc>
<field name="offset" writable="1">
<doc xml:space="preserve">the offset of the color stop</doc>
<type name="gfloat" c:type="float"/>
</field>
<field name="color" writable="1">
<doc xml:space="preserve">the color at the given offset</doc>
<type name="Gdk.RGBA" c:type="GdkRGBA"/>
</field>
</record>
<class name="ConicGradientNode" c:symbol-prefix="conic_gradient_node" c:type="GskConicGradientNode" parent="RenderNode" glib:type-name="GskConicGradientNode" glib:get-type="gsk_conic_gradient_node_get_type" glib:fundamental="1">
<doc xml:space="preserve">A render node for a conic gradient.</doc>
<constructor name="new" c:identifier="gsk_conic_gradient_node_new">
<doc xml:space="preserve">Creates a #GskRenderNode that draws a conic gradient. The conic gradient
starts around @center in the direction of @rotation. A rotation of 0 means
that the gradient points up. Color stops are then added clockwise.</doc>
<return-value transfer-ownership="full">
<doc xml:space="preserve">A new #GskRenderNode</doc>
<type name="ConicGradientNode" c:type="GskRenderNode*"/>
</return-value>
<parameters>
<parameter name="bounds" transfer-ownership="none">
<doc xml:space="preserve">the bounds of the node</doc>
<type name="Graphene.Rect" c:type="const graphene_rect_t*"/>
</parameter>
<parameter name="center" transfer-ownership="none">
<doc xml:space="preserve">the center of the gradient</doc>
<type name="Graphene.Point" c:type="const graphene_point_t*"/>
</parameter>
<parameter name="rotation" transfer-ownership="none">
<doc xml:space="preserve">the rotation of the gradient in degrees</doc>
<type name="gfloat" c:type="float"/>
</parameter>
<parameter name="color_stops" transfer-ownership="none">
<doc xml:space="preserve">a pointer to an array of #GskColorStop defining the gradient
The offsets of all color steps must be increasing. The first stop's offset must be &gt;= 0 and the last
stop's offset must be &lt;= 1.</doc>
<array length="4" zero-terminated="0" c:type="const GskColorStop*">
<type name="ColorStop" c:type="GskColorStop"/>
</array>
</parameter>
<parameter name="n_color_stops" transfer-ownership="none">
<doc xml:space="preserve">the number of elements in @color_stops</doc>
<type name="gsize" c:type="gsize"/>
</parameter>
</parameters>
</constructor>
<method name="get_center" c:identifier="gsk_conic_gradient_node_get_center">
<doc xml:space="preserve">Retrieves the center pointer for the gradient.</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">the center point for the gradient</doc>
<type name="Graphene.Point" c:type="const graphene_point_t*"/>
</return-value>
<parameters>
<instance-parameter name="node" transfer-ownership="none">
<doc xml:space="preserve">a #GskRenderNode for a conic gradient</doc>
<type name="ConicGradientNode" c:type="GskRenderNode*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_color_stops" c:identifier="gsk_conic_gradient_node_get_color_stops">
<doc xml:space="preserve">Retrieves the color stops in the gradient.</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">the color stops in the gradient</doc>
<array length="0" zero-terminated="0" c:type="const GskColorStop*">
<type name="ColorStop" c:type="GskColorStop"/>
</array>
</return-value>
<parameters>
<instance-parameter name="node" transfer-ownership="none">
<doc xml:space="preserve">a #GskRenderNode for a conic gradient</doc>
<type name="ConicGradientNode" c:type="GskRenderNode*"/>
</instance-parameter>
<parameter name="n_stops" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
<doc xml:space="preserve">the number of color stops in the returned array</doc>
<type name="gsize" c:type="gsize*"/>
</parameter>
</parameters>
</method>
<method name="get_n_color_stops" c:identifier="gsk_conic_gradient_node_get_n_color_stops">
<doc xml:space="preserve">Retrieves the number of color stops in the gradient.</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">the number of color stops</doc>
<type name="gsize" c:type="gsize"/>
</return-value>
<parameters>
<instance-parameter name="node" transfer-ownership="none">
<doc xml:space="preserve">a #GskRenderNode for a conic gradient</doc>
<type name="ConicGradientNode" c:type="GskRenderNode*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_rotation" c:identifier="gsk_conic_gradient_node_get_rotation">
<doc xml:space="preserve">Retrieves the rotation for the gradient in degrees.</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">the rotation for the gradient</doc>
<type name="gfloat" c:type="float"/>
</return-value>
<parameters>
<instance-parameter name="node" transfer-ownership="none">
<doc xml:space="preserve">a #GskRenderNode for a conic gradient</doc>
<type name="ConicGradientNode" c:type="GskRenderNode*"/>
</instance-parameter>
</parameters>
</method>
</class>
<class name="ContainerNode" c:symbol-prefix="container_node" c:type="GskContainerNode" parent="RenderNode" glib:type-name="GskContainerNode" glib:get-type="gsk_container_node_get_type" glib:fundamental="1">
<doc xml:space="preserve">A render node that can contain other render nodes.</doc>
<constructor name="new" c:identifier="gsk_container_node_new">
<doc xml:space="preserve">Creates a new #GskRenderNode instance for holding the given @children.
The new node will acquire a reference to each of the children.</doc>
@@ -747,7 +632,6 @@ The new node will acquire a reference to each of the children.</doc>
</member>
</enumeration>
<class name="CrossFadeNode" c:symbol-prefix="cross_fade_node" c:type="GskCrossFadeNode" parent="RenderNode" glib:type-name="GskCrossFadeNode" glib:get-type="gsk_cross_fade_node_get_type" glib:fundamental="1">
<doc xml:space="preserve">A render node cross fading between two child nodes.</doc>
<constructor name="new" c:identifier="gsk_cross_fade_node_new">
<doc xml:space="preserve">Creates a #GskRenderNode that will do a cross-fade between @start and @end.</doc>
@@ -815,8 +699,6 @@ The new node will acquire a reference to each of the children.</doc>
</method>
</class>
<class name="DebugNode" c:symbol-prefix="debug_node" c:type="GskDebugNode" parent="RenderNode" glib:type-name="GskDebugNode" glib:get-type="gsk_debug_node_get_type" glib:fundamental="1">
<doc xml:space="preserve">A render node that emits a debugging message when drawing its
child node.</doc>
<constructor name="new" c:identifier="gsk_debug_node_new">
<doc xml:space="preserve">Creates a #GskRenderNode that will add debug information about
the given @child.
@@ -883,7 +765,6 @@ used by GTK.</doc>
</record>
<class name="GLShader" c:symbol-prefix="gl_shader" c:type="GskGLShader" parent="GObject.Object" glib:type-name="GskGLShader" glib:get-type="gsk_gl_shader_get_type" glib:type-struct="GLShaderClass">
<doc xml:space="preserve">An object representing a GL shader program.</doc>
<constructor name="new_from_bytes" c:identifier="gsk_gl_shader_new_from_bytes">
<doc xml:space="preserve">Creates a #GskGLShader that will render pixels using the specified code.</doc>
@@ -1334,7 +1215,6 @@ will be %NULL.</doc>
</field>
</record>
<class name="GLShaderNode" c:symbol-prefix="gl_shader_node" c:type="GskGLShaderNode" parent="RenderNode" glib:type-name="GskGLShaderNode" glib:get-type="gsk_gl_shader_node_get_type" glib:fundamental="1">
<doc xml:space="preserve">A render node using a GL shader when drawing its children nodes.</doc>
<constructor name="new" c:identifier="gsk_gl_shader_node_new">
<doc xml:space="preserve">Creates a #GskRenderNode that will render the given @shader into the
area given by @bounds. The @args is a block of data to use for uniform
@@ -1724,7 +1604,6 @@ having to worry about others changing them.</doc>
</parameters>
</function-macro>
<class name="InsetShadowNode" c:symbol-prefix="inset_shadow_node" c:type="GskInsetShadowNode" parent="RenderNode" glib:type-name="GskInsetShadowNode" glib:get-type="gsk_inset_shadow_node_get_type" glib:fundamental="1">
<doc xml:space="preserve">A render node for an inset shadow.</doc>
<constructor name="new" c:identifier="gsk_inset_shadow_node_new">
<doc xml:space="preserve">Creates a #GskRenderNode that will render an inset shadow
into the box given by @outline.</doc>
@@ -1774,20 +1653,6 @@ into the box given by @outline.</doc>
</instance-parameter>
</parameters>
</method>
<method name="get_color" c:identifier="gsk_inset_shadow_node_get_color">
<doc xml:space="preserve">Retrieves the color of the inset shadow.</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">the color of the shadow</doc>
<type name="Gdk.RGBA" c:type="const GdkRGBA*"/>
</return-value>
<parameters>
<instance-parameter name="node" transfer-ownership="none">
<doc xml:space="preserve">a #GskRenderNode for an inset shadow</doc>
<type name="InsetShadowNode" c:type="GskRenderNode*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_dx" c:identifier="gsk_inset_shadow_node_get_dx">
<doc xml:space="preserve">Retrieves the horizontal offset of the inset shadow.</doc>
@@ -1816,20 +1681,6 @@ into the box given by @outline.</doc>
</instance-parameter>
</parameters>
</method>
<method name="get_outline" c:identifier="gsk_inset_shadow_node_get_outline">
<doc xml:space="preserve">Retrieves the outline rectangle of the inset shadow.</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">a rounded rectangle</doc>
<type name="RoundedRect" c:type="const GskRoundedRect*"/>
</return-value>
<parameters>
<instance-parameter name="node" transfer-ownership="none">
<doc xml:space="preserve">a #GskRenderNode for an inset shadow</doc>
<type name="InsetShadowNode" c:type="GskRenderNode*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_spread" c:identifier="gsk_inset_shadow_node_get_spread">
<doc xml:space="preserve">Retrieves how much the shadow spreads inwards.</doc>
@@ -1844,9 +1695,36 @@ into the box given by @outline.</doc>
</instance-parameter>
</parameters>
</method>
<method name="peek_color" c:identifier="gsk_inset_shadow_node_peek_color">
<doc xml:space="preserve">Retrieves the color of the inset shadow.</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">the color of the shadow</doc>
<type name="Gdk.RGBA" c:type="const GdkRGBA*"/>
</return-value>
<parameters>
<instance-parameter name="node" transfer-ownership="none">
<doc xml:space="preserve">a #GskRenderNode for an inset shadow</doc>
<type name="InsetShadowNode" c:type="GskRenderNode*"/>
</instance-parameter>
</parameters>
</method>
<method name="peek_outline" c:identifier="gsk_inset_shadow_node_peek_outline">
<doc xml:space="preserve">Retrieves the outline rectangle of the inset shadow.</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">a rounded rectangle</doc>
<type name="RoundedRect" c:type="const GskRoundedRect*"/>
</return-value>
<parameters>
<instance-parameter name="node" transfer-ownership="none">
<doc xml:space="preserve">a #GskRenderNode for an inset shadow</doc>
<type name="InsetShadowNode" c:type="GskRenderNode*"/>
</instance-parameter>
</parameters>
</method>
</class>
<class name="LinearGradientNode" c:symbol-prefix="linear_gradient_node" c:type="GskLinearGradientNode" parent="RenderNode" glib:type-name="GskLinearGradientNode" glib:get-type="gsk_linear_gradient_node_get_type" glib:fundamental="1">
<doc xml:space="preserve">A render node for a linear gradient.</doc>
<constructor name="new" c:identifier="gsk_linear_gradient_node_new">
<doc xml:space="preserve">Creates a #GskRenderNode that will create a linear gradient from the given
points and color stops, and render that into the area given by @bounds.</doc>
@@ -1882,7 +1760,21 @@ points and color stops, and render that into the area given by @bounds.</doc>
</parameter>
</parameters>
</constructor>
<method name="get_color_stops" c:identifier="gsk_linear_gradient_node_get_color_stops">
<method name="get_n_color_stops" c:identifier="gsk_linear_gradient_node_get_n_color_stops">
<doc xml:space="preserve">Retrieves the number of color stops in the gradient.</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">the number of color stops</doc>
<type name="gsize" c:type="gsize"/>
</return-value>
<parameters>
<instance-parameter name="node" transfer-ownership="none">
<doc xml:space="preserve">a #GskRenderNode for a linear gradient</doc>
<type name="LinearGradientNode" c:type="GskRenderNode*"/>
</instance-parameter>
</parameters>
</method>
<method name="peek_color_stops" c:identifier="gsk_linear_gradient_node_peek_color_stops">
<doc xml:space="preserve">Retrieves the color stops in the gradient.</doc>
<return-value transfer-ownership="none">
@@ -1902,7 +1794,7 @@ points and color stops, and render that into the area given by @bounds.</doc>
</parameter>
</parameters>
</method>
<method name="get_end" c:identifier="gsk_linear_gradient_node_get_end">
<method name="peek_end" c:identifier="gsk_linear_gradient_node_peek_end">
<doc xml:space="preserve">Retrieves the final point of the linear gradient.</doc>
<return-value transfer-ownership="none">
@@ -1916,21 +1808,7 @@ points and color stops, and render that into the area given by @bounds.</doc>
</instance-parameter>
</parameters>
</method>
<method name="get_n_color_stops" c:identifier="gsk_linear_gradient_node_get_n_color_stops">
<doc xml:space="preserve">Retrieves the number of color stops in the gradient.</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">the number of color stops</doc>
<type name="gsize" c:type="gsize"/>
</return-value>
<parameters>
<instance-parameter name="node" transfer-ownership="none">
<doc xml:space="preserve">a #GskRenderNode for a linear gradient</doc>
<type name="LinearGradientNode" c:type="GskRenderNode*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_start" c:identifier="gsk_linear_gradient_node_get_start">
<method name="peek_start" c:identifier="gsk_linear_gradient_node_peek_start">
<doc xml:space="preserve">Retrieves the initial point of the linear gradient.</doc>
<return-value transfer-ownership="none">
@@ -1946,7 +1824,6 @@ points and color stops, and render that into the area given by @bounds.</doc>
</method>
</class>
<class name="OpacityNode" c:symbol-prefix="opacity_node" c:type="GskOpacityNode" parent="RenderNode" glib:type-name="GskOpacityNode" glib:get-type="gsk_opacity_node_get_type" glib:fundamental="1">
<doc xml:space="preserve">A render node controlling the opacity of its single child node.</doc>
<constructor name="new" c:identifier="gsk_opacity_node_new">
<doc xml:space="preserve">Creates a #GskRenderNode that will drawn the @child with reduced
@opacity.</doc>
@@ -1996,7 +1873,6 @@ points and color stops, and render that into the area given by @bounds.</doc>
</method>
</class>
<class name="OutsetShadowNode" c:symbol-prefix="outset_shadow_node" c:type="GskOutsetShadowNode" parent="RenderNode" glib:type-name="GskOutsetShadowNode" glib:get-type="gsk_outset_shadow_node_get_type" glib:fundamental="1">
<doc xml:space="preserve">A render node for an outset shadow.</doc>
<constructor name="new" c:identifier="gsk_outset_shadow_node_new">
<doc xml:space="preserve">Creates a #GskRenderNode that will render an outset shadow
around the box given by @outline.</doc>
@@ -2046,20 +1922,6 @@ around the box given by @outline.</doc>
</instance-parameter>
</parameters>
</method>
<method name="get_color" c:identifier="gsk_outset_shadow_node_get_color">
<doc xml:space="preserve">Retrieves the color of the outset shadow.</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">a color</doc>
<type name="Gdk.RGBA" c:type="const GdkRGBA*"/>
</return-value>
<parameters>
<instance-parameter name="node" transfer-ownership="none">
<doc xml:space="preserve">a #GskRenderNode for an outset shadow</doc>
<type name="OutsetShadowNode" c:type="GskRenderNode*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_dx" c:identifier="gsk_outset_shadow_node_get_dx">
<doc xml:space="preserve">Retrieves the horizontal offset of the outset shadow.</doc>
@@ -2088,20 +1950,6 @@ around the box given by @outline.</doc>
</instance-parameter>
</parameters>
</method>
<method name="get_outline" c:identifier="gsk_outset_shadow_node_get_outline">
<doc xml:space="preserve">Retrieves the outline rectangle of the outset shadow.</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">a rounded rectangle</doc>
<type name="RoundedRect" c:type="const GskRoundedRect*"/>
</return-value>
<parameters>
<instance-parameter name="node" transfer-ownership="none">
<doc xml:space="preserve">a #GskRenderNode for an outset shadow</doc>
<type name="OutsetShadowNode" c:type="GskRenderNode*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_spread" c:identifier="gsk_outset_shadow_node_get_spread">
<doc xml:space="preserve">Retrieves how much the shadow spreads outwards.</doc>
@@ -2116,8 +1964,36 @@ around the box given by @outline.</doc>
</instance-parameter>
</parameters>
</method>
<method name="peek_color" c:identifier="gsk_outset_shadow_node_peek_color">
<doc xml:space="preserve">Retrieves the color of the outset shadow.</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">a color</doc>
<type name="Gdk.RGBA" c:type="const GdkRGBA*"/>
</return-value>
<parameters>
<instance-parameter name="node" transfer-ownership="none">
<doc xml:space="preserve">a #GskRenderNode for an outset shadow</doc>
<type name="OutsetShadowNode" c:type="GskRenderNode*"/>
</instance-parameter>
</parameters>
</method>
<method name="peek_outline" c:identifier="gsk_outset_shadow_node_peek_outline">
<doc xml:space="preserve">Retrieves the outline rectangle of the outset shadow.</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">a rounded rectangle</doc>
<type name="RoundedRect" c:type="const GskRoundedRect*"/>
</return-value>
<parameters>
<instance-parameter name="node" transfer-ownership="none">
<doc xml:space="preserve">a #GskRenderNode for an outset shadow</doc>
<type name="OutsetShadowNode" c:type="GskRenderNode*"/>
</instance-parameter>
</parameters>
</method>
</class>
<callback name="ParseErrorFunc" c:type="GskParseErrorFunc">
<callback name="ParseErrorFunc" c:type="GskParseErrorFunc" introspectable="0">
<doc xml:space="preserve">The type of callback that is called when a parse error occurs
during deserialization of node data.</doc>
@@ -2125,48 +2001,20 @@ during deserialization of node data.</doc>
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="start" transfer-ownership="none">
<doc xml:space="preserve">start of the error location</doc>
<type name="ParseLocation" c:type="const GskParseLocation*"/>
</parameter>
<parameter name="end" transfer-ownership="none">
<doc xml:space="preserve">end of the error location</doc>
<type name="ParseLocation" c:type="const GskParseLocation*"/>
<parameter name="section" transfer-ownership="none">
<doc xml:space="preserve">the #GtkCssSection where the error occurred</doc>
<type c:type="const GtkCssSection*"/>
</parameter>
<parameter name="error" transfer-ownership="none">
<doc xml:space="preserve">the error</doc>
<type name="GLib.Error" c:type="const GError*"/>
</parameter>
<parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1" closure="3">
<parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1" closure="2">
<doc xml:space="preserve">user data</doc>
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</callback>
<record name="ParseLocation" c:type="GskParseLocation">
<doc xml:space="preserve">A location in a parse buffer.</doc>
<field name="bytes" writable="1">
<doc xml:space="preserve">the offset of the location in the parse buffer, as bytes</doc>
<type name="gsize" c:type="gsize"/>
</field>
<field name="chars" writable="1">
<doc xml:space="preserve">the offset of the location in the parse buffer, as characters</doc>
<type name="gsize" c:type="gsize"/>
</field>
<field name="lines" writable="1">
<doc xml:space="preserve">the line of the location in the parse buffer</doc>
<type name="gsize" c:type="gsize"/>
</field>
<field name="line_bytes" writable="1">
<doc xml:space="preserve">the position in the line, as bytes</doc>
<type name="gsize" c:type="gsize"/>
</field>
<field name="line_chars" writable="1">
<doc xml:space="preserve">the position in the line, as characters</doc>
<type name="gsize" c:type="gsize"/>
</field>
</record>
<function-macro name="RENDERER" c:identifier="GSK_RENDERER" introspectable="0">
<parameters>
@@ -2194,7 +2042,6 @@ All corner sizes will be initialized to 0.</doc>
</parameters>
</function-macro>
<class name="RadialGradientNode" c:symbol-prefix="radial_gradient_node" c:type="GskRadialGradientNode" parent="RenderNode" glib:type-name="GskRadialGradientNode" glib:get-type="gsk_radial_gradient_node_get_type" glib:fundamental="1">
<doc xml:space="preserve">A render node for a radial gradient.</doc>
<constructor name="new" c:identifier="gsk_radial_gradient_node_new">
<doc xml:space="preserve">Creates a #GskRenderNode that draws a radial gradient. The radial gradient
starts around @center. The size of the gradient is dictated by @hradius
@@ -2243,40 +2090,6 @@ in horizontal orientation and by @vradius in vertial orientation.</doc>
</parameter>
</parameters>
</constructor>
<method name="get_center" c:identifier="gsk_radial_gradient_node_get_center">
<doc xml:space="preserve">Retrieves the center pointer for the gradient.</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">the center point for the gradient</doc>
<type name="Graphene.Point" c:type="const graphene_point_t*"/>
</return-value>
<parameters>
<instance-parameter name="node" transfer-ownership="none">
<doc xml:space="preserve">a #GskRenderNode for a radial gradient</doc>
<type name="RadialGradientNode" c:type="GskRenderNode*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_color_stops" c:identifier="gsk_radial_gradient_node_get_color_stops">
<doc xml:space="preserve">Retrieves the color stops in the gradient.</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">the color stops in the gradient</doc>
<array length="0" zero-terminated="0" c:type="const GskColorStop*">
<type name="ColorStop" c:type="GskColorStop"/>
</array>
</return-value>
<parameters>
<instance-parameter name="node" transfer-ownership="none">
<doc xml:space="preserve">a #GskRenderNode for a radial gradient</doc>
<type name="RadialGradientNode" c:type="GskRenderNode*"/>
</instance-parameter>
<parameter name="n_stops" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
<doc xml:space="preserve">the number of color stops in the returned array</doc>
<type name="gsize" c:type="gsize*"/>
</parameter>
</parameters>
</method>
<method name="get_end" c:identifier="gsk_radial_gradient_node_get_end">
<doc xml:space="preserve">Retrieves the end value for the gradient.</doc>
@@ -2347,10 +2160,44 @@ in horizontal orientation and by @vradius in vertial orientation.</doc>
</instance-parameter>
</parameters>
</method>
<method name="peek_center" c:identifier="gsk_radial_gradient_node_peek_center">
<doc xml:space="preserve">Retrieves the center pointer for the gradient.</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">the center point for the gradient</doc>
<type name="Graphene.Point" c:type="const graphene_point_t*"/>
</return-value>
<parameters>
<instance-parameter name="node" transfer-ownership="none">
<doc xml:space="preserve">a #GskRenderNode for a radial gradient</doc>
<type name="RadialGradientNode" c:type="GskRenderNode*"/>
</instance-parameter>
</parameters>
</method>
<method name="peek_color_stops" c:identifier="gsk_radial_gradient_node_peek_color_stops">
<doc xml:space="preserve">Retrieves the color stops in the gradient.</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">the color stops in the gradient</doc>
<array length="0" zero-terminated="0" c:type="const GskColorStop*">
<type name="ColorStop" c:type="GskColorStop"/>
</array>
</return-value>
<parameters>
<instance-parameter name="node" transfer-ownership="none">
<doc xml:space="preserve">a #GskRenderNode for a radial gradient</doc>
<type name="RadialGradientNode" c:type="GskRenderNode*"/>
</instance-parameter>
<parameter name="n_stops" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
<doc xml:space="preserve">the number of color stops in the returned array</doc>
<type name="gsize" c:type="gsize*"/>
</parameter>
</parameters>
</method>
</class>
<class name="RenderNode" c:symbol-prefix="render_node" c:type="GskRenderNode" abstract="1" glib:type-name="GskRenderNode" glib:get-type="gsk_render_node_get_type" glib:fundamental="1" glib:ref-func="gsk_render_node_ref" glib:unref-func="gsk_render_node_unref">
<doc xml:space="preserve">A node in the render tree.</doc>
<function name="deserialize" c:identifier="gsk_render_node_deserialize">
<function name="deserialize" c:identifier="gsk_render_node_deserialize" introspectable="0">
<doc xml:space="preserve">Loads data previously created via gsk_render_node_serialize(). For a
discussion of the supported format, see that function.</doc>
@@ -2532,64 +2379,59 @@ node to a file for later inspection.</doc>
<member name="repeating_radial_gradient_node" value="7" c:identifier="GSK_REPEATING_RADIAL_GRADIENT_NODE" glib:nick="repeating-radial-gradient-node">
<doc xml:space="preserve">A node drawing a repeating radial gradient</doc>
</member>
<member name="conic_gradient_node" value="8" c:identifier="GSK_CONIC_GRADIENT_NODE" glib:nick="conic-gradient-node">
<doc xml:space="preserve">A node drawing a conic gradient</doc>
</member>
<member name="border_node" value="9" c:identifier="GSK_BORDER_NODE" glib:nick="border-node">
<member name="border_node" value="8" c:identifier="GSK_BORDER_NODE" glib:nick="border-node">
<doc xml:space="preserve">A node stroking a border around an area</doc>
</member>
<member name="texture_node" value="10" c:identifier="GSK_TEXTURE_NODE" glib:nick="texture-node">
<member name="texture_node" value="9" c:identifier="GSK_TEXTURE_NODE" glib:nick="texture-node">
<doc xml:space="preserve">A node drawing a #GdkTexture</doc>
</member>
<member name="inset_shadow_node" value="11" c:identifier="GSK_INSET_SHADOW_NODE" glib:nick="inset-shadow-node">
<member name="inset_shadow_node" value="10" c:identifier="GSK_INSET_SHADOW_NODE" glib:nick="inset-shadow-node">
<doc xml:space="preserve">A node drawing an inset shadow</doc>
</member>
<member name="outset_shadow_node" value="12" c:identifier="GSK_OUTSET_SHADOW_NODE" glib:nick="outset-shadow-node">
<member name="outset_shadow_node" value="11" c:identifier="GSK_OUTSET_SHADOW_NODE" glib:nick="outset-shadow-node">
<doc xml:space="preserve">A node drawing an outset shadow</doc>
</member>
<member name="transform_node" value="13" c:identifier="GSK_TRANSFORM_NODE" glib:nick="transform-node">
<member name="transform_node" value="12" c:identifier="GSK_TRANSFORM_NODE" glib:nick="transform-node">
<doc xml:space="preserve">A node that renders its child after applying a matrix transform</doc>
</member>
<member name="opacity_node" value="14" c:identifier="GSK_OPACITY_NODE" glib:nick="opacity-node">
<member name="opacity_node" value="13" c:identifier="GSK_OPACITY_NODE" glib:nick="opacity-node">
<doc xml:space="preserve">A node that changes the opacity of its child</doc>
</member>
<member name="color_matrix_node" value="15" c:identifier="GSK_COLOR_MATRIX_NODE" glib:nick="color-matrix-node">
<member name="color_matrix_node" value="14" c:identifier="GSK_COLOR_MATRIX_NODE" glib:nick="color-matrix-node">
<doc xml:space="preserve">A node that applies a color matrix to every pixel</doc>
</member>
<member name="repeat_node" value="16" c:identifier="GSK_REPEAT_NODE" glib:nick="repeat-node">
<member name="repeat_node" value="15" c:identifier="GSK_REPEAT_NODE" glib:nick="repeat-node">
<doc xml:space="preserve">A node that repeats the child's contents</doc>
</member>
<member name="clip_node" value="17" c:identifier="GSK_CLIP_NODE" glib:nick="clip-node">
<member name="clip_node" value="16" c:identifier="GSK_CLIP_NODE" glib:nick="clip-node">
<doc xml:space="preserve">A node that clips its child to a rectangular area</doc>
</member>
<member name="rounded_clip_node" value="18" c:identifier="GSK_ROUNDED_CLIP_NODE" glib:nick="rounded-clip-node">
<member name="rounded_clip_node" value="17" c:identifier="GSK_ROUNDED_CLIP_NODE" glib:nick="rounded-clip-node">
<doc xml:space="preserve">A node that clips its child to a rounded rectangle</doc>
</member>
<member name="shadow_node" value="19" c:identifier="GSK_SHADOW_NODE" glib:nick="shadow-node">
<member name="shadow_node" value="18" c:identifier="GSK_SHADOW_NODE" glib:nick="shadow-node">
<doc xml:space="preserve">A node that draws a shadow below its child</doc>
</member>
<member name="blend_node" value="20" c:identifier="GSK_BLEND_NODE" glib:nick="blend-node">
<member name="blend_node" value="19" c:identifier="GSK_BLEND_NODE" glib:nick="blend-node">
<doc xml:space="preserve">A node that blends two children together</doc>
</member>
<member name="cross_fade_node" value="21" c:identifier="GSK_CROSS_FADE_NODE" glib:nick="cross-fade-node">
<member name="cross_fade_node" value="20" c:identifier="GSK_CROSS_FADE_NODE" glib:nick="cross-fade-node">
<doc xml:space="preserve">A node that cross-fades between two children</doc>
</member>
<member name="text_node" value="22" c:identifier="GSK_TEXT_NODE" glib:nick="text-node">
<member name="text_node" value="21" c:identifier="GSK_TEXT_NODE" glib:nick="text-node">
<doc xml:space="preserve">A node containing a glyph string</doc>
</member>
<member name="blur_node" value="23" c:identifier="GSK_BLUR_NODE" glib:nick="blur-node">
<member name="blur_node" value="22" c:identifier="GSK_BLUR_NODE" glib:nick="blur-node">
<doc xml:space="preserve">A node that applies a blur</doc>
</member>
<member name="debug_node" value="24" c:identifier="GSK_DEBUG_NODE" glib:nick="debug-node">
<member name="debug_node" value="23" c:identifier="GSK_DEBUG_NODE" glib:nick="debug-node">
<doc xml:space="preserve">Debug information that does not affect the rendering</doc>
</member>
<member name="gl_shader_node" value="25" c:identifier="GSK_GL_SHADER_NODE" glib:nick="gl-shader-node">
<member name="gl_shader_node" value="24" c:identifier="GSK_GL_SHADER_NODE" glib:nick="gl-shader-node">
<doc xml:space="preserve">A node that uses OpenGL fragment shaders to render</doc>
</member>
</enumeration>
<class name="Renderer" c:symbol-prefix="renderer" c:type="GskRenderer" parent="GObject.Object" abstract="1" glib:type-name="GskRenderer" glib:get-type="gsk_renderer_get_type" glib:type-struct="RendererClass">
<doc xml:space="preserve">Base type for the object managing the rendering pipeline
for a #GdkSurface.</doc>
<constructor name="new_for_surface" c:identifier="gsk_renderer_new_for_surface">
<doc xml:space="preserve">Creates an appropriate #GskRenderer instance for the given @surface.
@@ -2742,7 +2584,6 @@ transform node and pass that node instead.</doc>
</record>
<class name="RepeatNode" c:symbol-prefix="repeat_node" c:type="GskRepeatNode" parent="RenderNode" glib:type-name="GskRepeatNode" glib:get-type="gsk_repeat_node_get_type" glib:fundamental="1">
<doc xml:space="preserve">A render node repeating its single child node.</doc>
<constructor name="new" c:identifier="gsk_repeat_node_new">
<doc xml:space="preserve">Creates a #GskRenderNode that will repeat the drawing of @child across
the given @bounds.</doc>
@@ -2781,7 +2622,7 @@ the given @bounds.</doc>
</instance-parameter>
</parameters>
</method>
<method name="get_child_bounds" c:identifier="gsk_repeat_node_get_child_bounds">
<method name="peek_child_bounds" c:identifier="gsk_repeat_node_peek_child_bounds">
<doc xml:space="preserve">Retrieves the bounding rectangle of the child of @node.</doc>
<return-value transfer-ownership="none">
@@ -2797,7 +2638,6 @@ the given @bounds.</doc>
</method>
</class>
<class name="RepeatingLinearGradientNode" c:symbol-prefix="repeating_linear_gradient_node" c:type="GskRepeatingLinearGradientNode" parent="RenderNode" glib:type-name="GskRepeatingLinearGradientNode" glib:get-type="gsk_repeating_linear_gradient_node_get_type" glib:fundamental="1">
<doc xml:space="preserve">A render node for a repeating linear gradient.</doc>
<constructor name="new" c:identifier="gsk_repeating_linear_gradient_node_new">
<doc xml:space="preserve">Creates a #GskRenderNode that will create a repeating linear gradient
from the given points and color stops, and render that into the area
@@ -2836,7 +2676,6 @@ given by @bounds.</doc>
</constructor>
</class>
<class name="RepeatingRadialGradientNode" c:symbol-prefix="repeating_radial_gradient_node" c:type="GskRepeatingRadialGradientNode" parent="RenderNode" glib:type-name="GskRepeatingRadialGradientNode" glib:get-type="gsk_repeating_radial_gradient_node_get_type" glib:fundamental="1">
<doc xml:space="preserve">A render node for a repeating radial gradient.</doc>
<constructor name="new" c:identifier="gsk_repeating_radial_gradient_node_new">
<doc xml:space="preserve">Creates a #GskRenderNode that draws a repeating radial gradient. The radial gradient
starts around @center. The size of the gradient is dictated by @hradius
@@ -2887,7 +2726,6 @@ in horizontal orientation and by @vradius in vertial orientation.</doc>
</constructor>
</class>
<class name="RoundedClipNode" c:symbol-prefix="rounded_clip_node" c:type="GskRoundedClipNode" parent="RenderNode" glib:type-name="GskRoundedClipNode" glib:get-type="gsk_rounded_clip_node_get_type" glib:fundamental="1">
<doc xml:space="preserve">A render node applying a rounded rectangle clip to its single child.</doc>
<constructor name="new" c:identifier="gsk_rounded_clip_node_new">
<doc xml:space="preserve">Creates a #GskRenderNode that will clip the @child to the area
given by @clip.</doc>
@@ -2921,7 +2759,7 @@ given by @clip.</doc>
</instance-parameter>
</parameters>
</method>
<method name="get_clip" c:identifier="gsk_rounded_clip_node_get_clip">
<method name="peek_clip" c:identifier="gsk_rounded_clip_node_peek_clip">
<doc xml:space="preserve">Retrievs the rounded rectangle used to clip the contents of the @node.</doc>
<return-value transfer-ownership="none">
@@ -3230,42 +3068,28 @@ rendering pipeline.</doc>
</function>
</enumeration>
<record name="ShaderArgsBuilder" c:type="GskShaderArgsBuilder" glib:type-name="GskShaderArgsBuilder" glib:get-type="gsk_shader_args_builder_get_type" c:symbol-prefix="shader_args_builder">
<doc xml:space="preserve">An object to build the uniforms data for a #GskGLShader.</doc>
<constructor name="new" c:identifier="gsk_shader_args_builder_new">
<doc xml:space="preserve">Allocates a builder that can be used to construct a new uniform data
chunk.</doc>
<return-value transfer-ownership="full">
<doc xml:space="preserve">The newly allocated builder, free with
gsk_shader_args_builder_unref()</doc>
<type name="ShaderArgsBuilder" c:type="GskShaderArgsBuilder*"/>
</return-value>
<parameters>
<parameter name="shader" transfer-ownership="none">
<doc xml:space="preserve">a #GskGLShader</doc>
<type name="GLShader" c:type="GskGLShader*"/>
</parameter>
<parameter name="initial_values" transfer-ownership="none" nullable="1" allow-none="1">
<doc xml:space="preserve">optional #Bytes with initial values</doc>
<parameter name="initial_values" transfer-ownership="none">
<type name="GLib.Bytes" c:type="GBytes*"/>
</parameter>
</parameters>
</constructor>
<method name="free_to_args" c:identifier="gsk_shader_args_builder_free_to_args" introspectable="0">
<doc xml:space="preserve">Creates a new #GBytes args from the current state of the
given @builder, and frees the @builder instance. Any uniforms
of the shader that have not been explicitly set on the @builder
are zero-initialized.</doc>
<method name="free_to_args" c:identifier="gsk_shader_args_builder_free_to_args">
<return-value transfer-ownership="full">
<doc xml:space="preserve">the newly created #GBytes
with all the args added to @builder</doc>
<type name="GLib.Bytes" c:type="GBytes*"/>
</return-value>
<parameters>
<instance-parameter name="builder" transfer-ownership="none">
<doc xml:space="preserve">a #GskShaderArgsBuilder</doc>
<type name="ShaderArgsBuilder" c:type="GskShaderArgsBuilder*"/>
</instance-parameter>
</parameters>
@@ -3477,27 +3301,21 @@ If the resulting reference count is zero, frees the builder.</doc>
</method>
</record>
<record name="Shadow" c:type="GskShadow">
<doc xml:space="preserve">The shadow parameters in a shadow node.</doc>
<field name="color" writable="1">
<doc xml:space="preserve">the color of the shadow</doc>
<type name="Gdk.RGBA" c:type="GdkRGBA"/>
</field>
<field name="dx" writable="1">
<doc xml:space="preserve">the horizontal offset of the shadow</doc>
<type name="gfloat" c:type="float"/>
</field>
<field name="dy" writable="1">
<doc xml:space="preserve">the vertical offset of the shadow</doc>
<type name="gfloat" c:type="float"/>
</field>
<field name="radius" writable="1">
<doc xml:space="preserve">the radius of the shadow</doc>
<type name="gfloat" c:type="float"/>
</field>
</record>
<class name="ShadowNode" c:symbol-prefix="shadow_node" c:type="GskShadowNode" parent="RenderNode" glib:type-name="GskShadowNode" glib:get-type="gsk_shadow_node_get_type" glib:fundamental="1">
<doc xml:space="preserve">A render node drawing one or more shadows behind its single child node.</doc>
<constructor name="new" c:identifier="gsk_shadow_node_new">
<doc xml:space="preserve">Creates a #GskRenderNode that will draw a @child with the given
@shadows below it.</doc>
@@ -3551,7 +3369,7 @@ If the resulting reference count is zero, frees the builder.</doc>
</instance-parameter>
</parameters>
</method>
<method name="get_shadow" c:identifier="gsk_shadow_node_get_shadow">
<method name="peek_shadow" c:identifier="gsk_shadow_node_peek_shadow">
<doc xml:space="preserve">Retrieves the shadow data at the given index @i.</doc>
<return-value transfer-ownership="none">
@@ -3571,7 +3389,6 @@ If the resulting reference count is zero, frees the builder.</doc>
</method>
</class>
<class name="TextNode" c:symbol-prefix="text_node" c:type="GskTextNode" parent="RenderNode" glib:type-name="GskTextNode" glib:get-type="gsk_text_node_get_type" glib:fundamental="1">
<doc xml:space="preserve">A render node drawing a set of glyphs.</doc>
<constructor name="new" c:identifier="gsk_text_node_new">
<doc xml:space="preserve">Creates a render node that renders the given glyphs,
Note that @color may not be used if the font contains
@@ -3600,54 +3417,6 @@ color glyphs.</doc>
</parameter>
</parameters>
</constructor>
<method name="get_color" c:identifier="gsk_text_node_get_color">
<doc xml:space="preserve">Retrieves the color used by the text @node.</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">the text color</doc>
<type name="Gdk.RGBA" c:type="const GdkRGBA*"/>
</return-value>
<parameters>
<instance-parameter name="node" transfer-ownership="none">
<doc xml:space="preserve">a text #GskRenderNode</doc>
<type name="TextNode" c:type="GskRenderNode*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_font" c:identifier="gsk_text_node_get_font">
<doc xml:space="preserve">Returns the font used by the text @node.</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">the font</doc>
<type name="Pango.Font" c:type="PangoFont*"/>
</return-value>
<parameters>
<instance-parameter name="node" transfer-ownership="none">
<doc xml:space="preserve">The #GskRenderNode</doc>
<type name="TextNode" c:type="GskRenderNode*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_glyphs" c:identifier="gsk_text_node_get_glyphs">
<doc xml:space="preserve">Retrieves the glyph information in the @node.</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">the glyph information</doc>
<array length="0" zero-terminated="0" c:type="const PangoGlyphInfo*">
<type name="Pango.GlyphInfo" c:type="PangoGlyphInfo"/>
</array>
</return-value>
<parameters>
<instance-parameter name="node" transfer-ownership="none">
<doc xml:space="preserve">a text #GskRenderNode</doc>
<type name="TextNode" c:type="GskRenderNode*"/>
</instance-parameter>
<parameter name="n_glyphs" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
<doc xml:space="preserve">the number of glyphs returned</doc>
<type name="guint" c:type="guint*"/>
</parameter>
</parameters>
</method>
<method name="get_num_glyphs" c:identifier="gsk_text_node_get_num_glyphs">
<doc xml:space="preserve">Retrieves the number of glyphs in the text node.</doc>
@@ -3690,9 +3459,56 @@ color glyphs.</doc>
</instance-parameter>
</parameters>
</method>
<method name="peek_color" c:identifier="gsk_text_node_peek_color">
<doc xml:space="preserve">Retrieves the color used by the text @node.</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">the text color</doc>
<type name="Gdk.RGBA" c:type="const GdkRGBA*"/>
</return-value>
<parameters>
<instance-parameter name="node" transfer-ownership="none">
<doc xml:space="preserve">a text #GskRenderNode</doc>
<type name="TextNode" c:type="GskRenderNode*"/>
</instance-parameter>
</parameters>
</method>
<method name="peek_font" c:identifier="gsk_text_node_peek_font">
<doc xml:space="preserve">Returns the font used by the text @node.</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">the font</doc>
<type name="Pango.Font" c:type="PangoFont*"/>
</return-value>
<parameters>
<instance-parameter name="node" transfer-ownership="none">
<doc xml:space="preserve">The #GskRenderNode</doc>
<type name="TextNode" c:type="GskRenderNode*"/>
</instance-parameter>
</parameters>
</method>
<method name="peek_glyphs" c:identifier="gsk_text_node_peek_glyphs">
<doc xml:space="preserve">Retrieves the glyph information in the @node.</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">the glyph information</doc>
<array length="0" zero-terminated="0" c:type="const PangoGlyphInfo*">
<type name="Pango.GlyphInfo" c:type="PangoGlyphInfo"/>
</array>
</return-value>
<parameters>
<instance-parameter name="node" transfer-ownership="none">
<doc xml:space="preserve">a text #GskRenderNode</doc>
<type name="TextNode" c:type="GskRenderNode*"/>
</instance-parameter>
<parameter name="n_glyphs" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
<doc xml:space="preserve">the number of glyphs returned</doc>
<type name="guint" c:type="guint*"/>
</parameter>
</parameters>
</method>
</class>
<class name="TextureNode" c:symbol-prefix="texture_node" c:type="GskTextureNode" parent="RenderNode" glib:type-name="GskTextureNode" glib:get-type="gsk_texture_node_get_type" glib:fundamental="1">
<doc xml:space="preserve">A render node for a #GdkTexture.</doc>
<constructor name="new" c:identifier="gsk_texture_node_new">
<doc xml:space="preserve">Creates a #GskRenderNode that will render the given
@texture into the area given by @bounds.</doc>
@@ -4285,7 +4101,6 @@ multiplication `C = A * B`, `category(C) = MIN (category(A), category(B))`.</doc
</member>
</enumeration>
<class name="TransformNode" c:symbol-prefix="transform_node" c:type="GskTransformNode" parent="RenderNode" glib:type-name="GskTransformNode" glib:get-type="gsk_transform_node_get_type" glib:fundamental="1">
<doc xml:space="preserve">A render node applying a #GskTransform to its single child node.</doc>
<constructor name="new" c:identifier="gsk_transform_node_new">
<doc xml:space="preserve">Creates a #GskRenderNode that will transform the given @child
with the given @transform.</doc>

File diff suppressed because it is too large Load Diff

View File

@@ -1851,13 +1851,71 @@ source URI, line, column and backtrace, and formatted to be printed.</doc>
</parameter>
</parameters>
</function-macro>
<docsection name="JSCClass">
<doc xml:space="preserve">A JSSClass represents a custom JavaScript class registered by the user in a #JSCContext.
It allows to create new JavaScripts objects whose instances are created by the user using
this API.
It's possible to add constructors, properties and methods for a JSSClass by providing
#GCallback&lt;!-- --&gt;s to implement them.</doc>
</docsection>
<docsection name="JSCContext">
<doc xml:space="preserve">JSCContext represents a JavaScript execution context, where all operations
take place and where the values will be associated.
When a new context is created, a global object is allocated and the built-in JavaScript
objects (Object, Function, String, Array) are populated. You can execute JavaScript in
the context by using jsc_context_evaluate() or jsc_context_evaluate_with_source_uri().
It's also possible to register custom objects in the context with jsc_context_register_class().</doc>
</docsection>
<docsection name="JSCException">
<doc xml:space="preserve">JSCException represents a JavaScript exception.</doc>
</docsection>
<docsection name="JSCOptions">
<doc xml:space="preserve">JavaScript options allow changing the behavior of the JavaScript engine.
They affect the way the engine works, so the options must be set
at the very beginning of the program execution, before any other JavaScript
API call. Most of the options are only useful for testing and debugging.
Only a few of them are documented; you can use the undocumented options at
your own risk. (You can find the list of options in the WebKit source code).
The API allows to set and get any option using the types defined in #JSCOptionType.
You can also iterate all the available options using jsc_options_foreach() and
passing a #JSCOptionsFunc callback. If your application uses #GOptionContext to handle
command line arguments, you can easily integrate the JSCOptions by adding the
#GOptionGroup returned by jsc_options_get_option_group().</doc>
</docsection>
<docsection name="JSCValue">
<doc xml:space="preserve">JSCValue represents a reference to a value in a #JSCContext. The JSCValue
protects the referenced value from being garbage collected.</doc>
</docsection>
<docsection name="JSCVersion">
<doc xml:space="preserve">Provides convenience functions returning JavaScriptCore's major, minor and
micro versions of the JavaScriptCore library your code is running
against. This is not necessarily the same as the
#JSC_MAJOR_VERSION, #JSC_MINOR_VERSION or
#JSC_MICRO_VERSION, which represent the version of the JavaScriptCore
headers included when compiling the code.</doc>
</docsection>
<docsection name="JSCVirtualMachine">
<doc xml:space="preserve">JSCVirtualMachine represents a group of JSCContext&lt;!-- --&gt;s. It allows
concurrent JavaScript execution by creating a different instance of
JSCVirtualMachine in each thread.
To create a group of JSCContext&lt;!-- --&gt;s pass the same JSCVirtualMachine
instance to every JSCContext constructor.</doc>
</docsection>
<docsection name="JSCWeakValue">
<doc xml:space="preserve">JSCWeakValue represents a weak reference to a value in a #JSCContext. It can be used
to keep a reference to a JavaScript value without protecting it from being garbage
collected and without referencing the #JSCContext either.</doc>
</docsection>
<constant name="MAJOR_VERSION" value="2" c:type="JSC_MAJOR_VERSION">
<doc xml:space="preserve">Like jsc_get_major_version(), but from the headers used at
application compile time, rather than from the library linked
against at application run time.</doc>
<type name="gint" c:type="gint"/>
</constant>
<constant name="MICRO_VERSION" value="1" c:type="JSC_MICRO_VERSION">
<constant name="MICRO_VERSION" value="3" c:type="JSC_MICRO_VERSION">
<doc xml:space="preserve">Like jsc_get_micro_version(), but from the headers used at
application compile time, rather than from the library linked
against at application run time.</doc>

View File

@@ -2430,12 +2430,9 @@ engine. It contains the following fields:</doc>
</field>
</record>
<class name="EngineLang" c:symbol-prefix="engine_lang" c:type="PangoEngineLang" deprecated="1" deprecated-version="1.38" parent="Engine" abstract="1" glib:type-name="PangoEngineLang" glib:get-type="pango_engine_lang_get_type" glib:type-struct="EngineLangClass">
<doc xml:space="preserve">The #PangoEngineLang class is implemented by engines that
customize the rendering-system independent part of the
Pango pipeline for a particular script or language. For
instance, a custom #PangoEngineLang could be provided for
Thai to implement the dictionary-based word boundary
lookups needed for that language.</doc>
<doc xml:space="preserve">The &lt;firstterm&gt;language engines&lt;/firstterm&gt; are rendering-system independent
engines that determine line, word, and character breaks for character strings.
These engines are used in pango_break().</doc>
<virtual-method name="script_break">
@@ -2525,14 +2522,9 @@ languages for this range.</doc>
</field>
</record>
<class name="EngineShape" c:symbol-prefix="engine_shape" c:type="PangoEngineShape" deprecated="1" deprecated-version="1.38" parent="Engine" abstract="1" glib:type-name="PangoEngineShape" glib:get-type="pango_engine_shape_get_type" glib:type-struct="EngineShapeClass">
<doc xml:space="preserve">The #PangoEngineShape class is implemented by engines that
customize the rendering-system dependent part of the
Pango pipeline for a particular script or language.
A #PangoEngineShape implementation is then specific to both
a particular rendering system or group of rendering systems
and to a particular script. For instance, there is one
#PangoEngineShape implementation to handle shaping Arabic
for Fontconfig-based backends.</doc>
<doc xml:space="preserve">The &lt;firstterm&gt;shape engines&lt;/firstterm&gt; are rendering-system dependent
engines that convert character strings into glyph strings.
These engines are used in pango_shape().</doc>
<virtual-method name="covers">
@@ -12660,6 +12652,16 @@ will use the foreground color.</doc>
</parameter>
</parameters>
</function>
<docsection name="bidi">
<doc xml:space="preserve">Pango supports bidirectional text (like Arabic and Hebrew) automatically.
Some applications however, need some help to correctly handle bidirectional text.
The #PangoDirection type can be used with pango_context_set_base_dir() to
instruct Pango about direction of text, though in most cases Pango detects
that correctly and automatically. The rest of the facilities in this section
are used internally by Pango already, and are provided to help applications
that need more direct control over bidirectional setting of text.</doc>
</docsection>
<function name="bidi_type_for_unichar" c:identifier="pango_bidi_type_for_unichar" moved-to="BidiType.for_unichar" version="1.22">
<doc xml:space="preserve">Determines the normative bidirectional character type of a
character, as specified in the Unicode Character Database.
@@ -12714,6 +12716,18 @@ For most purposes you may want to use pango_get_log_attrs().</doc>
</parameter>
</parameters>
</function>
<docsection name="context">
<doc xml:space="preserve">The #PangoContext structure stores global information
influencing Pango's operation, such as the fontmap used
to look up fonts, and default values such as the default
language, default gravity, or default font.</doc>
</docsection>
<docsection name="coveragemaps">
<doc xml:space="preserve">It is often necessary in Pango to determine if a particular font can
represent a particular character, and also how well it can represent
that character. The #PangoCoverage is a data structure that is used
to represent that information.</doc>
</docsection>
<function name="default_break" c:identifier="pango_default_break">
<doc xml:space="preserve">This is the default break algorithm. It applies Unicode
rules without language-specific tailoring, therefore
@@ -12747,6 +12761,14 @@ See pango_tailor_break() for language-specific breaks.</doc>
</parameter>
</parameters>
</function>
<docsection name="engines">
<doc xml:space="preserve">Pango used to have a module architecture in which the language-specific
and render-system-specific components are provided by loadable
modules.
This is no longer the case, and all the APIs related
to modules and engines should not be used anymore.</doc>
</docsection>
<function name="extents_to_pixels" c:identifier="pango_extents_to_pixels" version="1.16">
<doc xml:space="preserve">Converts extents from Pango units to device units, dividing by the
%PANGO_SCALE factor and performing rounding.
@@ -12911,6 +12933,14 @@ A typical example:
</parameter>
</parameters>
</function>
<docsection name="fonts">
<doc xml:space="preserve">Pango supports a flexible architecture where a
particular rendering architecture can supply an
implementation of fonts. The #PangoFont structure
represents an abstract rendering-system-independent font.
Pango provides routines to list available fonts, and
to load a font matching a given description.</doc>
</docsection>
<function name="get_log_attrs" c:identifier="pango_get_log_attrs">
<doc xml:space="preserve">Computes a #PangoLogAttr for each character in @text. The @log_attrs
array must have one #PangoLogAttr for each position in @text; if
@@ -12977,6 +13007,12 @@ filled in, %FALSE otherwise</doc>
</parameter>
</parameters>
</function>
<docsection name="glyphs">
<doc xml:space="preserve">pango_shape() produces a string of glyphs which
can be measured or drawn to the screen. The following
structures are used to store information about
glyphs.</doc>
</docsection>
<function name="gravity_get_for_matrix" c:identifier="pango_gravity_get_for_matrix" moved-to="Gravity.get_for_matrix" version="1.16">
<doc xml:space="preserve">Finds the gravity that best matches the rotation component
in a #PangoMatrix.</doc>
@@ -13256,6 +13292,15 @@ See &lt;literal&gt;man setlocale&lt;/literal&gt; for more details.</doc>
<type name="Language" c:type="PangoLanguage*"/>
</return-value>
</function>
<docsection name="layout">
<doc xml:space="preserve">While complete access to the layout capabilities of Pango is provided
using the detailed interfaces for itemization and shaping, using
that functionality directly involves writing a fairly large amount
of code. The objects and functions in this section provide a
high-level driver for formatting entire paragraphs of text
at once. This includes paragraph-level functionality such as
line-breaking, justification, alignment and ellipsization.</doc>
</docsection>
<function name="log2vis_get_embedding_levels" c:identifier="pango_log2vis_get_embedding_levels" version="1.4">
<doc xml:space="preserve">This will return the bidirectional embedding levels of the input paragraph
as defined by the Unicode Bidirectional Algorithm available at:
@@ -13286,6 +13331,200 @@ characters in the text will determine the final resolved direction.</doc>
</parameter>
</parameters>
</function>
<docsection name="main">
<doc xml:space="preserve">The Pango rendering pipeline takes a string of
Unicode characters and converts it into glyphs.
The functions described in this section accomplish
various steps of this process.
![](pipeline.png)</doc>
</docsection>
<docsection name="markup">
<doc xml:space="preserve">Frequently, you want to display some text to the user with attributes
applied to part of the text (for example, you might want bold or
italicized words). With the base Pango interfaces, you could create a
#PangoAttrList and apply it to the text; the problem is that you'd
need to apply attributes to some numeric range of characters, for
example "characters 12-17." This is broken from an internationalization
standpoint; once the text is translated, the word you wanted to
italicize could be in a different position.
The solution is to include the text attributes in the string to be
translated. Pango provides this feature with a small markup language.
You can parse a marked-up string into the string text plus a
#PangoAttrList using either of pango_parse_markup() or
pango_markup_parser_new().
A simple example of a marked-up string might be:
|[
&lt;span foreground="blue" size="x-large"&gt;Blue text&lt;/span&gt; is &lt;i&gt;cool&lt;/i&gt;!
]|
Pango uses #GMarkup to parse this language, which means that XML
features such as numeric character entities such as `&amp;#169;` for
&#xA9; can be used too.
The root tag of a marked-up document is `&lt;markup&gt;`, but
pango_parse_markup() allows you to omit this tag, so you will most
likely never need to use it. The most general markup tag is `&lt;span&gt;`,
then there are some convenience tags.
## Span attributes
`&lt;span&gt;` has the following attributes:
* `font_desc`:
A font description string, such as "Sans Italic 12".
See pango_font_description_from_string() for a description of the
format of the string representation . Note that any other span
attributes will override this description. So if you have "Sans Italic"
and also a `style="normal"` attribute, you will get Sans normal,
not italic.
* `font_family`:
A font family name
* `font_size`, `size`:
Font size in 1024ths of a point, or one of the absolute
sizes `xx-small`, `x-small`, `small`, `medium`, `large`,
`x-large`, `xx-large`, or one of the relative sizes `smaller`
or `larger`. If you want to specify a absolute size, it's usually
easier to take advantage of the ability to specify a partial
font description using `font`; you can use `font='12.5'`
rather than `size='12800'`.
* `font_style`:
One of `normal`, `oblique`, `italic`
* `font_weight`:
One of `ultralight`, `light`, `normal`, `bold`,
`ultrabold`, `heavy`, or a numeric weight
* `font_variant`:
One of `normal` or `smallcaps`
* `font_stretch`, `stretch`:
One of `ultracondensed`, `extracondensed`, `condensed`,
`semicondensed`, `normal`, `semiexpanded`, `expanded`,
`extraexpanded`, `ultraexpanded`
* `font_features`:
A comma-separated list of OpenType font feature
settings, in the same syntax as accepted by CSS. E.g:
`font_features='dlig=1, -kern, afrc on'`
* `foreground`, `fgcolor`:
An RGB color specification such as `#00FF00` or a color
name such as `red`. Since 1.38, an RGBA color specification such
as `#00FF007F` will be interpreted as specifying both a foreground
color and foreground alpha.
* `background`, `bgcolor`:
An RGB color specification such as `#00FF00` or a color
name such as `red`.
Since 1.38, an RGBA color specification such as `#00FF007F` will
be interpreted as specifying both a background color and
background alpha.
* `alpha`, `fgalpha`:
An alpha value for the foreground color, either a plain
integer between 1 and 65536 or a percentage value like `50%`.
* `background_alpha`, `bgalpha`:
An alpha value for the background color, either a plain
integer between 1 and 65536 or a percentage value like `50%`.
* `underline`:
One of `none`, `single`, `double`, `low`, `error`,
`single-line`, `double-line` or `error-line`.
* `underline_color`:
The color of underlines; an RGB color
specification such as `#00FF00` or a color name such as `red`
* `overline`:
One of `none` or `single`
* `overline_color`:
The color of overlines; an RGB color
specification such as `#00FF00` or a color name such as `red`
* `rise`:
Vertical displacement, in Pango units. Can be negative for
subscript, positive for superscript.
* `strikethrough`
`true` or `false` whether to strike through the text
* `strikethrough_color`:
The color of strikethrough lines; an RGB
color specification such as `#00FF00` or a color name such as `red`
* `fallback`:
`true` or `false` whether to enable fallback. If
disabled, then characters will only be used from the closest
matching font on the system. No fallback will be done to other
fonts on the system that might contain the characters in the text.
Fallback is enabled by default. Most applications should not
disable fallback.
* `allow_breaks`:
`true` or `false` whether to allow line breaks or not. If
not allowed, the range will be kept in a single run as far
as possible. Breaks are allowed by default.
* `insert_hyphens`:`
`true` or `false` whether to insert hyphens when breaking
lines in the middle of a word. Hyphens are inserted by default.
* `show`:
A value determining how invisible characters are treated.
Possible values are `spaces`, `line-breaks`, `ignorables`
or combinations, such as `spaces|line-breaks`.
* `lang`:
A language code, indicating the text language
* `letter_spacing`:
Inter-letter spacing in 1024ths of a point.
* `gravity`:
One of `south`, `east`, `north`, `west`, `auto`.
* `gravity_hint`:
One of `natural`, `strong`, `line`.
## Convenience tags
The following convenience tags are provided:
* `&lt;b&gt;`:
Bold
* `&lt;big&gt;`:
Makes font relatively larger, equivalent to `&lt;span size="larger"&gt;`
* `&lt;i&gt;`:
Italic
* `&lt;s&gt;`:
Strikethrough
* `&lt;sub&gt;`:
Subscript
* `&lt;sup&gt;`:
Superscript
* `&lt;small&gt;`:
Makes font relatively smaller, equivalent to `&lt;span size="smaller"&gt;`
* `&lt;tt&gt;`:
Monospace
* `&lt;u&gt;`:
Underline</doc>
</docsection>
<function name="markup_parser_finish" c:identifier="pango_markup_parser_finish" version="1.31.0" throws="1">
<doc xml:space="preserve">After feeding a pango markup parser some data with g_markup_parse_context_parse(),
use this function to get the list of pango attributes and text out of the
@@ -13362,6 +13601,19 @@ destroyed with g_markup_parse_context_free().</doc>
</parameter>
</parameters>
</function>
<docsection name="modules">
<doc xml:space="preserve">Functions and macros in this section were used to support
loading dynamic modules that add engines to Pango at run time.
That is no longer the case, and these APIs should not be
used anymore.</doc>
</docsection>
<docsection name="pangoversion">
<doc xml:space="preserve">The capital-letter macros defined here can be used to check the version of Pango
at compile-time, and to &lt;firstterm&gt;encode&lt;/firstterm&gt; Pango versions into integers.
The functions can be used to check the version of the linked Pango library at run-time.</doc>
</docsection>
<function name="parse_enum" c:identifier="pango_parse_enum" version="1.16" deprecated="1" deprecated-version="1.38">
<doc xml:space="preserve">Parses an enum type and stores the result in @value.
@@ -13753,6 +14005,11 @@ of the script, or %NULL if no such language exists.</doc>
</parameter>
</parameters>
</function>
<docsection name="scripts">
<doc xml:space="preserve">The functions in this section are used to identify the writing
system, or &lt;firstterm&gt;script&lt;/firstterm&gt; of individual characters
and of ranges within a larger text string.</doc>
</docsection>
<function name="shape" c:identifier="pango_shape">
<doc xml:space="preserve">Given a segment of text and the corresponding
#PangoAnalysis structure returned from pango_itemize(),
@@ -13906,6 +14163,10 @@ strings to be freed with g_strfreev()</doc>
</parameter>
</parameters>
</function>
<docsection name="tabstops">
<doc xml:space="preserve">Functions in this section are used to deal with #PangoTabArray objects
that can be used to set tab stop positions in a #PangoLayout.</doc>
</docsection>
<function name="tailor_break" c:identifier="pango_tailor_break" version="1.44">
<doc xml:space="preserve">Apply language-specific tailoring to the breaks in
@log_attrs, which are assumed to have been produced
@@ -13948,6 +14209,13 @@ from @analysis that are relevant to line breaking.</doc>
</parameter>
</parameters>
</function>
<docsection name="textattributes">
<doc xml:space="preserve">Attributed text is used in a number of places in Pango. It
is used as the input to the itemization process and also when
creating a #PangoLayout. The data types and functions in
this section are used to represent and manipulate sets
of attributes applied to a portion of text.</doc>
</docsection>
<function name="trim_string" c:identifier="pango_trim_string" deprecated="1" deprecated-version="1.38">
<doc xml:space="preserve">Trims leading and trailing whitespace from a string.</doc>
@@ -14013,6 +14281,10 @@ it by %PANGO_SCALE.</doc>
</parameter>
</parameters>
</function>
<docsection name="utils">
<doc xml:space="preserve">The functions and utilities in this section are mostly used from Pango
backends and modules, but may be useful for other purposes too.</doc>
</docsection>
<function name="version" c:identifier="pango_version" version="1.16">
<doc xml:space="preserve">This is similar to the macro %PANGO_VERSION except that
it returns the encoded version of Pango available at run-time,
@@ -14079,5 +14351,50 @@ the version available at compile-time.</doc>
<type name="utf8" c:type="const char*"/>
</return-value>
</function>
<docsection name="vertical">
<doc xml:space="preserve">Since 1.16, Pango is able to correctly lay vertical text out. In fact, it can
set layouts of mixed vertical and non-vertical text. This section describes
the types used for setting vertical text parameters.
The way this is implemented is through the concept of
&lt;firstterm&gt;gravity&lt;/firstterm&gt;. Gravity of normal Latin text is south. A
gravity value of east means that glyphs will be rotated ninety degrees
counterclockwise. So, to render vertical text one needs to set the gravity
and rotate the layout using the matrix machinery already in place. This has
the huge advantage that most algorithms working on a #PangoLayout do not need
any change as the assumption that lines run in the X direction and stack in
the Y direction holds even for vertical text layouts.
Applications should only need to set base gravity on #PangoContext in use, and
let Pango decide the gravity assigned to each run of text. This automatically
handles text with mixed scripts. A very common use is to set the context base
gravity to auto using pango_context_set_base_gravity()
and rotate the layout normally. Pango will make sure that
Asian languages take the right form, while other scripts are rotated normally.
The correct way to set gravity on a layout is to set it on the context
associated with it using pango_context_set_base_gravity(). The context
of a layout can be accessed using pango_layout_get_context(). The currently
set base gravity of the context can be accessed using
pango_context_get_base_gravity() and the &lt;firstterm&gt;resolved&lt;/firstterm&gt;
gravity of it using pango_context_get_gravity(). The resolved gravity is
the same as the base gravity for the most part, except that if the base
gravity is set to %PANGO_GRAVITY_AUTO, the resolved gravity will depend
on the current matrix set on context, and is derived using
pango_gravity_get_for_matrix().
The next thing an application may want to set on the context is the
&lt;firstterm&gt;gravity hint&lt;/firstterm&gt;. A #PangoGravityHint instructs how
different scripts should react to the set base gravity.
Font descriptions have a gravity property too, that can be set using
pango_font_description_set_gravity() and accessed using
pango_font_description_get_gravity(). However, those are rarely useful
from application code and are mainly used by #PangoLayout internally.
Last but not least, one can create #PangoAttribute&lt;!----&gt;s for gravity
and gravity hint using pango_attr_gravity_new() and
pango_attr_gravity_hint_new().</doc>
</docsection>
</namespace>
</repository>

View File

@@ -173,8 +173,8 @@ is unreffed and the new font map referenced.
Note that since Pango 1.32.6, the default fontmap is per-thread.
This function only changes the default fontmap for
the current thread. Default fontmaps of exisiting threads
are not changed. Default fontmaps of any new threads will
the current thread. Default fontmaps of existing threads
are not changed. Default fontmaps of any new threads will
still be created using pango_cairo_font_map_new().
A value of %NULL for @fontmap will cause the current default
@@ -598,6 +598,135 @@ will be at the current point of the cairo context.</doc>
</parameter>
</parameters>
</function>
<docsection name="pangocairo">
<doc xml:space="preserve">The &lt;ulink url="http://cairographics.org"&gt;Cairo library&lt;/ulink&gt; is a
vector graphics library with a powerful rendering model. It has such
features as anti-aliased primitives, alpha-compositing, and
gradients. Multiple backends for Cairo are available, to allow
rendering to images, to PDF files, and to the screen on X and on other
windowing systems. The functions in this section allow using Pango
to render to Cairo surfaces.
Using Pango with Cairo is straightforward. A #PangoContext created
with pango_cairo_font_map_create_context() can be used on any
Cairo context (cairo_t), but needs to be updated to match the
current transformation matrix and target surface of the Cairo context
using pango_cairo_update_context(). The convenience functions
pango_cairo_create_layout() and pango_cairo_update_layout() handle
the common case where the program doesn't need to manipulate the
properties of the #PangoContext.
When you get the metrics of a layout or of a piece of a layout using
functions such as pango_layout_get_extents(), the reported metrics
are in user-space coordinates. If a piece of text is 10 units long,
and you call cairo_scale (cr, 2.0), it still is more-or-less 10
units long. However, the results will be affected by hinting
(that is, the process of adjusting the text to look good on the
pixel grid), so you shouldn't assume they are completely independent
of the current transformation matrix. Note that the basic metrics
functions in Pango report results in integer Pango units. To get
to the floating point units used in Cairo divide by %PANGO_SCALE.
## Using Pango with Cairo ## {#rotated-example}
|[&lt;!-- language="C" --&gt;
#include &lt;math.h&gt;
#include &lt;pango/pangocairo.h&gt;
static void
draw_text (cairo_t *cr)
{
#define RADIUS 150
#define N_WORDS 10
#define FONT "Sans Bold 27"
PangoLayout *layout;
PangoFontDescription *desc;
int i;
/&amp;ast; Center coordinates on the middle of the region we are drawing
&amp;ast;/
cairo_translate (cr, RADIUS, RADIUS);
/&amp;ast; Create a PangoLayout, set the font and text &amp;ast;/
layout = pango_cairo_create_layout (cr);
pango_layout_set_text (layout, "Text", -1);
desc = pango_font_description_from_string (FONT);
pango_layout_set_font_description (layout, desc);
pango_font_description_free (desc);
/&amp;ast; Draw the layout N_WORDS times in a circle &amp;ast;/
for (i = 0; i &amp;lt; N_WORDS; i++)
{
int width, height;
double angle = (360. * i) / N_WORDS;
double red;
cairo_save (cr);
/&amp;ast; Gradient from red at angle == 60 to blue at angle == 240 &amp;ast;/
red = (1 + cos ((angle - 60) * G_PI / 180.)) / 2;
cairo_set_source_rgb (cr, red, 0, 1.0 - red);
cairo_rotate (cr, angle * G_PI / 180.);
/&amp;ast; Inform Pango to re-layout the text with the new transformation &amp;ast;/
pango_cairo_update_layout (cr, layout);
pango_layout_get_size (layout, &amp;amp;width, &amp;amp;height);
cairo_move_to (cr, - ((double)width / PANGO_SCALE) / 2, - RADIUS);
pango_cairo_show_layout (cr, layout);
cairo_restore (cr);
}
/&amp;ast; free the layout object &amp;ast;/
g_object_unref (layout);
}
int main (int argc, char **argv)
{
cairo_t *cr;
char *filename;
cairo_status_t status;
cairo_surface_t *surface;
if (argc != 2)
{
g_printerr ("Usage: cairosimple OUTPUT_FILENAME\n");
return 1;
}
filename = argv[1];
surface = cairo_image_surface_create (CAIRO_FORMAT_ARGB32,
2 * RADIUS, 2 * RADIUS);
cr = cairo_create (surface);
cairo_set_source_rgb (cr, 1.0, 1.0, 1.0);
cairo_paint (cr);
draw_text (cr);
cairo_destroy (cr);
status = cairo_surface_write_to_png (surface, filename);
cairo_surface_destroy (surface);
if (status != CAIRO_STATUS_SUCCESS)
{
g_printerr ("Could not save png to '%s'\n", filename);
return 1;
}
return 0;
}
]|
Once you build and run the example code above, you should see the
following result:
![Output of rotated-example](rotated-text.png)</doc>
</docsection>
<function name="show_error_underline" c:identifier="pango_cairo_show_error_underline" version="1.14">
<doc xml:space="preserve">Draw a squiggly line in the specified cairo context that approximately
covers the given rectangle in the style of an underline used to indicate a

View File

@@ -214,6 +214,10 @@ the given combination of glyphs.</doc>
</parameter>
</parameters>
</function>
<docsection name="freetypefonts">
<doc xml:space="preserve">The macros and functions in this section are used to access fonts and render
text to bitmaps using the FreeType 2 library.</doc>
</docsection>
<function name="get_context" c:identifier="pango_ft2_get_context" introspectable="0" deprecated="1" deprecated-version="1.22">
<doc xml:space="preserve">Retrieves a #PangoContext for the default PangoFT2 fontmap
(see pango_ft2_font_map_for_display()) and sets the resolution
@@ -254,6 +258,13 @@ use PANGO_GET_UNKNOWN_GLYPH() instead.</doc>
</parameter>
</parameters>
</function>
<docsection name="pangorenderer">
<doc xml:space="preserve">#PangoRenderer is a base class that contains the necessary logic for
rendering a #PangoLayout or #PangoLayoutLine. By subclassing
#PangoRenderer and overriding operations such as @draw_glyphs and
@draw_rectangle, renderers for particular font backends and
destinations can be created.</doc>
</docsection>
<function name="render" c:identifier="pango_ft2_render">
<doc xml:space="preserve">Renders a #PangoGlyphString onto a FreeType2 bitmap.</doc>

View File

@@ -30,15 +30,8 @@ and/or use gtk-doc annotations. -->
</parameters>
</function-macro>
<class name="Decoder" c:symbol-prefix="decoder" c:type="PangoFcDecoder" version="1.6" parent="GObject.Object" abstract="1" glib:type-name="PangoFcDecoder" glib:get-type="pango_fc_decoder_get_type" glib:type-struct="DecoderClass">
<doc xml:space="preserve">#PangoFcDecoder is a virtual base class that implementations will
inherit from. It's the interface that is used to define a custom
encoding for a font. These objects are created in your code from a
function callback that was originally registered with
pango_fc_font_map_add_decoder_find_func(). Pango requires
information about the supported charset for a font as well as the
individual character to glyph conversions. Pango gets that
information via the #get_charset and #get_glyph callbacks into your
object implementation.</doc>
<doc xml:space="preserve">PangoFcDecoder represents a decoder that an application provides
for handling a font that is encoded in a custom way.</doc>
<virtual-method name="get_charset" invoker="get_charset" version="1.6">
<doc xml:space="preserve">Generates an #FcCharSet of supported characters for the fcfont
@@ -280,12 +273,14 @@ list of OpenType axis setting of the form AXIS=VALUE.</doc>
<type name="utf8" c:type="gchar*"/>
</constant>
<class name="Font" c:symbol-prefix="font" c:type="PangoFcFont" parent="Pango.Font" abstract="1" glib:type-name="PangoFcFont" glib:get-type="pango_fc_font_get_type" glib:type-struct="FontClass">
<doc xml:space="preserve">#PangoFcFont is a base class for font implementations
using the Fontconfig and FreeType libraries and is used in
conjunction with #PangoFcFontMap. When deriving from this
class, you need to implement all of its virtual functions
other than shutdown() along with the get_glyph_extents()
virtual function from #PangoFont.</doc>
<doc xml:space="preserve">#PangoFcFont is a base class for font implementation using the
Fontconfig and FreeType libraries. It is used in the
&lt;link linkend="pango-Xft-Fonts-and-Rendering"&gt;Xft&lt;/link&gt; and
&lt;link linkend="pango-FreeType-Fonts-and-Rendering"&gt;FreeType&lt;/link&gt;
backends shipped with Pango, but can also be used when creating
new backends. Any backend deriving from this base class will
take advantage of the wide range of shapers implemented using
FreeType that come with Pango.</doc>
<function name="description_from_pattern" c:identifier="pango_fc_font_description_from_pattern" version="1.4">
<doc xml:space="preserve">Creates a #PangoFontDescription that matches the specified
@@ -464,6 +459,14 @@ pango_fc_font_lock_face().</doc>
</record>
<class name="FontMap" c:symbol-prefix="font_map" c:type="PangoFcFontMap" parent="Pango.FontMap" abstract="1" glib:type-name="PangoFcFontMap" glib:get-type="pango_fc_font_map_get_type" glib:type-struct="FontMapClass">
<doc xml:space="preserve">PangoFcFontMap is a base class for font map implementations using the
Fontconfig and FreeType libraries. It is used in the
&lt;link linkend="pango-Xft-Fonts-and-Rendering"&gt;Xft&lt;/link&gt; and
&lt;link linkend="pango-FreeType-Fonts-and-Rendering"&gt;FreeType&lt;/link&gt;
backends shipped with Pango, but can also be used when creating
new backends. Any backend deriving from this base class will
take advantage of the wide range of shapers implemented using
FreeType that come with Pango.</doc>
<method name="add_decoder_find_func" c:identifier="pango_fc_font_map_add_decoder_find_func" version="1.6" introspectable="0">
<doc xml:space="preserve">This function saves a callback method in the #PangoFcFontMap that

View File

@@ -953,6 +953,13 @@ identify the various OpenType tables in the
<doc xml:space="preserve">The GPOS table.</doc>
</member>
</enumeration>
<docsection name="opentype">
<doc xml:space="preserve">Functions and macros in this section are used to implement
the OpenType Layout features and algorithms.
They have been superseded by the harfbuzz library, and should
not be used anymore.</doc>
</docsection>
<function name="tag_from_language" c:identifier="pango_ot_tag_from_language" version="1.18">
<doc xml:space="preserve">Finds the OpenType language-system tag best describing @language.</doc>

View File

@@ -696,5 +696,31 @@ results for the same input pattern, you must call this function.</doc>
</parameter>
</parameters>
</function>
<docsection name="xftfonts">
<doc xml:space="preserve">The Xft library is a library for displaying fonts on the X window
system; internally it uses the fontconfig library to locate font
files, and the FreeType library to load and render fonts. The
Xft backend is the recommended Pango font backend for screen
display with X. (The &lt;link linkend="pango-Cairo-Rendering"&gt;Cairo back end&lt;/link&gt; is another possibility.)
Using the Xft backend is generally straightforward;
pango_xft_get_context() creates a context for a specified display
and screen. You can then create a #PangoLayout with that context
and render it with pango_xft_render_layout(). At a more advanced
level, the low-level fontconfig options used for rendering fonts
can be affected using pango_xft_set_default_substitute(), and
pango_xft_substitute_changed().
A range of functions for drawing pieces of a layout, such as
individual layout lines and glyphs strings are provided. You can also
directly create a #PangoXftRenderer. Finally, in some advanced cases, it
is useful to derive from #PangoXftRenderer. Deriving from
#PangoXftRenderer is useful for two reasons. One reason is be to
support custom attributes by overriding #PangoRendererClass virtual
functions like 'prepare_run' or 'draw_shape'. The reason is to
customize exactly how the final bits are drawn to the destination by
overriding the #PangoXftRendererClass virtual functions
'composite_glyphs' and 'composite_trapezoids'.</doc>
</docsection>
</namespace>
</repository>

View File

@@ -6814,7 +6814,7 @@ against at application run time.</doc>
<type name="gint" c:type="gint"/>
</constant>
<constant name="MICRO_VERSION" value="1" c:type="WEBKIT_MICRO_VERSION">
<constant name="MICRO_VERSION" value="3" c:type="WEBKIT_MICRO_VERSION">
<doc xml:space="preserve">Like webkit_get_micro_version(), but from the headers used at
application compile time, rather than from the library linked
against at application run time.</doc>
@@ -15610,6 +15610,607 @@ signal and simply return %TRUE</doc>
<record name="WebInspectorPrivate" c:type="WebKitWebInspectorPrivate" disguised="1">
</record>
<docsection name="WebKitAuthenticationRequest">
<doc xml:space="preserve">Whenever a client attempts to load a page protected by HTTP
authentication, credentials will need to be provided to authorize access.
To allow the client to decide how it wishes to handle authentication,
WebKit will fire a #WebKitWebView::authenticate signal with a
WebKitAuthenticationRequest object to provide client side
authentication support. Credentials are exposed through the
#WebKitCredential object.
In case the client application does not wish
to handle this signal WebKit will provide a default handler. To handle
authentication asynchronously, simply increase the reference count of the
WebKitAuthenticationRequest object.</doc>
</docsection>
<docsection name="WebKitAutomationSession">
<doc xml:space="preserve">WebKitAutomationSession represents an automation session of a WebKitWebContext.
When a new session is requested, a WebKitAutomationSession is created and the signal
WebKitWebContext::automation-started is emitted with the WebKitAutomationSession as
argument. Then, the automation client can request the session to create a new
#WebKitWebView to interact with it. When this happens the signal #WebKitAutomationSession::create-web-view
is emitted.</doc>
</docsection>
<docsection name="WebKitBackForwardList">
<doc xml:space="preserve">WebKitBackForwardList maintains a list of visited pages used to
navigate to recent pages. Items are inserted in the list in the
order they are visited.
WebKitBackForwardList also maintains the notion of the current item
(which is always at index 0), the preceding item (which is at index -1),
and the following item (which is at index 1).
Methods webkit_web_view_go_back() and webkit_web_view_go_forward() move
the current item backward or forward by one. Method
webkit_web_view_go_to_back_forward_list_item() sets the current item to the
specified item. All other methods returning #WebKitBackForwardListItem&lt;!-- --&gt;s
do not change the value of the current item, they just return the requested
item or items.</doc>
</docsection>
<docsection name="WebKitBackForwardListItem">
<doc xml:space="preserve">A history item is part of the #WebKitBackForwardList and consists
out of a title and a URI.</doc>
</docsection>
<docsection name="WebKitColorChooserRequest">
<doc xml:space="preserve">Whenever the user interacts with an &amp;lt;input type='color' /&amp;gt;
HTML element, WebKit will need to show a dialog to choose a color. For that
to happen in a general way, instead of just opening a #GtkColorChooser
(which might be not desirable in some cases, which could prefer to use their
own color chooser dialog), WebKit will fire the
#WebKitWebView::run-color-chooser signal with a #WebKitColorChooserRequest
object, which will allow the client application to specify the color to be
selected, to inspect the details of the request (e.g. to get initial color)
and to cancel the request, in case nothing was selected.
In case the client application does not wish to handle this signal,
WebKit will provide a default handler which will asynchronously run
a regular #GtkColorChooserDialog for the user to interact with.</doc>
</docsection>
<docsection name="WebKitContextMenu">
<doc xml:space="preserve">#WebKitContextMenu represents a context menu containing
#WebKitContextMenuItem&lt;!-- --&gt;s in a #WebKitWebView.
When a #WebKitWebView is about to display the context menu, it
emits the #WebKitWebView::context-menu signal, which has the
#WebKitContextMenu as an argument. You can modify it, adding new
submenus that you can create with webkit_context_menu_new(), adding
new #WebKitContextMenuItem&lt;!-- --&gt;s with
webkit_context_menu_prepend(), webkit_context_menu_append() or
webkit_context_menu_insert(), maybe after having removed the
existing ones with webkit_context_menu_remove_all().</doc>
</docsection>
<docsection name="WebKitContextMenuItem">
<doc xml:space="preserve">The #WebKitContextMenu is composed of #WebKitContextMenuItem&lt;!--
--&gt;s. These items can be created from a #GtkAction, from a
#WebKitContextMenuAction or from a #WebKitContextMenuAction and a
label. These #WebKitContextMenuAction&lt;!-- --&gt;s denote stock actions
for the items. You can also create separators and submenus.</doc>
</docsection>
<docsection name="WebKitCookieManager">
<doc xml:space="preserve">The WebKitCookieManager defines how to set up and handle cookies.
You can get it from a #WebKitWebsiteDataManager with
webkit_website_data_manager_get_cookie_manager(), and use it to set where to
store cookies with webkit_cookie_manager_set_persistent_storage(),
or to set the acceptance policy, with webkit_cookie_manager_get_accept_policy().</doc>
</docsection>
<docsection name="WebKitDeviceInfoPermissionRequest">
<doc xml:space="preserve">WebKitUserMediaPermissionRequest represents a request for
permission to whether WebKit should be allowed to access the user's
devices information when requested through the enumeraceDevices API.
When a WebKitDeviceInfoPermissionRequest is not handled by the user,
it is denied by default.</doc>
</docsection>
<docsection name="WebKitDownload">
<doc xml:space="preserve">#WebKitDownload carries information about a download request and
response, including a #WebKitURIRequest and a #WebKitURIResponse
objects. The application may use this object to control the
download process, or to simply figure out what is to be downloaded,
and handle the download process itself.</doc>
</docsection>
<docsection name="WebKitEditorState">
<doc xml:space="preserve">WebKitEditorState represents the state of a #WebKitWebView editor.
Use webkit_web_view_get_editor_state() to get the WebKitEditorState
of a #WebKitWebView.</doc>
</docsection>
<docsection name="WebKitError">
<doc xml:space="preserve">Categorized WebKit errors.</doc>
</docsection>
<docsection name="WebKitFaviconDatabase">
<doc xml:space="preserve">#WebKitFaviconDatabase provides access to the icons associated with
web sites.
WebKit will automatically look for available icons in &amp;lt;link&amp;gt;
elements on opened pages as well as an existing favicon.ico and
load the images found into a memory cache if possible. That cache
is frozen to an on-disk database for persistence.
If #WebKitSettings:enable-private-browsing is %TRUE, new icons
won't be added to the on-disk database and no existing icons will
be deleted from it. Nevertheless, WebKit will still store them in
the in-memory cache during the current execution.</doc>
</docsection>
<docsection name="WebKitFileChooserRequest">
<doc xml:space="preserve">Whenever the user interacts with an &amp;lt;input type='file' /&amp;gt;
HTML element, WebKit will need to show a dialog to choose one or
more files to be uploaded to the server along with the rest of the
form data. For that to happen in a general way, instead of just
opening a #GtkFileChooserDialog (which might be not desirable in
some cases, which could prefer to use their own file chooser
dialog), WebKit will fire the #WebKitWebView::run-file-chooser
signal with a #WebKitFileChooserRequest object, which will allow
the client application to specify the files to be selected, to
inspect the details of the request (e.g. if multiple selection
should be allowed) and to cancel the request, in case nothing was
selected.
In case the client application does not wish to handle this signal,
WebKit will provide a default handler which will asynchronously run
a regular #GtkFileChooserDialog for the user to interact with.</doc>
</docsection>
<docsection name="WebKitFindController">
<doc xml:space="preserve">A #WebKitFindController is used to search text in a #WebKitWebView. You
can get a #WebKitWebView&lt;!-- --&gt;'s #WebKitFindController with
webkit_web_view_get_find_controller(), and later use it to search
for text using webkit_find_controller_search(), or get the
number of matches using webkit_find_controller_count_matches(). The
operations are asynchronous and trigger signals when ready, such as
#WebKitFindController::found-text,
#WebKitFindController::failed-to-find-text or
#WebKitFindController::counted-matches&lt;!-- --&gt;.</doc>
</docsection>
<docsection name="WebKitFormSubmissionRequest">
<doc xml:space="preserve">When a form is about to be submitted in a #WebKitWebView, the
#WebKitWebView::submit-form signal is emitted. Its request argument
contains information about the text fields of the form, that are
typically used to store login information, returned as lists by
webkit_form_submission_request_list_text_fields(). You can submit the
form with webkit_form_submission_request_submit().</doc>
</docsection>
<docsection name="WebKitGeolocationManager">
<doc xml:space="preserve">WebKitGeolocationManager provides API to get the geographical position of the user.
Once a #WebKitGeolocationPermissionRequest is allowed, when WebKit needs to know the
user location #WebKitGeolocationManager::start signal is emitted. If the signal is handled
and returns %TRUE, the application is responsible for providing the position every time it's
updated by calling webkit_geolocation_manager_update_position(). The signal #WebKitGeolocationManager::stop
will be emitted when location updates are no longer needed.</doc>
</docsection>
<docsection name="WebKitGeolocationPermissionRequest">
<doc xml:space="preserve">WebKitGeolocationPermissionRequest represents a request for
permission to decide whether WebKit should provide the user's
location to a website when requested through the Geolocation API.
When a WebKitGeolocationPermissionRequest is not handled by the user,
it is denied by default.
When embedding web views in your application, you *must* configure an
application identifier to allow web content to use geolocation services.
The identifier *must* match the name of the `.desktop` file which describes
the application, sans the suffix.
If your application uses #GApplication (or any subclass like
#GtkApplication), WebKit will automatically use the identifier returned by
g_application_get_application_id(). This is the recommended approach for
enabling geolocation in applications.
If an identifier cannot be obtained through #GApplication, the value
returned by g_get_prgname() will be used instead as a fallback. For
programs which cannot use #GApplication, calling g_set_prgname() early
during initialization is needed when the name of the executable on disk
does not match the name of a valid `.desktop` file.</doc>
</docsection>
<docsection name="WebKitHitTestResult">
<doc xml:space="preserve">A Hit Test is an operation to get context information about a given
point in a #WebKitWebView. #WebKitHitTestResult represents the
result of a Hit Test. It provides context information about what is
at the coordinates of the Hit Test, such as if there's a link,
an image or a media.
You can get the context of the HitTestResult with
webkit_hit_test_result_get_context() that returns a bitmask of
#WebKitHitTestResultContext flags. You can also use
webkit_hit_test_result_context_is_link(), webkit_hit_test_result_context_is_image() and
webkit_hit_test_result_context_is_media() to determine whether there's
a link, image or a media element at the coordinates of the Hit Test.
Note that it's possible that several #WebKitHitTestResultContext flags
are active at the same time, for example if there's a link containing an image.
When the mouse is moved over a #WebKitWebView a Hit Test is performed
for the mouse coordinates and #WebKitWebView::mouse-target-changed
signal is emitted with a #WebKitHitTestResult.</doc>
</docsection>
<docsection name="WebKitInputMethodContext">
<doc xml:space="preserve">WebKitInputMethodContext defines the interface to implement WebKit input methods.
The input methods are used by WebKit, when editable content is focused, to map from
key events to Unicode character strings.
An input method may consume multiple key events in sequence and finally
output the composed result. This is called preediting, and an input method
may provide feedback about this process by displaying the intermediate
composition states as preedit text.</doc>
</docsection>
<docsection name="WebKitInstallMissingMediaPluginsPermissionRequest">
<doc xml:space="preserve">WebKitInstallMissingMediaPluginsPermissionRequest represents a request for
permission to decide whether WebKit should try to start a helper application to
install missing media plugins when the media backend couldn't play a media because
the required plugins were not available.
When a WebKitInstallMissingMediaPluginsPermissionRequest is not handled by the user,
it is allowed by default.</doc>
</docsection>
<docsection name="WebKitNavigationPolicyDecision">
<doc xml:space="preserve">WebKitNavigationPolicyDecision represents a policy decision for events associated with
navigations. If the value of #WebKitNavigationPolicyDecision:mouse-button is not 0, then
the navigation was triggered by a mouse event.</doc>
</docsection>
<docsection name="WebKitNetworkProxySettings">
<doc xml:space="preserve">WebKitNetworkProxySettings can be used to provide a custom proxy configuration
to a #WebKitWebContext. You need to call webkit_web_context_set_network_proxy_settings()
with %WEBKIT_NETWORK_PROXY_MODE_CUSTOM and a WebKitNetworkProxySettings.</doc>
</docsection>
<docsection name="WebKitNotificationPermissionRequest">
<doc xml:space="preserve">WebKitNotificationPermissionRequest represents a request for
permission to decide whether WebKit should provide the user with
notifications through the Web Notification API.
When a WebKitNotificationPermissionRequest is not handled by the user,
it is denied by default.</doc>
</docsection>
<docsection name="WebKitOptionMenu">
<doc xml:space="preserve">WebKitOptionMenu represents the dropdown menu of a select element in a #WebKitWebView.
When a select element in a #WebKitWebView needs to display a dropdown menu, the signal
#WebKitWebView::show-option-menu is emitted, providing a WebKitOptionMenu with the
#WebKitOptionMenuItem&lt;!-- --&gt;s that should be displayed.</doc>
</docsection>
<docsection name="WebKitOptionMenuItem">
<doc xml:space="preserve">The #WebKitOptionMenu is composed of WebKitOptionMenuItem&lt;!-- --&gt;s.
A WebKitOptionMenuItem always has a label and can contain a tooltip text.
You can use the WebKitOptionMenuItem of a #WebKitOptionMenu to build your
own menus.</doc>
</docsection>
<docsection name="WebKitPermissionRequest">
<doc xml:space="preserve">There are situations where an embedder would need to ask the user
for permission to do certain types of operations, such as switching
to fullscreen mode or reporting the user's location through the
standard Geolocation API. In those cases, WebKit will emit a
#WebKitWebView::permission-request signal with a
#WebKitPermissionRequest object attached to it.</doc>
</docsection>
<docsection name="WebKitPlugin">
<doc xml:space="preserve">This object represents a single plugin, found while scanning the
various platform plugin directories. This object can be used to get
more information about a plugin, and enable/disable it, allowing
fine-grained control of plugins. The list of available plugins can
be obtained from the #WebKitWebContext, with
webkit_web_context_get_plugins().</doc>
</docsection>
<docsection name="WebKitPointerLockPermissionRequest">
<doc xml:space="preserve">WebKitPointerLockPermissionRequest represents a request for
permission to decide whether WebKit can lock the pointer device when
requested by web content.
When a WebKitPointerLockPermissionRequest is not handled by the user,
it is allowed by default.</doc>
</docsection>
<docsection name="WebKitPolicyDecision">
<doc xml:space="preserve">Often WebKit allows the client to decide the policy for certain
operations. For instance, a client may want to open a link in a new
tab, block a navigation entirely, query the user or trigger a download
instead of a navigation. In these cases WebKit will fire the
#WebKitWebView::decide-policy signal with a #WebKitPolicyDecision
object. If the signal handler does nothing, WebKit will act as if
webkit_policy_decision_use() was called as soon as signal handling
completes. To make a policy decision asynchronously, simply increment
the reference count of the #WebKitPolicyDecision object.</doc>
</docsection>
<docsection name="WebKitPrintCustomWidget">
<doc xml:space="preserve">A WebKitPrintCustomWidget allows to embed a custom widget in the print
dialog by connecting to the #WebKitPrintOperation::create-custom-widget
signal, creating a new WebKitPrintCustomWidget with
webkit_print_custom_widget_new() and returning it from there. You can later
use webkit_print_operation_run_dialog() to display the dialog.</doc>
</docsection>
<docsection name="WebKitPrintOperation">
<doc xml:space="preserve">A #WebKitPrintOperation controls a print operation in WebKit. With
a similar API to #GtkPrintOperation, it lets you set the print
settings with webkit_print_operation_set_print_settings() or
display the print dialog with webkit_print_operation_run_dialog().</doc>
</docsection>
<docsection name="WebKitResponsePolicyDecision">
<doc xml:space="preserve">WebKitResponsePolicyDecision represents a policy decision for a
resource response, whether from the network or the local system.
A very common use case for these types of decision is deciding
whether or not to download a particular resource or to load it
normally.</doc>
</docsection>
<docsection name="WebKitSecurityManager">
<doc xml:space="preserve">The #WebKitSecurityManager defines security settings for URI
schemes in a #WebKitWebContext. Get it from the context with
webkit_web_context_get_security_manager(), and use it to register a
URI scheme with a certain security level, or to check if it already
has it.</doc>
</docsection>
<docsection name="WebKitSecurityOrigin">
<doc xml:space="preserve">#WebKitSecurityOrigin is a representation of a security domain
defined by websites. A security origin normally consists of a
protocol, a hostname, and a port number. It is also possible for a
security origin to be opaque, as defined by the HTML standard, in
which case it has no associated protocol, host, or port.
Websites with the same security origin can access each other's
resources for client-side scripting or database access.</doc>
</docsection>
<docsection name="WebKitSettings">
<doc xml:space="preserve">#WebKitSettings can be applied to a #WebKitWebView to control text charset,
color, font sizes, printing mode, script support, loading of images and various
other things on a #WebKitWebView. After creation, a #WebKitSettings object
contains default settings.
&lt;informalexample&gt;&lt;programlisting&gt;
/&lt;!-- --&gt;* Disable JavaScript. *&lt;!-- --&gt;/
WebKitSettings *settings = webkit_web_view_group_get_settings (my_view_group);
webkit_settings_set_enable_javascript (settings, FALSE);
&lt;/programlisting&gt;&lt;/informalexample&gt;</doc>
</docsection>
<docsection name="WebKitURIRequest">
<doc xml:space="preserve">A #WebKitURIRequest can be created with a URI using the
webkit_uri_request_new() method, and you can get the URI of an
existing request with the webkit_uri_request_get_uri() one.</doc>
</docsection>
<docsection name="WebKitURIResponse">
<doc xml:space="preserve">A #WebKitURIResponse contains information such as the URI, the
status code, the content length, the mime type, the HTTP status or
the suggested filename.</doc>
</docsection>
<docsection name="WebKitURISchemeRequest">
<doc xml:space="preserve">If you register a particular URI scheme in a #WebKitWebContext,
using webkit_web_context_register_uri_scheme(), you have to provide
a #WebKitURISchemeRequestCallback. After that, when a URI request
is made with that particular scheme, your callback will be
called. There you will be able to access properties such as the
scheme, the URI and path, and the #WebKitWebView that initiated the
request, and also finish the request with
webkit_uri_scheme_request_finish().</doc>
</docsection>
<docsection name="WebKitUserContent">
<doc xml:space="preserve">See also: #WebKitUserContentManager</doc>
</docsection>
<docsection name="WebKitUserContentFilterStore">
<doc xml:space="preserve">The WebKitUserContentFilterStore provides the means to import and save
[JSON rule sets](https://webkit.org/blog/3476/content-blockers-first-look/),
which can be loaded later in an efficient manner. Once filters are stored,
the #WebKitUserContentFilter objects which represent them can be added to
a #WebKitUserContentManager with webkit_user_content_manager_add_filter().
JSON rule sets are imported using webkit_user_content_filter_store_save() and stored
on disk in an implementation defined format. The contents of a filter store must be
managed using the #WebKitUserContentFilterStore: a list of all the stored filters
can be obtained with webkit_user_content_filter_store_fetch_identifiers(),
webkit_user_content_filter_store_load() can be used to retrieve a previously saved
filter, and removed from the store with webkit_user_content_filter_store_remove().</doc>
</docsection>
<docsection name="WebKitUserContentManager">
<doc xml:space="preserve">Using a #WebKitUserContentManager user CSS style sheets can be set to
be injected in the web pages loaded by a #WebKitWebView, by
webkit_user_content_manager_add_style_sheet().
To use a #WebKitUserContentManager, it must be created using
webkit_user_content_manager_new(), and then passed to
webkit_web_view_new_with_user_content_manager(). User style
sheets can be created with webkit_user_style_sheet_new().
User style sheets can be added and removed at any time, but
they will affect the web pages loaded afterwards.</doc>
</docsection>
<docsection name="WebKitUserMediaPermissionRequest">
<doc xml:space="preserve">WebKitUserMediaPermissionRequest represents a request for
permission to decide whether WebKit should be allowed to access the user's
audio and video source devices when requested through the getUserMedia API.
When a WebKitUserMediaPermissionRequest is not handled by the user,
it is denied by default.</doc>
</docsection>
<docsection name="WebKitUserMessage">
<doc xml:space="preserve">A WebKitUserMessage is a message that can be used for the communication between the UI process
and web extensions. A WebKitUserMessage always has a name, and it can also include parameters and
UNIX file descriptors. Messages can be sent from a #WebKitWebContext to all #WebKitWebExtension&lt;!-- --&gt;s,
from a #WebKitWebExtension to its corresponding #WebKitWebContext, and from a #WebKitWebView to its
corresponding #WebKitWebPage (and vice versa). One to one messages can be replied to directly with
webkit_user_message_send_reply().</doc>
</docsection>
<docsection name="WebKitVersion">
<doc xml:space="preserve">Provides convenience functions returning WebKit's major, minor and
micro versions of the WebKit library your code is running
against. This is not necessarily the same as the
#WEBKIT_MAJOR_VERSION, #WEBKIT_MINOR_VERSION or
#WEBKIT_MICRO_VERSION, which represent the version of the WebKit
headers included when compiling the code.</doc>
</docsection>
<docsection name="WebKitWebContext">
<doc xml:space="preserve">The #WebKitWebContext manages all aspects common to all
#WebKitWebView&lt;!-- --&gt;s.
You can define the #WebKitCacheModel and #WebKitProcessModel with
webkit_web_context_set_cache_model() and
webkit_web_context_set_process_model(), depending on the needs of
your application. You can access the #WebKitSecurityManager to specify
the behaviour of your application regarding security using
webkit_web_context_get_security_manager().
It is also possible to change your preferred language or enable
spell checking, using webkit_web_context_set_preferred_languages(),
webkit_web_context_set_spell_checking_languages() and
webkit_web_context_set_spell_checking_enabled().
You can use webkit_web_context_register_uri_scheme() to register
custom URI schemes, and manage several other settings.
TLS certificate validation failure is now treated as a transport
error by default. To handle TLS failures differently, you can
connect to #WebKitWebView::load-failed-with-tls-errors.
Alternatively, you can use webkit_web_context_set_tls_errors_policy()
to set the policy %WEBKIT_TLS_ERRORS_POLICY_IGNORE; however, this is
not appropriate for Internet applications.</doc>
</docsection>
<docsection name="WebKitWebInspector">
<doc xml:space="preserve">The WebKit Inspector is a graphical tool to inspect and change the
content of a #WebKitWebView. It also includes an interactive
JavaScript debugger. Using this class one can get a #GtkWidget
which can be embedded into an application to show the inspector.
The inspector is available when the #WebKitSettings of the
#WebKitWebView has set the #WebKitSettings:enable-developer-extras
to true, otherwise no inspector is available.
&lt;informalexample&gt;&lt;programlisting&gt;
/&lt;!-- --&gt;* Enable the developer extras *&lt;!-- --&gt;/
WebKitSettings *setting = webkit_web_view_get_settings (WEBKIT_WEB_VIEW(my_webview));
g_object_set (G_OBJECT(settings), "enable-developer-extras", TRUE, NULL);
/&lt;!-- --&gt;* Load some data or reload to be able to inspect the page*&lt;!-- --&gt;/
webkit_web_view_load_uri (WEBKIT_WEB_VIEW(my_webview), "http://www.gnome.org");
/&lt;!-- --&gt;* Show the inspector *&lt;!-- --&gt;/
WebKitWebInspector *inspector = webkit_web_view_get_inspector (WEBKIT_WEB_VIEW(my_webview));
webkit_web_inspector_show (WEBKIT_WEB_INSPECTOR(inspector));
&lt;/programlisting&gt;&lt;/informalexample&gt;</doc>
</docsection>
<docsection name="WebKitWebResource">
<doc xml:space="preserve">A #WebKitWebResource encapsulates content for each resource at the
end of a particular URI. For example, one #WebKitWebResource will
be created for each separate image and stylesheet when a page is
loaded.
You can access the response and the URI for a given
#WebKitWebResource, using webkit_web_resource_get_uri() and
webkit_web_resource_get_response(), as well as the raw data, using
webkit_web_resource_get_data().</doc>
</docsection>
<docsection name="WebKitWebView">
<doc xml:space="preserve">#WebKitWebView is the central class of the WPE WebKit and WebKitGTK
APIs. It is responsible for managing the drawing of the content and
forwarding of events. You can load any URI into the #WebKitWebView or
a data string. With #WebKitSettings you can control various aspects
of the rendering and loading of the content.
Note that in WebKitGTK, #WebKitWebView is scrollable by itself, so
you don't need to embed it in a #GtkScrolledWindow.</doc>
</docsection>
<docsection name="WebKitWebsiteData">
<doc xml:space="preserve">WebKitWebsiteData represents data stored in the client by a particular website.
A website is normally a set of URLs grouped by domain name. You can get the website name,
which is usually the domain, with webkit_website_data_get_name().
Documents loaded from the file system, like file:// URIs, are all grouped in the same WebKitWebsiteData
with the name "Local files".
A website can store different types of data in the client side. #WebKitWebsiteDataTypes is an enum containing
all the possible data types; use webkit_website_data_get_types() to get the bitmask of data types.
It's also possible to know the size of the data stored for some of the #WebKitWebsiteDataTypes by using
webkit_website_data_get_size().
A list of WebKitWebsiteData can be retrieved with webkit_website_data_manager_fetch(). See #WebKitWebsiteDataManager
for more information.</doc>
</docsection>
<docsection name="WebKitWebsiteDataAccessPermissionRequest">
<doc xml:space="preserve">WebKitWebsiteDataAccessPermissionRequest represents a request for
permission to allow a third-party domain access its cookies.
When a WebKitWebsiteDataAccessPermissionRequest is not handled by the user,
it is denied by default.</doc>
</docsection>
<docsection name="WebKitWebsiteDataManager">
<doc xml:space="preserve">WebKitWebsiteDataManager allows you to manage the data that websites
can store in the client file system like databases or caches.
You can use WebKitWebsiteDataManager to configure the local directories
where the Website data will be stored, by creating a new manager with
webkit_website_data_manager_new() passing the values you want to set.
You can set all the possible configuration values or only some of them,
a default value will be used automatically for the configuration options
not provided. #WebKitWebsiteDataManager:base-data-directory and
#WebKitWebsiteDataManager:base-cache-directory are two special properties
that can be used to set a common base directory for all Website data and
caches. It's possible to provide both, a base directory and a specific value,
but in that case, the specific value takes precedence over the base directory.
The newly created WebKitWebsiteDataManager must be passed as a construct property
to a #WebKitWebContext, you can use webkit_web_context_new_with_website_data_manager()
to create a new #WebKitWebContext with a WebKitWebsiteDataManager.
In case you don't want to set any specific configuration, you don't need to create
a WebKitWebsiteDataManager, the #WebKitWebContext will create a WebKitWebsiteDataManager
with the default configuration. To get the WebKitWebsiteDataManager of a #WebKitWebContext
you can use webkit_web_context_get_website_data_manager().
A WebKitWebsiteDataManager can also be ephemeral and then all the directories configuration
is not needed because website data will never persist. You can create an ephemeral WebKitWebsiteDataManager
with webkit_website_data_manager_new_ephemeral(). Then you can pass an ephemeral WebKitWebsiteDataManager to
a #WebKitWebContext to make it ephemeral or use webkit_web_context_new_ephemeral() and the WebKitWebsiteDataManager
will be automatically created by the #WebKitWebContext.
WebKitWebsiteDataManager can also be used to fetch websites data, remove data
stored by particular websites, or clear data for all websites modified since a given
period of time.</doc>
</docsection>
<docsection name="WebKitWebsitePolicies">
<doc xml:space="preserve">WebKitWebsitePolicies allows you to configure per-page policies,
currently only autoplay policies are supported.</doc>
</docsection>
<docsection name="WebKitWindowProperties">
<doc xml:space="preserve">The content of a #WebKitWebView can request to change certain
properties of the window containing the view. This can include the x, y position
of the window, the width and height but also if a toolbar,
scrollbar, statusbar, locationbar should be visible to the user,
and the request to show the #WebKitWebView fullscreen.
The #WebKitWebView::ready-to-show signal handler is the proper place
to apply the initial window properties. Then you can monitor the
#WebKitWindowProperties by connecting to ::notify signal.
&lt;informalexample&gt;&lt;programlisting&gt;
static void ready_to_show_cb (WebKitWebView *web_view, gpointer user_data)
{
GtkWidget *window;
WebKitWindowProperties *window_properties;
gboolean visible;
/&lt;!-- --&gt;* Create the window to contain the WebKitWebView *&lt;!-- --&gt;/
window = browser_window_new ();
gtk_container_add (GTK_CONTAINER (window), GTK_WIDGET (web_view));
gtk_widget_show (GTK_WIDGET (web_view));
/&lt;!-- --&gt;* Get the WebKitWindowProperties of the web view and monitor it *&lt;!-- --&gt;/
window_properties = webkit_web_view_get_window_properties (web_view);
g_signal_connect (window_properties, "notify::geometry",
G_CALLBACK (window_geometry_changed), window);
g_signal_connect (window_properties, "notify::toolbar-visible",
G_CALLBACK (window_toolbar_visibility_changed), window);
g_signal_connect (window_properties, "notify::menubar-visible",
G_CALLBACK (window_menubar_visibility_changed), window);
....
/&lt;!-- --&gt;* Apply the window properties before showing the window *&lt;!-- --&gt;/
visible = webkit_window_properties_get_toolbar_visible (window_properties);
browser_window_set_toolbar_visible (BROWSER_WINDOW (window), visible);
visible = webkit_window_properties_get_menubar_visible (window_properties);
browser_window_set_menubar_visible (BROWSER_WINDOW (window), visible);
....
if (webkit_window_properties_get_fullscreen (window_properties)) {
gtk_window_fullscreen (GTK_WINDOW (window));
} else {
GdkRectangle geometry;
gtk_window_set_resizable (GTK_WINDOW (window),
webkit_window_properties_get_resizable (window_properties));
webkit_window_properties_get_geometry (window_properties, &amp;geometry);
gtk_window_move (GTK_WINDOW (window), geometry.x, geometry.y);
gtk_window_resize (GTK_WINDOW (window), geometry.width, geometry.height);
}
gtk_widget_show (window);
}
&lt;/programlisting&gt;&lt;/informalexample&gt;</doc>
</docsection>
<enumeration name="WebProcessTerminationReason" version="2.20" glib:type-name="WebKitWebProcessTerminationReason" glib:get-type="webkit_web_process_termination_reason_get_type" c:type="WebKitWebProcessTerminationReason">
<doc xml:space="preserve">Enum values used to specify the reason why the web process terminated abnormally.</doc>
<member name="crashed" value="0" c:identifier="WEBKIT_WEB_PROCESS_CRASHED" glib:nick="crashed">

View File

@@ -29223,6 +29223,144 @@ webkit_web_context_set_web_extensions_initialization_user_data().</doc>
<record name="WebHitTestResultPrivate" c:type="WebKitWebHitTestResultPrivate" disguised="1">
</record>
<docsection name="WebKitContextMenu">
<doc xml:space="preserve">#WebKitContextMenu represents a context menu containing
#WebKitContextMenuItem&lt;!-- --&gt;s in a #WebKitWebView.
When a #WebKitWebView is about to display the context menu, it
emits the #WebKitWebView::context-menu signal, which has the
#WebKitContextMenu as an argument. You can modify it, adding new
submenus that you can create with webkit_context_menu_new(), adding
new #WebKitContextMenuItem&lt;!-- --&gt;s with
webkit_context_menu_prepend(), webkit_context_menu_append() or
webkit_context_menu_insert(), maybe after having removed the
existing ones with webkit_context_menu_remove_all().</doc>
</docsection>
<docsection name="WebKitContextMenuItem">
<doc xml:space="preserve">The #WebKitContextMenu is composed of #WebKitContextMenuItem&lt;!--
--&gt;s. These items can be created from a #GtkAction, from a
#WebKitContextMenuAction or from a #WebKitContextMenuAction and a
label. These #WebKitContextMenuAction&lt;!-- --&gt;s denote stock actions
for the items. You can also create separators and submenus.</doc>
</docsection>
<docsection name="WebKitHitTestResult">
<doc xml:space="preserve">A Hit Test is an operation to get context information about a given
point in a #WebKitWebView. #WebKitHitTestResult represents the
result of a Hit Test. It provides context information about what is
at the coordinates of the Hit Test, such as if there's a link,
an image or a media.
You can get the context of the HitTestResult with
webkit_hit_test_result_get_context() that returns a bitmask of
#WebKitHitTestResultContext flags. You can also use
webkit_hit_test_result_context_is_link(), webkit_hit_test_result_context_is_image() and
webkit_hit_test_result_context_is_media() to determine whether there's
a link, image or a media element at the coordinates of the Hit Test.
Note that it's possible that several #WebKitHitTestResultContext flags
are active at the same time, for example if there's a link containing an image.
When the mouse is moved over a #WebKitWebView a Hit Test is performed
for the mouse coordinates and #WebKitWebView::mouse-target-changed
signal is emitted with a #WebKitHitTestResult.</doc>
</docsection>
<docsection name="WebKitURIRequest">
<doc xml:space="preserve">A #WebKitURIRequest can be created with a URI using the
webkit_uri_request_new() method, and you can get the URI of an
existing request with the webkit_uri_request_get_uri() one.</doc>
</docsection>
<docsection name="WebKitURIResponse">
<doc xml:space="preserve">A #WebKitURIResponse contains information such as the URI, the
status code, the content length, the mime type, the HTTP status or
the suggested filename.</doc>
</docsection>
<docsection name="WebKitUserMessage">
<doc xml:space="preserve">A WebKitUserMessage is a message that can be used for the communication between the UI process
and web extensions. A WebKitUserMessage always has a name, and it can also include parameters and
UNIX file descriptors. Messages can be sent from a #WebKitWebContext to all #WebKitWebExtension&lt;!-- --&gt;s,
from a #WebKitWebExtension to its corresponding #WebKitWebContext, and from a #WebKitWebView to its
corresponding #WebKitWebPage (and vice versa). One to one messages can be replied to directly with
webkit_user_message_send_reply().</doc>
</docsection>
<docsection name="WebKitWebEditor">
<doc xml:space="preserve">The WebKitWebEditor provides access to various editing capabilities of
a #WebKitWebPage such as a possibility to react to the current selection in
#WebKitWebPage.</doc>
</docsection>
<docsection name="WebKitWebExtension">
<doc xml:space="preserve">WebKitWebExtension is a loadable module for the WebProcess. It allows you to execute code in the
WebProcess and being able to use the DOM API, to change any request or to inject custom
JavaScript code, for example.
To create a WebKitWebExtension you should write a module with an initialization function that could
be either webkit_web_extension_initialize() with prototype #WebKitWebExtensionInitializeFunction or
webkit_web_extension_initialize_with_user_data() with prototype #WebKitWebExtensionInitializeWithUserDataFunction.
This function has to be public and it has to use the #G_MODULE_EXPORT macro. It is called when the
web process is initialized.
&lt;informalexample&gt;&lt;programlisting&gt;
static void
web_page_created_callback (WebKitWebExtension *extension,
WebKitWebPage *web_page,
gpointer user_data)
{
g_print ("Page %d created for %s\n",
webkit_web_page_get_id (web_page),
webkit_web_page_get_uri (web_page));
}
G_MODULE_EXPORT void
webkit_web_extension_initialize (WebKitWebExtension *extension)
{
g_signal_connect (extension, "page-created",
G_CALLBACK (web_page_created_callback),
NULL);
}
&lt;/programlisting&gt;&lt;/informalexample&gt;
The previous piece of code shows a trivial example of an extension that notifies when
a #WebKitWebPage is created.
WebKit has to know where it can find the created WebKitWebExtension. To do so you
should use the webkit_web_context_set_web_extensions_directory() function. The signal
#WebKitWebContext::initialize-web-extensions is the recommended place to call it.
To provide the initialization data used by the webkit_web_extension_initialize_with_user_data()
function, you have to call webkit_web_context_set_web_extensions_initialization_user_data() with
the desired data as parameter. You can see an example of this in the following piece of code:
&lt;informalexample&gt;&lt;programlisting&gt;
#define WEB_EXTENSIONS_DIRECTORY /&lt;!-- --&gt;* ... *&lt;!-- --&gt;/
static void
initialize_web_extensions (WebKitWebContext *context,
gpointer user_data)
{
/&lt;!-- --&gt;* Web Extensions get a different ID for each Web Process *&lt;!-- --&gt;/
static guint32 unique_id = 0;
webkit_web_context_set_web_extensions_directory (
context, WEB_EXTENSIONS_DIRECTORY);
webkit_web_context_set_web_extensions_initialization_user_data (
context, g_variant_new_uint32 (unique_id++));
}
int main (int argc, char **argv)
{
g_signal_connect (webkit_web_context_get_default (),
"initialize-web-extensions",
G_CALLBACK (initialize_web_extensions),
NULL);
GtkWidget *view = webkit_web_view_new ();
/&lt;!-- --&gt;* ... *&lt;!-- --&gt;/
}
&lt;/programlisting&gt;&lt;/informalexample&gt;</doc>
</docsection>
<docsection name="WebKitWebHitTestResult">
<doc xml:space="preserve">WebKitWebHitTestResult extends #WebKitHitTestResult to provide information
about the #WebKitDOMNode in the coordinates of the Hit Test.</doc>
</docsection>
<class name="WebPage" c:symbol-prefix="web_page" c:type="WebKitWebPage" parent="GObject.Object" glib:type-name="WebKitWebPage" glib:get-type="webkit_web_page_get_type" glib:type-struct="WebPageClass">
<method name="get_dom_document" c:identifier="webkit_web_page_get_dom_document">