@@ -841,7 +841,7 @@ transfers to a child node.</doc>
841841 </parameters >
842842 </method >
843843 </class >
844- <class name =" CompositeNode" c : symbol-prefix =" composite_node" c : type =" GskCompositeNode" parent =" RenderNode" glib : type-name =" GskCompositeNode" glib : get-type =" gsk_composite_node_get_type" glib : fundamental =" 1" >
844+ <class name =" CompositeNode" c : symbol-prefix =" composite_node" c : type =" GskCompositeNode" version = " 4.22 " parent =" RenderNode" glib : type-name =" GskCompositeNode" glib : get-type =" gsk_composite_node_get_type" glib : fundamental =" 1" >
845845 <doc xml : space =" preserve" >A render node that uses Porter/Duff compositing operators to combine
846846its child with the background.</doc >
847847 <constructor name =" new" c : identifier =" gsk_composite_node_new" version =" 4.22" >
@@ -2313,6 +2313,83 @@ if the render node was created for a non-sRGB color.</doc>
23132313 </parameters >
23142314 </method >
23152315 </class >
2316+ <bitfield name =" Isolation" version =" 4.22" glib : type-name =" GskIsolation" glib : get-type =" gsk_isolation_get_type" c : type =" GskIsolation" >
2317+ <doc xml : space =" preserve" >These flags describe the types of isolations possible with a
2318+ 2319+
2320+ More isolation options may be added in the future.</doc >
2321+ <member name =" none" value =" 0" c : identifier =" GSK_ISOLATION_NONE" glib : nick =" none" glib : name =" GSK_ISOLATION_NONE" >
2322+ <doc xml : space =" preserve" >No isolation is defined.</doc >
2323+ </member >
2324+ <member name =" background" value =" 1" c : identifier =" GSK_ISOLATION_BACKGROUND" glib : nick =" background" glib : name =" GSK_ISOLATION_BACKGROUND" >
2325+ <doc xml : space =" preserve" >If the background should be made available.
2326+ If the background is not available, future operations will be rendered
2327+ to a transparent background and added to the existing background later.</doc >
2328+ </member >
2329+ <member name =" copy_paste" value =" 2" c : identifier =" GSK_ISOLATION_COPY_PASTE" glib : nick =" copy-paste" glib : name =" GSK_ISOLATION_COPY_PASTE" >
2330+ <doc xml : space =" preserve" >If copies should be available to paste nodes.
2331+ If copies are not available, paste nodes can only paste from copies that
2332+ are made inside the isolated contents.</doc >
2333+ </member >
2334+ <member name =" all" value =" -1" c : identifier =" GSK_ISOLATION_ALL" glib : nick =" all" glib : name =" GSK_ISOLATION_ALL" >
2335+ <doc xml : space =" preserve" >Isolate everything. This will include features that
2336+ are added in the future.</doc >
2337+ </member >
2338+ </bitfield >
2339+ <class name =" IsolationNode" c : symbol-prefix =" isolation_node" c : type =" GskIsolationNode" version =" 4.22" parent =" RenderNode" glib : type-name =" GskIsolationNode" glib : get-type =" gsk_isolation_node_get_type" glib : fundamental =" 1" >
2340+ <doc xml : space =" preserve" >A render node that isolates its child from surrounding rendernodes.</doc >
2341+ <constructor name =" new" c : identifier =" gsk_isolation_node_new" version =" 4.22" >
2342+ <doc xml : space =" preserve" >Creates a `GskRenderNode` that isolates the drawing operations of
2343+ the child from surrounding ones.
2344+
2345+ You can express "everything but these flags" in a forward compatible
2346+ way by using bit math:
2347+ `GSK_ISOLATION_ALL & ~(GSK_ISOLATION_BACKGROUND | GSK_ISOLATION_COPY_PASTE)`
2348+ will isolate everything but background and copy/paste.
2349+
2350+ For the available isolations, see [
[email protected] ].</
doc >
2351+ <return-value transfer-ownership =" full" >
2352+ <doc xml : space =" preserve" >A new `GskRenderNode`</doc >
2353+ <type name =" IsolationNode" c : type =" GskRenderNode*" />
2354+ </return-value >
2355+ <parameters >
2356+ <parameter name =" child" transfer-ownership =" none" >
2357+ <doc xml : space =" preserve" >The child</doc >
2358+ <type name =" RenderNode" c : type =" GskRenderNode*" />
2359+ </parameter >
2360+ <parameter name =" isolations" transfer-ownership =" none" >
2361+ <doc xml : space =" preserve" >features to isolate</doc >
2362+ <type name =" Isolation" c : type =" GskIsolation" />
2363+ </parameter >
2364+ </parameters >
2365+ </constructor >
2366+ <method name =" get_child" c : identifier =" gsk_isolation_node_get_child" version =" 4.22" >
2367+ <doc xml : space =" preserve" >Gets the child node that is getting drawn by the given @node.</doc >
2368+ <return-value transfer-ownership =" none" >
2369+ <doc xml : space =" preserve" >the child `GskRenderNode`</doc >
2370+ <type name =" RenderNode" c : type =" GskRenderNode*" />
2371+ </return-value >
2372+ <parameters >
2373+ <instance-parameter name =" node" transfer-ownership =" none" >
2374+ <doc xml : space =" preserve" >an isolation `GskRenderNode`</doc >
2375+ <type name =" IsolationNode" c : type =" const GskRenderNode*" />
2376+ </instance-parameter >
2377+ </parameters >
2378+ </method >
2379+ <method name =" get_isolations" c : identifier =" gsk_isolation_node_get_isolations" version =" 4.22" >
2380+ <doc xml : space =" preserve" >Gets the isolation features that are enforced by this node.</doc >
2381+ <return-value transfer-ownership =" none" >
2382+ <doc xml : space =" preserve" >the isolation features</doc >
2383+ <type name =" Isolation" c : type =" GskIsolation" />
2384+ </return-value >
2385+ <parameters >
2386+ <instance-parameter name =" node" transfer-ownership =" none" >
2387+ <doc xml : space =" preserve" >an isolation `GskRenderNode`</doc >
2388+ <type name =" IsolationNode" c : type =" const GskRenderNode*" />
2389+ </instance-parameter >
2390+ </parameters >
2391+ </method >
2392+ </class >
23162393 <enumeration name =" LineCap" version =" 4.14" glib : type-name =" GskLineCap" glib : get-type =" gsk_line_cap_get_type" c : type =" GskLineCap" >
23172394 <doc xml : space =" preserve" >Specifies how to render the start and end points of contours or
23182395dashes when stroking.
@@ -2926,7 +3003,8 @@ If @func returns `FALSE`, the iteration is stopped.</doc>
29263003
29273004The returned bounds may be larger than necessary, because this
29283005function aims to be fast, not accurate. The bounds are guaranteed
2929- to contain the path.
3006+ to contain the path. For accurate bounds, use
3007+ 29303008
29313009It is possible that the returned rectangle has 0 width and/or height.
29323010This can happen when the path only describes a point or an
@@ -3005,6 +3083,46 @@ is returned in this case.</doc>
30053083 </parameter >
30063084 </parameters >
30073085 </method >
3086+ <method name =" get_next" c : identifier =" gsk_path_get_next" version =" 4.22" >
3087+ <doc xml : space =" preserve" >Moves @point to the next vertex.
3088+
3089+ An empty path has no points, so false
3090+ is returned in this case.</doc >
3091+ <return-value transfer-ownership =" none" >
3092+ <doc xml : space =" preserve" >true if @point was set</doc >
3093+ <type name =" gboolean" c : type =" gboolean" />
3094+ </return-value >
3095+ <parameters >
3096+ <instance-parameter name =" self" transfer-ownership =" none" >
3097+ <doc xml : space =" preserve" >a path</doc >
3098+ <type name =" Path" c : type =" GskPath*" />
3099+ </instance-parameter >
3100+ <parameter name =" point" direction =" inout" caller-allocates =" 0" transfer-ownership =" full" >
3101+ <doc xml : space =" preserve" >the current point</doc >
3102+ <type name =" PathPoint" c : type =" GskPathPoint*" />
3103+ </parameter >
3104+ </parameters >
3105+ </method >
3106+ <method name =" get_previous" c : identifier =" gsk_path_get_previous" version =" 4.22" >
3107+ <doc xml : space =" preserve" >Moves @point to the previous vertex.
3108+
3109+ An empty path has no points, so false
3110+ is returned in this case.</doc >
3111+ <return-value transfer-ownership =" none" >
3112+ <doc xml : space =" preserve" >true if @point was set</doc >
3113+ <type name =" gboolean" c : type =" gboolean" />
3114+ </return-value >
3115+ <parameters >
3116+ <instance-parameter name =" self" transfer-ownership =" none" >
3117+ <doc xml : space =" preserve" >a path</doc >
3118+ <type name =" Path" c : type =" GskPath*" />
3119+ </instance-parameter >
3120+ <parameter name =" point" direction =" inout" caller-allocates =" 0" transfer-ownership =" full" >
3121+ <doc xml : space =" preserve" >the current point</doc >
3122+ <type name =" PathPoint" c : type =" GskPathPoint*" />
3123+ </parameter >
3124+ </parameters >
3125+ </method >
30083126 <method name =" get_start_point" c : identifier =" gsk_path_get_start_point" version =" 4.14" >
30093127 <doc xml : space =" preserve" >Gets the start point of the path.
30103128
@@ -3053,6 +3171,27 @@ like miters.</doc>
30533171 </parameter >
30543172 </parameters >
30553173 </method >
3174+ <method name =" get_tight_bounds" c : identifier =" gsk_path_get_tight_bounds" version =" 4.22" >
3175+ <doc xml : space =" preserve" >Computes the tight bounds of the given path.
3176+
3177+ This function works harder than [
[email protected] _bounds] to
3178+ produce the smallest possible bounds.</doc >
3179+ <return-value transfer-ownership =" none" >
3180+ <doc xml : space =" preserve" >true if the path has bounds, false if the path is known
3181+ to be empty and have no bounds</doc >
3182+ <type name =" gboolean" c : type =" gboolean" />
3183+ </return-value >
3184+ <parameters >
3185+ <instance-parameter name =" self" transfer-ownership =" none" >
3186+ <doc xml : space =" preserve" >a path</doc >
3187+ <type name =" Path" c : type =" GskPath*" />
3188+ </instance-parameter >
3189+ <parameter name =" bounds" direction =" out" caller-allocates =" 1" transfer-ownership =" none" >
3190+ <doc xml : space =" preserve" >return location for the bounds</doc >
3191+ <type name =" Graphene.Rect" c : type =" graphene_rect_t*" />
3192+ </parameter >
3193+ </parameters >
3194+ </method >
30563195 <method name =" in_fill" c : identifier =" gsk_path_in_fill" version =" 4.14" >
30573196 <doc xml : space =" preserve" >Returns whether a point is inside the fill area of a path.
30583197
@@ -5191,6 +5330,9 @@ node to a file for later inspection.</doc>
51915330 <doc xml : space =" preserve" >A node that combines a child with the background using Porter/Duff
51925331operations.</doc >
51935332 </member >
5333+ <member name =" isolation_node" value =" 35" c : identifier =" GSK_ISOLATION_NODE" version =" 4.22" glib : nick =" isolation-node" glib : name =" GSK_ISOLATION_NODE" >
5334+ <doc xml : space =" preserve" >A node that isolated content of its child from previous content.</doc >
5335+ </member >
51945336 </enumeration >
51955337 <record name =" RenderReplay" c : type =" GskRenderReplay" disguised =" 1" opaque =" 1" free-function =" gsk_render_replay_free" version =" 4.22" >
51965338 <
doc xml : space =
" preserve" >A facility to replay a [
[email protected] ] and its children, potentially
@@ -5271,7 +5413,7 @@ main (int argc, char *argv[])
52715413
52725414The default method calls [
[email protected] _node]
52735415on all its child nodes and the filter functions for all its
5274- proeprties . If none of them are changed, it returns the passed
5416+ properties . If none of them are changed, it returns the passed
52755417in node. Otherwise it constructs a new node with the changed
52765418children and properties.
52775419
@@ -5404,7 +5546,8 @@ a font yourself.</doc>
54045546 <type name =" RenderReplay" c : type =" GskRenderReplay*" />
54055547 </instance-parameter >
54065548 <parameter name =" filter" transfer-ownership =" none" nullable =" 1" allow-none =" 1" scope =" notified" closure =" 1" destroy =" 2" >
5407- <doc xml : space =" preserve" >the font filter function</doc >
5549+ <doc xml : space =" preserve" >
5550+ the font filter function</doc >
54085551 <type name =" RenderReplayFontFilter" c : type =" GskRenderReplayFontFilter" />
54095552 </parameter >
54105553 <parameter name =" user_data" transfer-ownership =" none" nullable =" 1" allow-none =" 1" >
@@ -5413,7 +5556,7 @@ a font yourself.</doc>
54135556 </parameter >
54145557 <parameter name =" user_destroy" transfer-ownership =" none" scope =" async" >
54155558 <doc xml : space =" preserve" >destroy notify that will be called to release
5416- user_data </doc >
5559+ the user data parameter </doc >
54175560 <type name =" GLib.DestroyNotify" c : type =" GDestroyNotify" />
54185561 </parameter >
54195562 </parameters >
@@ -5428,7 +5571,7 @@ It can either:
54285571
54295572* create a replacement node and return that
54305573
5431- * discard the node by returning % NULL
5574+ * discard the node by returning ` NULL`
54325575
54335576* call [
[email protected] ] to have the default handler
54345577 run for this node, which calls your function on its children</doc >
@@ -5439,8 +5582,9 @@ It can either:
54395582 <instance-parameter name =" self" transfer-ownership =" none" >
54405583 <type name =" RenderReplay" c : type =" GskRenderReplay*" />
54415584 </instance-parameter >
5442- <parameter name =" filter" transfer-ownership =" none" scope =" notified" closure =" 1" destroy =" 2" >
5443- <doc xml : space =" preserve" >The function to call to replay nodes</doc >
5585+ <parameter name =" filter" transfer-ownership =" none" nullable =" 1" allow-none =" 1" scope =" notified" closure =" 1" destroy =" 2" >
5586+ <doc xml : space =" preserve" >
5587+ the function to call to replay nodes</doc >
54445588 <type name =" RenderReplayNodeFilter" c : type =" GskRenderReplayNodeFilter" />
54455589 </parameter >
54465590 <parameter name =" user_data" transfer-ownership =" none" nullable =" 1" allow-none =" 1" >
@@ -5449,7 +5593,7 @@ It can either:
54495593 </parameter >
54505594 <parameter name =" user_destroy" transfer-ownership =" none" scope =" async" >
54515595 <doc xml : space =" preserve" >destroy notify that will be called to release
5452- user_data </doc >
5596+ the user data parameter </doc >
54535597 <type name =" GLib.DestroyNotify" c : type =" GDestroyNotify" />
54545598 </parameter >
54555599 </parameters >
@@ -5458,7 +5602,7 @@ It can either:
54585602 <doc xml : space =" preserve" >Sets the function to call for every node.
54595603
54605604This function is called before the node filter, so if it returns
5461- FALSE , the node filter will never be called.</doc >
5605+ false , the node filter will never be called.</doc >
54625606 <return-value transfer-ownership =" none" >
54635607 <type name =" none" c : type =" void" />
54645608 </return-value >
@@ -5467,8 +5611,9 @@ FALSE, the node filter will never be called.</doc>
54675611 <doc xml : space =" preserve" >the replay</doc >
54685612 <type name =" RenderReplay" c : type =" GskRenderReplay*" />
54695613 </instance-parameter >
5470- <parameter name =" foreach" transfer-ownership =" none" scope =" notified" closure =" 1" destroy =" 2" >
5471- <doc xml : space =" preserve" >the function to call for all nodes</doc >
5614+ <parameter name =" foreach" transfer-ownership =" none" nullable =" 1" allow-none =" 1" scope =" notified" closure =" 1" destroy =" 2" >
5615+ <doc xml : space =" preserve" >
5616+ the function to call for all nodes</doc >
54725617 <type name =" RenderReplayNodeForeach" c : type =" GskRenderReplayNodeForeach" />
54735618 </parameter >
54745619 <parameter name =" user_data" transfer-ownership =" none" nullable =" 1" allow-none =" 1" >
@@ -5477,7 +5622,7 @@ FALSE, the node filter will never be called.</doc>
54775622 </parameter >
54785623 <parameter name =" user_destroy" transfer-ownership =" none" scope =" async" >
54795624 <doc xml : space =" preserve" >destroy notify that will be called to release
5480- user_data </doc >
5625+ the user data parameter </doc >
54815626 <type name =" GLib.DestroyNotify" c : type =" GDestroyNotify" />
54825627 </parameter >
54835628 </parameters >
@@ -5497,7 +5642,8 @@ a texture yourself.</doc>
54975642 <type name =" RenderReplay" c : type =" GskRenderReplay*" />
54985643 </instance-parameter >
54995644 <parameter name =" filter" transfer-ownership =" none" nullable =" 1" allow-none =" 1" scope =" notified" closure =" 1" destroy =" 2" >
5500- <doc xml : space =" preserve" >the texture filter function</doc >
5645+ <doc xml : space =" preserve" >
5646+ the texture filter function</doc >
55015647 <type name =" RenderReplayTextureFilter" c : type =" GskRenderReplayTextureFilter" />
55025648 </parameter >
55035649 <parameter name =" user_data" transfer-ownership =" none" nullable =" 1" allow-none =" 1" >
@@ -5506,7 +5652,7 @@ a texture yourself.</doc>
55065652 </parameter >
55075653 <parameter name =" user_destroy" transfer-ownership =" none" scope =" async" >
55085654 <doc xml : space =" preserve" >destroy notify that will be called to release
5509- user_data </doc >
5655+ the user data parameter </doc >
55105656 <type name =" GLib.DestroyNotify" c : type =" GDestroyNotify" />
55115657 </parameter >
55125658 </parameters >
0 commit comments