<?xml version="1.0"?>
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
               "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % local.common.attrib "xmlns:xi  CDATA  #FIXED 'http://www.w3.org/2003/XInclude'">
<!ENTITY version SYSTEM "version.xml">
]>
<refentry id="GskRenderNode">
<refmeta>
<refentrytitle role="top_of_page" id="GskRenderNode.top_of_page">GskRenderNode</refentrytitle>
<manvolnum>3</manvolnum>
<refmiscinfo>GSK4 Library</refmiscinfo>
</refmeta>
<refnamediv>
<refname>GskRenderNode</refname>
<refpurpose>Simple scene graph element</refpurpose>
</refnamediv>

<refsect1 id="GskRenderNode.functions" role="functions_proto">
<title role="functions_proto.title">Functions</title>
<informaltable pgwide="1" frame="none">
<tgroup cols="2">
<colspec colname="functions_proto_type" colwidth="150px"/>
<colspec colname="functions_proto_name"/>
<tbody>
<row><entry role="function_type"><link linkend="GskRenderNode"><returnvalue>GskRenderNode</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="gsk-render-node-ref">gsk_render_node_ref</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="gsk-render-node-unref">gsk_render_node_unref</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="GskRenderNodeType"><returnvalue>GskRenderNodeType</returnvalue></link>
</entry><entry role="function_name"><link linkend="gsk-render-node-get-node-type">gsk_render_node_get_node_type</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="gsk-render-node-draw">gsk_render_node_draw</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><phrase role="c_punctuation">(</phrase><link linkend="GskParseErrorFunc">*GskParseErrorFunc</link><phrase role="c_punctuation">)</phrase>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="GBytes"><returnvalue>GBytes</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="gsk-render-node-serialize">gsk_render_node_serialize</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="GskRenderNode"><returnvalue>GskRenderNode</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="gsk-render-node-deserialize">gsk_render_node_deserialize</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
</entry><entry role="function_name"><link linkend="gsk-render-node-write-to-file">gsk_render_node_write_to_file</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="gsk-render-node-get-bounds">gsk_render_node_get_bounds</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>

<row><entry role="function_type"><link linkend="GskRenderNode"><returnvalue>GskRenderNode</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="gsk-color-node-new">gsk_color_node_new</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type">const <link linkend="GdkRGBA"><returnvalue>GdkRGBA</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="gsk-color-node-get-color">gsk_color_node_get_color</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="GskRenderNode"><returnvalue>GskRenderNode</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="gsk-texture-node-new">gsk_texture_node_new</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="GdkTexture"><returnvalue>GdkTexture</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="gsk-texture-node-get-texture">gsk_texture_node_get_texture</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>

<row><entry role="function_type"><link linkend="GskRenderNode"><returnvalue>GskRenderNode</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="gsk-linear-gradient-node-new">gsk_linear_gradient_node_new</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="GskRenderNode"><returnvalue>GskRenderNode</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="gsk-repeating-linear-gradient-node-new">gsk_repeating_linear_gradient_node_new</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type">const <link linkend="graphene-point-t"><returnvalue>graphene_point_t</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="gsk-linear-gradient-node-get-start">gsk_linear_gradient_node_get_start</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type">const <link linkend="graphene-point-t"><returnvalue>graphene_point_t</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="gsk-linear-gradient-node-get-end">gsk_linear_gradient_node_get_end</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="gsize"><returnvalue>gsize</returnvalue></link>
</entry><entry role="function_name"><link linkend="gsk-linear-gradient-node-get-n-color-stops">gsk_linear_gradient_node_get_n_color_stops</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type">const <link linkend="GskColorStop"><returnvalue>GskColorStop</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="gsk-linear-gradient-node-get-color-stops">gsk_linear_gradient_node_get_color_stops</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>

<row><entry role="function_type"><link linkend="GskRenderNode"><returnvalue>GskRenderNode</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="gsk-radial-gradient-node-new">gsk_radial_gradient_node_new</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="GskRenderNode"><returnvalue>GskRenderNode</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="gsk-repeating-radial-gradient-node-new">gsk_repeating_radial_gradient_node_new</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="gsize"><returnvalue>gsize</returnvalue></link>
</entry><entry role="function_name"><link linkend="gsk-radial-gradient-node-get-n-color-stops">gsk_radial_gradient_node_get_n_color_stops</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type">const <link linkend="GskColorStop"><returnvalue>GskColorStop</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="gsk-radial-gradient-node-get-color-stops">gsk_radial_gradient_node_get_color_stops</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="float"><returnvalue>float</returnvalue></link>
</entry><entry role="function_name"><link linkend="gsk-radial-gradient-node-get-start">gsk_radial_gradient_node_get_start</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="float"><returnvalue>float</returnvalue></link>
</entry><entry role="function_name"><link linkend="gsk-radial-gradient-node-get-end">gsk_radial_gradient_node_get_end</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="float"><returnvalue>float</returnvalue></link>
</entry><entry role="function_name"><link linkend="gsk-radial-gradient-node-get-hradius">gsk_radial_gradient_node_get_hradius</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="float"><returnvalue>float</returnvalue></link>
</entry><entry role="function_name"><link linkend="gsk-radial-gradient-node-get-vradius">gsk_radial_gradient_node_get_vradius</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type">const <link linkend="graphene-point-t"><returnvalue>graphene_point_t</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="gsk-radial-gradient-node-get-center">gsk_radial_gradient_node_get_center</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>

<row><entry role="function_type"><link linkend="GskRenderNode"><returnvalue>GskRenderNode</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="gsk-conic-gradient-node-new">gsk_conic_gradient_node_new</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="gsize"><returnvalue>gsize</returnvalue></link>
</entry><entry role="function_name"><link linkend="gsk-conic-gradient-node-get-n-color-stops">gsk_conic_gradient_node_get_n_color_stops</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type">const <link linkend="GskColorStop"><returnvalue>GskColorStop</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="gsk-conic-gradient-node-get-color-stops">gsk_conic_gradient_node_get_color_stops</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type">const <link linkend="graphene-point-t"><returnvalue>graphene_point_t</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="gsk-conic-gradient-node-get-center">gsk_conic_gradient_node_get_center</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="float"><returnvalue>float</returnvalue></link>
</entry><entry role="function_name"><link linkend="gsk-conic-gradient-node-get-rotation">gsk_conic_gradient_node_get_rotation</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>

<row><entry role="function_type"><link linkend="GskRenderNode"><returnvalue>GskRenderNode</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="gsk-border-node-new">gsk_border_node_new</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type">const <link linkend="GskRoundedRect"><returnvalue>GskRoundedRect</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="gsk-border-node-get-outline">gsk_border_node_get_outline</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type">const <link linkend="float"><returnvalue>float</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="gsk-border-node-get-widths">gsk_border_node_get_widths</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type">const <link linkend="GdkRGBA"><returnvalue>GdkRGBA</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="gsk-border-node-get-colors">gsk_border_node_get_colors</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>

<row><entry role="function_type"><link linkend="GskRenderNode"><returnvalue>GskRenderNode</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="gsk-inset-shadow-node-new">gsk_inset_shadow_node_new</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type">const <link linkend="GskRoundedRect"><returnvalue>GskRoundedRect</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="gsk-inset-shadow-node-get-outline">gsk_inset_shadow_node_get_outline</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type">const <link linkend="GdkRGBA"><returnvalue>GdkRGBA</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="gsk-inset-shadow-node-get-color">gsk_inset_shadow_node_get_color</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="float"><returnvalue>float</returnvalue></link>
</entry><entry role="function_name"><link linkend="gsk-inset-shadow-node-get-dx">gsk_inset_shadow_node_get_dx</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="float"><returnvalue>float</returnvalue></link>
</entry><entry role="function_name"><link linkend="gsk-inset-shadow-node-get-dy">gsk_inset_shadow_node_get_dy</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="float"><returnvalue>float</returnvalue></link>
</entry><entry role="function_name"><link linkend="gsk-inset-shadow-node-get-spread">gsk_inset_shadow_node_get_spread</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="float"><returnvalue>float</returnvalue></link>
</entry><entry role="function_name"><link linkend="gsk-inset-shadow-node-get-blur-radius">gsk_inset_shadow_node_get_blur_radius</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>

<row><entry role="function_type"><link linkend="GskRenderNode"><returnvalue>GskRenderNode</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="gsk-outset-shadow-node-new">gsk_outset_shadow_node_new</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type">const <link linkend="GskRoundedRect"><returnvalue>GskRoundedRect</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="gsk-outset-shadow-node-get-outline">gsk_outset_shadow_node_get_outline</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type">const <link linkend="GdkRGBA"><returnvalue>GdkRGBA</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="gsk-outset-shadow-node-get-color">gsk_outset_shadow_node_get_color</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="float"><returnvalue>float</returnvalue></link>
</entry><entry role="function_name"><link linkend="gsk-outset-shadow-node-get-dx">gsk_outset_shadow_node_get_dx</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="float"><returnvalue>float</returnvalue></link>
</entry><entry role="function_name"><link linkend="gsk-outset-shadow-node-get-dy">gsk_outset_shadow_node_get_dy</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="float"><returnvalue>float</returnvalue></link>
</entry><entry role="function_name"><link linkend="gsk-outset-shadow-node-get-spread">gsk_outset_shadow_node_get_spread</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="float"><returnvalue>float</returnvalue></link>
</entry><entry role="function_name"><link linkend="gsk-outset-shadow-node-get-blur-radius">gsk_outset_shadow_node_get_blur_radius</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>

<row><entry role="function_type"><link linkend="GskRenderNode"><returnvalue>GskRenderNode</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="gsk-cairo-node-new">gsk_cairo_node_new</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="cairo-t"><returnvalue>cairo_t</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="gsk-cairo-node-get-draw-context">gsk_cairo_node_get_draw_context</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="cairo-surface-t"><returnvalue>cairo_surface_t</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="gsk-cairo-node-get-surface">gsk_cairo_node_get_surface</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>

<row><entry role="function_type"><link linkend="GskRenderNode"><returnvalue>GskRenderNode</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="gsk-container-node-new">gsk_container_node_new</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="guint"><returnvalue>guint</returnvalue></link>
</entry><entry role="function_name"><link linkend="gsk-container-node-get-n-children">gsk_container_node_get_n_children</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="GskRenderNode"><returnvalue>GskRenderNode</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="gsk-container-node-get-child">gsk_container_node_get_child</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>

<row><entry role="function_type"><link linkend="GskRenderNode"><returnvalue>GskRenderNode</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="gsk-transform-node-new">gsk_transform_node_new</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="GskRenderNode"><returnvalue>GskRenderNode</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="gsk-transform-node-get-child">gsk_transform_node_get_child</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="GskTransform"><returnvalue>GskTransform</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="gsk-transform-node-get-transform">gsk_transform_node_get_transform</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>

<row><entry role="function_type"><link linkend="GskRenderNode"><returnvalue>GskRenderNode</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="gsk-opacity-node-new">gsk_opacity_node_new</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="GskRenderNode"><returnvalue>GskRenderNode</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="gsk-opacity-node-get-child">gsk_opacity_node_get_child</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="float"><returnvalue>float</returnvalue></link>
</entry><entry role="function_name"><link linkend="gsk-opacity-node-get-opacity">gsk_opacity_node_get_opacity</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>

<row><entry role="function_type"><link linkend="GskRenderNode"><returnvalue>GskRenderNode</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="gsk-color-matrix-node-new">gsk_color_matrix_node_new</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="GskRenderNode"><returnvalue>GskRenderNode</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="gsk-color-matrix-node-get-child">gsk_color_matrix_node_get_child</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type">const <link linkend="graphene-matrix-t"><returnvalue>graphene_matrix_t</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="gsk-color-matrix-node-get-color-matrix">gsk_color_matrix_node_get_color_matrix</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type">const <link linkend="graphene-vec4-t"><returnvalue>graphene_vec4_t</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="gsk-color-matrix-node-get-color-offset">gsk_color_matrix_node_get_color_offset</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>

<row><entry role="function_type"><link linkend="GskRenderNode"><returnvalue>GskRenderNode</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="gsk-repeat-node-new">gsk_repeat_node_new</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="GskRenderNode"><returnvalue>GskRenderNode</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="gsk-repeat-node-get-child">gsk_repeat_node_get_child</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type">const <link linkend="graphene-rect-t"><returnvalue>graphene_rect_t</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="gsk-repeat-node-get-child-bounds">gsk_repeat_node_get_child_bounds</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>

<row><entry role="function_type"><link linkend="GskRenderNode"><returnvalue>GskRenderNode</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="gsk-clip-node-new">gsk_clip_node_new</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="GskRenderNode"><returnvalue>GskRenderNode</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="gsk-clip-node-get-child">gsk_clip_node_get_child</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type">const <link linkend="graphene-rect-t"><returnvalue>graphene_rect_t</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="gsk-clip-node-get-clip">gsk_clip_node_get_clip</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>

<row><entry role="function_type"><link linkend="GskRenderNode"><returnvalue>GskRenderNode</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="gsk-rounded-clip-node-new">gsk_rounded_clip_node_new</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="GskRenderNode"><returnvalue>GskRenderNode</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="gsk-rounded-clip-node-get-child">gsk_rounded_clip_node_get_child</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type">const <link linkend="GskRoundedRect"><returnvalue>GskRoundedRect</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="gsk-rounded-clip-node-get-clip">gsk_rounded_clip_node_get_clip</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>

<row><entry role="function_type"><link linkend="GskRenderNode"><returnvalue>GskRenderNode</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="gsk-shadow-node-new">gsk_shadow_node_new</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type">const <link linkend="GskShadow"><returnvalue>GskShadow</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="gsk-shadow-node-get-shadow">gsk_shadow_node_get_shadow</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="gsize"><returnvalue>gsize</returnvalue></link>
</entry><entry role="function_name"><link linkend="gsk-shadow-node-get-n-shadows">gsk_shadow_node_get_n_shadows</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="GskRenderNode"><returnvalue>GskRenderNode</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="gsk-shadow-node-get-child">gsk_shadow_node_get_child</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>

<row><entry role="function_type"><link linkend="GskRenderNode"><returnvalue>GskRenderNode</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="gsk-blend-node-new">gsk_blend_node_new</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="GskRenderNode"><returnvalue>GskRenderNode</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="gsk-blend-node-get-bottom-child">gsk_blend_node_get_bottom_child</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="GskRenderNode"><returnvalue>GskRenderNode</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="gsk-blend-node-get-top-child">gsk_blend_node_get_top_child</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="GskBlendMode"><returnvalue>GskBlendMode</returnvalue></link>
</entry><entry role="function_name"><link linkend="gsk-blend-node-get-blend-mode">gsk_blend_node_get_blend_mode</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>

<row><entry role="function_type"><link linkend="GskRenderNode"><returnvalue>GskRenderNode</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="gsk-cross-fade-node-new">gsk_cross_fade_node_new</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="GskRenderNode"><returnvalue>GskRenderNode</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="gsk-cross-fade-node-get-start-child">gsk_cross_fade_node_get_start_child</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="GskRenderNode"><returnvalue>GskRenderNode</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="gsk-cross-fade-node-get-end-child">gsk_cross_fade_node_get_end_child</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="float"><returnvalue>float</returnvalue></link>
</entry><entry role="function_name"><link linkend="gsk-cross-fade-node-get-progress">gsk_cross_fade_node_get_progress</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>

<row><entry role="function_type"><link linkend="GskRenderNode"><returnvalue>GskRenderNode</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="gsk-text-node-new">gsk_text_node_new</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="PangoFont"><returnvalue>PangoFont</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="gsk-text-node-get-font">gsk_text_node_get_font</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type">const <link linkend="PangoGlyphInfo"><returnvalue>PangoGlyphInfo</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="gsk-text-node-get-glyphs">gsk_text_node_get_glyphs</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type">const <link linkend="GdkRGBA"><returnvalue>GdkRGBA</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="gsk-text-node-get-color">gsk_text_node_get_color</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
</entry><entry role="function_name"><link linkend="gsk-text-node-has-color-glyphs">gsk_text_node_has_color_glyphs</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="guint"><returnvalue>guint</returnvalue></link>
</entry><entry role="function_name"><link linkend="gsk-text-node-get-num-glyphs">gsk_text_node_get_num_glyphs</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type">const <link linkend="graphene-point-t"><returnvalue>graphene_point_t</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="gsk-text-node-get-offset">gsk_text_node_get_offset</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>

<row><entry role="function_type"><link linkend="GskRenderNode"><returnvalue>GskRenderNode</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="gsk-blur-node-new">gsk_blur_node_new</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="GskRenderNode"><returnvalue>GskRenderNode</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="gsk-blur-node-get-child">gsk_blur_node_get_child</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="float"><returnvalue>float</returnvalue></link>
</entry><entry role="function_name"><link linkend="gsk-blur-node-get-radius">gsk_blur_node_get_radius</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>

<row><entry role="function_type"><link linkend="GskRenderNode"><returnvalue>GskRenderNode</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="gsk-debug-node-new">gsk_debug_node_new</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="GskRenderNode"><returnvalue>GskRenderNode</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="gsk-debug-node-get-child">gsk_debug_node_get_child</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type">const <link linkend="char"><returnvalue>char</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="gsk-debug-node-get-message">gsk_debug_node_get_message</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>

<row><entry role="function_type"><link linkend="GskRenderNode"><returnvalue>GskRenderNode</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="gsk-gl-shader-node-new">gsk_gl_shader_node_new</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="guint"><returnvalue>guint</returnvalue></link>
</entry><entry role="function_name"><link linkend="gsk-gl-shader-node-get-n-children">gsk_gl_shader_node_get_n_children</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="GskRenderNode"><returnvalue>GskRenderNode</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="gsk-gl-shader-node-get-child">gsk_gl_shader_node_get_child</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="GBytes"><returnvalue>GBytes</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="gsk-gl-shader-node-get-args">gsk_gl_shader_node_get_args</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="GskGLShader"><returnvalue>GskGLShader</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="gsk-gl-shader-node-get-shader">gsk_gl_shader_node_get_shader</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>

</tbody>
</tgroup>
</informaltable>
</refsect1>
<refsect1 id="GskRenderNode.other" role="other_proto">
<title role="other_proto.title">Types and Values</title>
<informaltable pgwide="1" frame="none">
<tgroup cols="2">
<colspec colname="other_proto_type" colwidth="150px"/>
<colspec colname="other_proto_name"/>
<tbody>
<row><entry role="datatype_keyword"></entry><entry role="function_name"><link linkend="GskRenderNode-struct">GskRenderNode</link></entry></row>
<row><entry role="datatype_keyword"></entry><entry role="function_name"><link linkend="GskBlendNode">GskBlendNode</link></entry></row>
<row><entry role="datatype_keyword"></entry><entry role="function_name"><link linkend="GskBlurNode">GskBlurNode</link></entry></row>
<row><entry role="datatype_keyword"></entry><entry role="function_name"><link linkend="GskBorderNode">GskBorderNode</link></entry></row>
<row><entry role="datatype_keyword"></entry><entry role="function_name"><link linkend="GskCairoNode">GskCairoNode</link></entry></row>
<row><entry role="datatype_keyword"></entry><entry role="function_name"><link linkend="GskClipNode">GskClipNode</link></entry></row>
<row><entry role="datatype_keyword"></entry><entry role="function_name"><link linkend="GskColorMatrixNode">GskColorMatrixNode</link></entry></row>
<row><entry role="datatype_keyword"></entry><entry role="function_name"><link linkend="GskColorNode">GskColorNode</link></entry></row>
<row><entry role="datatype_keyword"></entry><entry role="function_name"><link linkend="GskConicGradientNode">GskConicGradientNode</link></entry></row>
<row><entry role="datatype_keyword"></entry><entry role="function_name"><link linkend="GskContainerNode">GskContainerNode</link></entry></row>
<row><entry role="datatype_keyword"></entry><entry role="function_name"><link linkend="GskCrossFadeNode">GskCrossFadeNode</link></entry></row>
<row><entry role="datatype_keyword"></entry><entry role="function_name"><link linkend="GskDebugNode">GskDebugNode</link></entry></row>
<row><entry role="datatype_keyword"></entry><entry role="function_name"><link linkend="GskInsetShadowNode">GskInsetShadowNode</link></entry></row>
<row><entry role="datatype_keyword"></entry><entry role="function_name"><link linkend="GskLinearGradientNode">GskLinearGradientNode</link></entry></row>
<row><entry role="datatype_keyword"></entry><entry role="function_name"><link linkend="GskRadialGradientNode">GskRadialGradientNode</link></entry></row>
<row><entry role="datatype_keyword"></entry><entry role="function_name"><link linkend="GskOpacityNode">GskOpacityNode</link></entry></row>
<row><entry role="datatype_keyword"></entry><entry role="function_name"><link linkend="GskOutsetShadowNode">GskOutsetShadowNode</link></entry></row>
<row><entry role="datatype_keyword"></entry><entry role="function_name"><link linkend="GskRepeatingLinearGradientNode">GskRepeatingLinearGradientNode</link></entry></row>
<row><entry role="datatype_keyword"></entry><entry role="function_name"><link linkend="GskRepeatingRadialGradientNode">GskRepeatingRadialGradientNode</link></entry></row>
<row><entry role="datatype_keyword"></entry><entry role="function_name"><link linkend="GskRepeatNode">GskRepeatNode</link></entry></row>
<row><entry role="datatype_keyword"></entry><entry role="function_name"><link linkend="GskRoundedClipNode">GskRoundedClipNode</link></entry></row>
<row><entry role="datatype_keyword"></entry><entry role="function_name"><link linkend="GskShadowNode">GskShadowNode</link></entry></row>
<row><entry role="datatype_keyword"></entry><entry role="function_name"><link linkend="GskTextNode">GskTextNode</link></entry></row>
<row><entry role="datatype_keyword"></entry><entry role="function_name"><link linkend="GskTextureNode">GskTextureNode</link></entry></row>
<row><entry role="datatype_keyword"></entry><entry role="function_name"><link linkend="GskTransformNode">GskTransformNode</link></entry></row>
<row><entry role="datatype_keyword"></entry><entry role="function_name"><link linkend="GskGLShaderNode">GskGLShaderNode</link></entry></row>
<row><entry role="datatype_keyword">enum</entry><entry role="function_name"><link linkend="GskRenderNodeType">GskRenderNodeType</link></entry></row>
<row><entry role="datatype_keyword">enum</entry><entry role="function_name"><link linkend="GskSerializationError">GskSerializationError</link></entry></row>
<row><entry role="datatype_keyword">struct</entry><entry role="function_name"><link linkend="GskParseLocation">GskParseLocation</link></entry></row>
<row><entry role="datatype_keyword">enum</entry><entry role="function_name"><link linkend="GskScalingFilter">GskScalingFilter</link></entry></row>


<row><entry role="datatype_keyword">struct</entry><entry role="function_name"><link linkend="GskColorStop">GskColorStop</link></entry></row>














<row><entry role="datatype_keyword">struct</entry><entry role="function_name"><link linkend="GskShadow">GskShadow</link></entry></row>

<row><entry role="datatype_keyword">enum</entry><entry role="function_name"><link linkend="GskBlendMode">GskBlendMode</link></entry></row>

</tbody>
</tgroup>
</informaltable>
</refsect1>
<refsect1 id="GskRenderNode.object-hierarchy" role="object_hierarchy">
<title role="object_hierarchy.title">Object Hierarchy</title>
<screen>    GskRenderNode
</screen>
</refsect1>


<refsect1 id="GskRenderNode.description" role="desc">
<title role="desc.title">Description</title>
<para><link linkend="GskRenderNode"><type>GskRenderNode</type></link> is the basic block in a scene graph to be
rendered using <link linkend="GskRenderer"><type>GskRenderer</type></link>.</para>
<para>Each node has a parent, except the top-level node; each node may have
children nodes.</para>
<para>Each node has an associated drawing surface, which has the size of
the rectangle set using <link linkend="gsk-render-node-set-bounds"><function>gsk_render_node_set_bounds()</function></link>.</para>
<para>Render nodes are meant to be transient; once they have been associated
to a <link linkend="GskRenderer"><type>GskRenderer</type></link> it's safe to release any reference you have on them.
All <link linkend="GskRenderNodes"><type>GskRenderNodes</type></link> are immutable, you can only specify their properties
during construction.</para>

</refsect1>
<refsect1 id="GskRenderNode.functions_details" role="details">
<title role="details.title">Functions</title>
<refsect2 id="gsk-render-node-ref" role="function">
<title>gsk_render_node_ref&#160;()</title>
<indexterm zone="gsk-render-node-ref"><primary>gsk_render_node_ref</primary></indexterm>
<programlisting language="C"><link linkend="GskRenderNode"><returnvalue>GskRenderNode</returnvalue></link>&#160;*
gsk_render_node_ref (<parameter><link linkend="GskRenderNode"><type>GskRenderNode</type></link> *node</parameter>);</programlisting>
<para>Acquires a reference on the given <link linkend="GskRenderNode"><type>GskRenderNode</type></link>.</para>
<refsect3 id="gsk-render-node-ref.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>node</para></entry>
<entry role="parameter_description"><para>a <link linkend="GskRenderNode"><type>GskRenderNode</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gsk-render-node-ref.returns" role="returns">
<title>Returns</title>
<para>the <link linkend="GskRenderNode"><type>GskRenderNode</type></link> with an additional reference. </para>
<para><emphasis role="annotation">[<acronym>transfer full</acronym>]</emphasis></para>
</refsect3></refsect2>
<refsect2 id="gsk-render-node-unref" role="function">
<title>gsk_render_node_unref&#160;()</title>
<indexterm zone="gsk-render-node-unref"><primary>gsk_render_node_unref</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gsk_render_node_unref (<parameter><link linkend="GskRenderNode"><type>GskRenderNode</type></link> *node</parameter>);</programlisting>
<para>Releases a reference on the given <link linkend="GskRenderNode"><type>GskRenderNode</type></link>.</para>
<para>If the reference was the last, the resources associated to the <parameter>node</parameter>
 are
freed.</para>
<refsect3 id="gsk-render-node-unref.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>node</para></entry>
<entry role="parameter_description"><para>a <link linkend="GskRenderNode"><type>GskRenderNode</type></link>. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>transfer full</acronym>]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gsk-render-node-get-node-type" role="function">
<title>gsk_render_node_get_node_type&#160;()</title>
<indexterm zone="gsk-render-node-get-node-type"><primary>gsk_render_node_get_node_type</primary></indexterm>
<programlisting language="C"><link linkend="GskRenderNodeType"><returnvalue>GskRenderNodeType</returnvalue></link>
gsk_render_node_get_node_type (<parameter><link linkend="GskRenderNode"><type>GskRenderNode</type></link> *node</parameter>);</programlisting>
<para>Returns the type of the <parameter>node</parameter>
.</para>
<refsect3 id="gsk-render-node-get-node-type.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>node</para></entry>
<entry role="parameter_description"><para>a <link linkend="GskRenderNode"><type>GskRenderNode</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gsk-render-node-get-node-type.returns" role="returns">
<title>Returns</title>
<para> the type of the <link linkend="GskRenderNode"><type>GskRenderNode</type></link></para>
</refsect3></refsect2>
<refsect2 id="gsk-render-node-draw" role="function">
<title>gsk_render_node_draw&#160;()</title>
<indexterm zone="gsk-render-node-draw"><primary>gsk_render_node_draw</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gsk_render_node_draw (<parameter><link linkend="GskRenderNode"><type>GskRenderNode</type></link> *node</parameter>,
                      <parameter><link linkend="cairo-t"><type>cairo_t</type></link> *cr</parameter>);</programlisting>
<para>Draw the contents of <parameter>node</parameter>
 to the given cairo context.</para>
<para>Typically, you'll use this function to implement fallback rendering
of <link linkend="GskRenderNodes"><type>GskRenderNodes</type></link> on an intermediate Cairo context, instead of using
the drawing context associated to a <link linkend="GdkSurface"><type>GdkSurface</type></link>'s rendering buffer.</para>
<para>For advanced nodes that cannot be supported using Cairo, in particular
for nodes doing 3D operations, this function may fail.</para>
<refsect3 id="gsk-render-node-draw.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>node</para></entry>
<entry role="parameter_description"><para>a <link linkend="GskRenderNode"><type>GskRenderNode</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>cr</para></entry>
<entry role="parameter_description"><para>cairo context to draw to</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="GskParseErrorFunc" role="function">
<title>GskParseErrorFunc&#160;()</title>
<indexterm zone="GskParseErrorFunc"><primary>GskParseErrorFunc</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
<phrase role="c_punctuation">(</phrase>*GskParseErrorFunc<phrase role="c_punctuation">)</phrase> (<parameter>const <link linkend="GskParseLocation"><type>GskParseLocation</type></link> *start</parameter>,
                      <parameter>const <link linkend="GskParseLocation"><type>GskParseLocation</type></link> *end</parameter>,
                      <parameter>const <link linkend="GError"><type>GError</type></link> *error</parameter>,
                      <parameter><link linkend="gpointer"><type>gpointer</type></link> user_data</parameter>);</programlisting>
<para>The type of callback that is called when a parse error occurs
during deserialization of node data.</para>
<refsect3 id="GskParseErrorFunc.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>start</para></entry>
<entry role="parameter_description"><para>start of the error location</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>end</para></entry>
<entry role="parameter_description"><para>end of the error location</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>error</para></entry>
<entry role="parameter_description"><para>the error</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>user_data</para></entry>
<entry role="parameter_description"><para>user data</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gsk-render-node-serialize" role="function">
<title>gsk_render_node_serialize&#160;()</title>
<indexterm zone="gsk-render-node-serialize"><primary>gsk_render_node_serialize</primary></indexterm>
<programlisting language="C"><link linkend="GBytes"><returnvalue>GBytes</returnvalue></link>&#160;*
gsk_render_node_serialize (<parameter><link linkend="GskRenderNode"><type>GskRenderNode</type></link> *node</parameter>);</programlisting>
<para>Serializes the <parameter>node</parameter>
 for later deserialization via
<link linkend="gsk-render-node-deserialize"><function>gsk_render_node_deserialize()</function></link>. No guarantees are made about the format
used other than that the same version of GTK will be able to deserialize
the result of a call to <link linkend="gsk-render-node-serialize"><function>gsk_render_node_serialize()</function></link> and
<link linkend="gsk-render-node-deserialize"><function>gsk_render_node_deserialize()</function></link> will correctly reject files it cannot open
that were created with previous versions of GTK.</para>
<para>The intended use of this functions is testing, benchmarking and debugging.
The format is not meant as a permanent storage format.</para>
<refsect3 id="gsk-render-node-serialize.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>node</para></entry>
<entry role="parameter_description"><para>a <link linkend="GskRenderNode"><type>GskRenderNode</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gsk-render-node-serialize.returns" role="returns">
<title>Returns</title>
<para> a <link linkend="GBytes"><type>GBytes</type></link> representing the node.</para>
</refsect3></refsect2>
<refsect2 id="gsk-render-node-deserialize" role="function">
<title>gsk_render_node_deserialize&#160;()</title>
<indexterm zone="gsk-render-node-deserialize"><primary>gsk_render_node_deserialize</primary></indexterm>
<programlisting language="C"><link linkend="GskRenderNode"><returnvalue>GskRenderNode</returnvalue></link>&#160;*
gsk_render_node_deserialize (<parameter><link linkend="GBytes"><type>GBytes</type></link> *bytes</parameter>,
                             <parameter><link linkend="GskParseErrorFunc"><type>GskParseErrorFunc</type></link> error_func</parameter>,
                             <parameter><link linkend="gpointer"><type>gpointer</type></link> user_data</parameter>);</programlisting>
<para>Loads data previously created via <link linkend="gsk-render-node-serialize"><function>gsk_render_node_serialize()</function></link>. For a
discussion of the supported format, see that function.</para>
<refsect3 id="gsk-render-node-deserialize.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>bytes</para></entry>
<entry role="parameter_description"><para>the bytes containing the data</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>error_func</para></entry>
<entry role="parameter_description"><para>Callback on parsing errors or <link linkend="NULL:CAPS"><literal>NULL</literal></link>. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>nullable</acronym>][<acronym>scope call</acronym>]</emphasis></entry></row>
<row><entry role="parameter_name"><para>user_data</para></entry>
<entry role="parameter_description"><para>user_data for <parameter>error_func</parameter>
. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>closure</acronym> error_func]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gsk-render-node-deserialize.returns" role="returns">
<title>Returns</title>
<para>a new <link linkend="GskRenderNode"><type>GskRenderNode</type></link> or <link linkend="NULL:CAPS"><literal>NULL</literal></link> on
error. </para>
<para><emphasis role="annotation">[<acronym>nullable</acronym>][<acronym>transfer full</acronym>]</emphasis></para>
</refsect3></refsect2>
<refsect2 id="gsk-render-node-write-to-file" role="function">
<title>gsk_render_node_write_to_file&#160;()</title>
<indexterm zone="gsk-render-node-write-to-file"><primary>gsk_render_node_write_to_file</primary></indexterm>
<programlisting language="C"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
gsk_render_node_write_to_file (<parameter><link linkend="GskRenderNode"><type>GskRenderNode</type></link> *node</parameter>,
                               <parameter>const <link linkend="char"><type>char</type></link> *filename</parameter>,
                               <parameter><link linkend="GError"><type>GError</type></link> **error</parameter>);</programlisting>
<para>This function is equivalent to calling <link linkend="gsk-render-node-serialize"><function>gsk_render_node_serialize()</function></link>
followed by <link linkend="g-file-set-contents"><function>g_file_set_contents()</function></link>. See those two functions for details
on the arguments.</para>
<para>It is mostly intended for use inside a debugger to quickly dump a render
node to a file for later inspection.</para>
<refsect3 id="gsk-render-node-write-to-file.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>node</para></entry>
<entry role="parameter_description"><para>a <link linkend="GskRenderNode"><type>GskRenderNode</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>filename</para></entry>
<entry role="parameter_description"><para>the file to save it to.</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>error</para></entry>
<entry role="parameter_description"><para>Return location for a potential error</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gsk-render-node-write-to-file.returns" role="returns">
<title>Returns</title>
<para> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if saving was successful</para>
</refsect3></refsect2>
<refsect2 id="gsk-render-node-get-bounds" role="function">
<title>gsk_render_node_get_bounds&#160;()</title>
<indexterm zone="gsk-render-node-get-bounds"><primary>gsk_render_node_get_bounds</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gsk_render_node_get_bounds (<parameter><link linkend="GskRenderNode"><type>GskRenderNode</type></link> *node</parameter>,
                            <parameter><link linkend="graphene-rect-t"><type>graphene_rect_t</type></link> *bounds</parameter>);</programlisting>
<para>Retrieves the boundaries of the <parameter>node</parameter>
. The node will not draw outside
of its boundaries.</para>
<refsect3 id="gsk-render-node-get-bounds.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>node</para></entry>
<entry role="parameter_description"><para>a <link linkend="GskRenderNode"><type>GskRenderNode</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>bounds</para></entry>
<entry role="parameter_description"><para>return location for the boundaries. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>out caller-allocates</acronym>]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gsk-color-node-new" role="function">
<title>gsk_color_node_new&#160;()</title>
<indexterm zone="gsk-color-node-new"><primary>gsk_color_node_new</primary></indexterm>
<programlisting language="C"><link linkend="GskRenderNode"><returnvalue>GskRenderNode</returnvalue></link>&#160;*
gsk_color_node_new (<parameter>const <link linkend="GdkRGBA"><type>GdkRGBA</type></link> *rgba</parameter>,
                    <parameter>const <link linkend="graphene-rect-t"><type>graphene_rect_t</type></link> *bounds</parameter>);</programlisting>
<para>Creates a <link linkend="GskRenderNode"><type>GskRenderNode</type></link> that will render the color specified by <parameter>rgba</parameter>
 into
the area given by <parameter>bounds</parameter>
.</para>
<refsect3 id="gsk-color-node-new.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>rgba</para></entry>
<entry role="parameter_description"><para>a <link linkend="GdkRGBA"><type>GdkRGBA</type></link> specifying a color</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>bounds</para></entry>
<entry role="parameter_description"><para>the rectangle to render the color into</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gsk-color-node-new.returns" role="returns">
<title>Returns</title>
<para>A new <link linkend="GskRenderNode"><type>GskRenderNode</type></link>. </para>
<para><emphasis role="annotation">[<acronym>transfer full</acronym>][<acronym>type</acronym> GskColorNode]</emphasis></para>
</refsect3></refsect2>
<refsect2 id="gsk-color-node-get-color" role="function">
<title>gsk_color_node_get_color&#160;()</title>
<indexterm zone="gsk-color-node-get-color"><primary>gsk_color_node_get_color</primary></indexterm>
<programlisting language="C">const <link linkend="GdkRGBA"><returnvalue>GdkRGBA</returnvalue></link>&#160;*
gsk_color_node_get_color (<parameter><link linkend="GskRenderNode"><type>GskRenderNode</type></link> *node</parameter>);</programlisting>
<para>Retrieves the color of the given <parameter>node</parameter>
.</para>
<refsect3 id="gsk-color-node-get-color.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>node</para></entry>
<entry role="parameter_description"><para>a <link linkend="GskColorNode"><type>GskColorNode</type></link>. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>type</acronym> GskColorNode]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gsk-color-node-get-color.returns" role="returns">
<title>Returns</title>
<para>the color of the node. </para>
<para><emphasis role="annotation">[<acronym>transfer none</acronym>]</emphasis></para>
</refsect3></refsect2>
<refsect2 id="gsk-texture-node-new" role="function">
<title>gsk_texture_node_new&#160;()</title>
<indexterm zone="gsk-texture-node-new"><primary>gsk_texture_node_new</primary></indexterm>
<programlisting language="C"><link linkend="GskRenderNode"><returnvalue>GskRenderNode</returnvalue></link>&#160;*
gsk_texture_node_new (<parameter><link linkend="GdkTexture"><type>GdkTexture</type></link> *texture</parameter>,
                      <parameter>const <link linkend="graphene-rect-t"><type>graphene_rect_t</type></link> *bounds</parameter>);</programlisting>
<para>Creates a <link linkend="GskRenderNode"><type>GskRenderNode</type></link> that will render the given
<parameter>texture</parameter>
 into the area given by <parameter>bounds</parameter>
.</para>
<refsect3 id="gsk-texture-node-new.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>texture</para></entry>
<entry role="parameter_description"><para>the <link linkend="GdkTexture"><type>GdkTexture</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>bounds</para></entry>
<entry role="parameter_description"><para>the rectangle to render the texture into</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gsk-texture-node-new.returns" role="returns">
<title>Returns</title>
<para>A new <link linkend="GskRenderNode"><type>GskRenderNode</type></link>. </para>
<para><emphasis role="annotation">[<acronym>transfer full</acronym>][<acronym>type</acronym> GskTextureNode]</emphasis></para>
</refsect3></refsect2>
<refsect2 id="gsk-texture-node-get-texture" role="function">
<title>gsk_texture_node_get_texture&#160;()</title>
<indexterm zone="gsk-texture-node-get-texture"><primary>gsk_texture_node_get_texture</primary></indexterm>
<programlisting language="C"><link linkend="GdkTexture"><returnvalue>GdkTexture</returnvalue></link>&#160;*
gsk_texture_node_get_texture (<parameter><link linkend="GskRenderNode"><type>GskRenderNode</type></link> *node</parameter>);</programlisting>
<para>Retrieves the <link linkend="GdkTexture"><type>GdkTexture</type></link> used when creating this <link linkend="GskRenderNode"><type>GskRenderNode</type></link>.</para>
<refsect3 id="gsk-texture-node-get-texture.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>node</para></entry>
<entry role="parameter_description"><para>a <link linkend="GskRenderNode"><type>GskRenderNode</type></link> of type <link linkend="GSK-TEXTURE-NODE:CAPS"><literal>GSK_TEXTURE_NODE</literal></link>. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>type</acronym> GskTextureNode]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gsk-texture-node-get-texture.returns" role="returns">
<title>Returns</title>
<para>the <link linkend="GdkTexture"><type>GdkTexture</type></link>. </para>
<para><emphasis role="annotation">[<acronym>transfer none</acronym>]</emphasis></para>
</refsect3></refsect2>
<refsect2 id="gsk-linear-gradient-node-new" role="function">
<title>gsk_linear_gradient_node_new&#160;()</title>
<indexterm zone="gsk-linear-gradient-node-new"><primary>gsk_linear_gradient_node_new</primary></indexterm>
<programlisting language="C"><link linkend="GskRenderNode"><returnvalue>GskRenderNode</returnvalue></link>&#160;*
gsk_linear_gradient_node_new (<parameter>const <link linkend="graphene-rect-t"><type>graphene_rect_t</type></link> *bounds</parameter>,
                              <parameter>const <link linkend="graphene-point-t"><type>graphene_point_t</type></link> *start</parameter>,
                              <parameter>const <link linkend="graphene-point-t"><type>graphene_point_t</type></link> *end</parameter>,
                              <parameter>const <link linkend="GskColorStop"><type>GskColorStop</type></link> *color_stops</parameter>,
                              <parameter><link linkend="gsize"><type>gsize</type></link> n_color_stops</parameter>);</programlisting>
<para>Creates a <link linkend="GskRenderNode"><type>GskRenderNode</type></link> that will create a linear gradient from the given
points and color stops, and render that into the area given by <parameter>bounds</parameter>
.</para>
<refsect3 id="gsk-linear-gradient-node-new.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>bounds</para></entry>
<entry role="parameter_description"><para>the rectangle to render the linear gradient into</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>start</para></entry>
<entry role="parameter_description"><para>the point at which the linear gradient will begin</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>end</para></entry>
<entry role="parameter_description"><para>the point at which the linear gradient will finish</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>color_stops</para></entry>
<entry role="parameter_description"><para>a pointer to an array of <link linkend="GskColorStop"><type>GskColorStop</type></link> 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. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>array</acronym> length=n_color_stops]</emphasis></entry></row>
<row><entry role="parameter_name"><para>n_color_stops</para></entry>
<entry role="parameter_description"><para>the number of elements in <parameter>color_stops</parameter>
</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gsk-linear-gradient-node-new.returns" role="returns">
<title>Returns</title>
<para>A new <link linkend="GskRenderNode"><type>GskRenderNode</type></link>. </para>
<para><emphasis role="annotation">[<acronym>transfer full</acronym>][<acronym>type</acronym> GskLinearGradientNode]</emphasis></para>
</refsect3></refsect2>
<refsect2 id="gsk-repeating-linear-gradient-node-new" role="function">
<title>gsk_repeating_linear_gradient_node_new&#160;()</title>
<indexterm zone="gsk-repeating-linear-gradient-node-new"><primary>gsk_repeating_linear_gradient_node_new</primary></indexterm>
<programlisting language="C"><link linkend="GskRenderNode"><returnvalue>GskRenderNode</returnvalue></link>&#160;*
gsk_repeating_linear_gradient_node_new
                               (<parameter>const <link linkend="graphene-rect-t"><type>graphene_rect_t</type></link> *bounds</parameter>,
                                <parameter>const <link linkend="graphene-point-t"><type>graphene_point_t</type></link> *start</parameter>,
                                <parameter>const <link linkend="graphene-point-t"><type>graphene_point_t</type></link> *end</parameter>,
                                <parameter>const <link linkend="GskColorStop"><type>GskColorStop</type></link> *color_stops</parameter>,
                                <parameter><link linkend="gsize"><type>gsize</type></link> n_color_stops</parameter>);</programlisting>
<para>Creates a <link linkend="GskRenderNode"><type>GskRenderNode</type></link> that will create a repeating linear gradient
from the given points and color stops, and render that into the area
given by <parameter>bounds</parameter>
.</para>
<refsect3 id="gsk-repeating-linear-gradient-node-new.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>bounds</para></entry>
<entry role="parameter_description"><para>the rectangle to render the linear gradient into</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>start</para></entry>
<entry role="parameter_description"><para>the point at which the linear gradient will begin</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>end</para></entry>
<entry role="parameter_description"><para>the point at which the linear gradient will finish</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>color_stops</para></entry>
<entry role="parameter_description"><para>a pointer to an array of <link linkend="GskColorStop"><type>GskColorStop</type></link> 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. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>array</acronym> length=n_color_stops]</emphasis></entry></row>
<row><entry role="parameter_name"><para>n_color_stops</para></entry>
<entry role="parameter_description"><para>the number of elements in <parameter>color_stops</parameter>
</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gsk-repeating-linear-gradient-node-new.returns" role="returns">
<title>Returns</title>
<para>A new <link linkend="GskRenderNode"><type>GskRenderNode</type></link>. </para>
<para><emphasis role="annotation">[<acronym>transfer full</acronym>][<acronym>type</acronym> GskRepeatingLinearGradientNode]</emphasis></para>
</refsect3></refsect2>
<refsect2 id="gsk-linear-gradient-node-get-start" role="function">
<title>gsk_linear_gradient_node_get_start&#160;()</title>
<indexterm zone="gsk-linear-gradient-node-get-start"><primary>gsk_linear_gradient_node_get_start</primary></indexterm>
<programlisting language="C">const <link linkend="graphene-point-t"><returnvalue>graphene_point_t</returnvalue></link>&#160;*
gsk_linear_gradient_node_get_start (<parameter><link linkend="GskRenderNode"><type>GskRenderNode</type></link> *node</parameter>);</programlisting>
<para>Retrieves the initial point of the linear gradient.</para>
<refsect3 id="gsk-linear-gradient-node-get-start.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>node</para></entry>
<entry role="parameter_description"><para>a <link linkend="GskRenderNode"><type>GskRenderNode</type></link> for a linear gradient. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>type</acronym> GskLinearGradientNode]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gsk-linear-gradient-node-get-start.returns" role="returns">
<title>Returns</title>
<para>the initial point. </para>
<para><emphasis role="annotation">[<acronym>transfer none</acronym>]</emphasis></para>
</refsect3></refsect2>
<refsect2 id="gsk-linear-gradient-node-get-end" role="function">
<title>gsk_linear_gradient_node_get_end&#160;()</title>
<indexterm zone="gsk-linear-gradient-node-get-end"><primary>gsk_linear_gradient_node_get_end</primary></indexterm>
<programlisting language="C">const <link linkend="graphene-point-t"><returnvalue>graphene_point_t</returnvalue></link>&#160;*
gsk_linear_gradient_node_get_end (<parameter><link linkend="GskRenderNode"><type>GskRenderNode</type></link> *node</parameter>);</programlisting>
<para>Retrieves the final point of the linear gradient.</para>
<refsect3 id="gsk-linear-gradient-node-get-end.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>node</para></entry>
<entry role="parameter_description"><para>a <link linkend="GskRenderNode"><type>GskRenderNode</type></link> for a linear gradient. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>type</acronym> GskLinearGradientNode]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gsk-linear-gradient-node-get-end.returns" role="returns">
<title>Returns</title>
<para>the final point. </para>
<para><emphasis role="annotation">[<acronym>transfer none</acronym>]</emphasis></para>
</refsect3></refsect2>
<refsect2 id="gsk-linear-gradient-node-get-n-color-stops" role="function">
<title>gsk_linear_gradient_node_get_n_color_stops&#160;()</title>
<indexterm zone="gsk-linear-gradient-node-get-n-color-stops"><primary>gsk_linear_gradient_node_get_n_color_stops</primary></indexterm>
<programlisting language="C"><link linkend="gsize"><returnvalue>gsize</returnvalue></link>
gsk_linear_gradient_node_get_n_color_stops
                               (<parameter><link linkend="GskRenderNode"><type>GskRenderNode</type></link> *node</parameter>);</programlisting>
<para>Retrieves the number of color stops in the gradient.</para>
<refsect3 id="gsk-linear-gradient-node-get-n-color-stops.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>node</para></entry>
<entry role="parameter_description"><para>a <link linkend="GskRenderNode"><type>GskRenderNode</type></link> for a linear gradient. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>type</acronym> GskLinearGradientNode]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gsk-linear-gradient-node-get-n-color-stops.returns" role="returns">
<title>Returns</title>
<para> the number of color stops</para>
</refsect3></refsect2>
<refsect2 id="gsk-linear-gradient-node-get-color-stops" role="function">
<title>gsk_linear_gradient_node_get_color_stops&#160;()</title>
<indexterm zone="gsk-linear-gradient-node-get-color-stops"><primary>gsk_linear_gradient_node_get_color_stops</primary></indexterm>
<programlisting language="C">const <link linkend="GskColorStop"><returnvalue>GskColorStop</returnvalue></link>&#160;*
gsk_linear_gradient_node_get_color_stops
                               (<parameter><link linkend="GskRenderNode"><type>GskRenderNode</type></link> *node</parameter>,
                                <parameter><link linkend="gsize"><type>gsize</type></link> *n_stops</parameter>);</programlisting>
<para>Retrieves the color stops in the gradient.</para>
<refsect3 id="gsk-linear-gradient-node-get-color-stops.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>node</para></entry>
<entry role="parameter_description"><para>a <link linkend="GskRenderNode"><type>GskRenderNode</type></link> for a linear gradient. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>type</acronym> GskLinearGradientNode]</emphasis></entry></row>
<row><entry role="parameter_name"><para>n_stops</para></entry>
<entry role="parameter_description"><para>the number of color stops in the returned array. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>out</acronym>][<acronym>optional</acronym>]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gsk-linear-gradient-node-get-color-stops.returns" role="returns">
<title>Returns</title>
<para>the color stops in the gradient. </para>
<para><emphasis role="annotation">[<acronym>array</acronym> length=n_stops]</emphasis></para>
</refsect3></refsect2>
<refsect2 id="gsk-radial-gradient-node-new" role="function">
<title>gsk_radial_gradient_node_new&#160;()</title>
<indexterm zone="gsk-radial-gradient-node-new"><primary>gsk_radial_gradient_node_new</primary></indexterm>
<programlisting language="C"><link linkend="GskRenderNode"><returnvalue>GskRenderNode</returnvalue></link>&#160;*
gsk_radial_gradient_node_new (<parameter>const <link linkend="graphene-rect-t"><type>graphene_rect_t</type></link> *bounds</parameter>,
                              <parameter>const <link linkend="graphene-point-t"><type>graphene_point_t</type></link> *center</parameter>,
                              <parameter><link linkend="float"><type>float</type></link> hradius</parameter>,
                              <parameter><link linkend="float"><type>float</type></link> vradius</parameter>,
                              <parameter><link linkend="float"><type>float</type></link> start</parameter>,
                              <parameter><link linkend="float"><type>float</type></link> end</parameter>,
                              <parameter>const <link linkend="GskColorStop"><type>GskColorStop</type></link> *color_stops</parameter>,
                              <parameter><link linkend="gsize"><type>gsize</type></link> n_color_stops</parameter>);</programlisting>
<para>Creates a <link linkend="GskRenderNode"><type>GskRenderNode</type></link> that draws a radial gradient. The radial gradient
starts around <parameter>center</parameter>
. The size of the gradient is dictated by <parameter>hradius</parameter>

in horizontal orientation and by <parameter>vradius</parameter>
 in vertial orientation.</para>
<refsect3 id="gsk-radial-gradient-node-new.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>bounds</para></entry>
<entry role="parameter_description"><para>the bounds of the node</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>center</para></entry>
<entry role="parameter_description"><para>the center of the gradient</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>hradius</para></entry>
<entry role="parameter_description"><para>the horizontal radius</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>vradius</para></entry>
<entry role="parameter_description"><para>the vertical radius</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>start</para></entry>
<entry role="parameter_description"><para>a percentage &gt;= 0 that defines the start of the gradient around <parameter>center</parameter>
</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>end</para></entry>
<entry role="parameter_description"><para>a percentage &gt;= 0 that defines the end of the gradient around <parameter>center</parameter>
</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>color_stops</para></entry>
<entry role="parameter_description"><para>a pointer to an array of <link linkend="GskColorStop"><type>GskColorStop</type></link> 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. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>array</acronym> length=n_color_stops]</emphasis></entry></row>
<row><entry role="parameter_name"><para>n_color_stops</para></entry>
<entry role="parameter_description"><para>the number of elements in <parameter>color_stops</parameter>
</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gsk-radial-gradient-node-new.returns" role="returns">
<title>Returns</title>
<para>A new <link linkend="GskRenderNode"><type>GskRenderNode</type></link>. </para>
<para><emphasis role="annotation">[<acronym>transfer full</acronym>][<acronym>type</acronym> GskRadialGradientNode]</emphasis></para>
</refsect3></refsect2>
<refsect2 id="gsk-repeating-radial-gradient-node-new" role="function">
<title>gsk_repeating_radial_gradient_node_new&#160;()</title>
<indexterm zone="gsk-repeating-radial-gradient-node-new"><primary>gsk_repeating_radial_gradient_node_new</primary></indexterm>
<programlisting language="C"><link linkend="GskRenderNode"><returnvalue>GskRenderNode</returnvalue></link>&#160;*
gsk_repeating_radial_gradient_node_new
                               (<parameter>const <link linkend="graphene-rect-t"><type>graphene_rect_t</type></link> *bounds</parameter>,
                                <parameter>const <link linkend="graphene-point-t"><type>graphene_point_t</type></link> *center</parameter>,
                                <parameter><link linkend="float"><type>float</type></link> hradius</parameter>,
                                <parameter><link linkend="float"><type>float</type></link> vradius</parameter>,
                                <parameter><link linkend="float"><type>float</type></link> start</parameter>,
                                <parameter><link linkend="float"><type>float</type></link> end</parameter>,
                                <parameter>const <link linkend="GskColorStop"><type>GskColorStop</type></link> *color_stops</parameter>,
                                <parameter><link linkend="gsize"><type>gsize</type></link> n_color_stops</parameter>);</programlisting>
<para>Creates a <link linkend="GskRenderNode"><type>GskRenderNode</type></link> that draws a repeating radial gradient. The radial gradient
starts around <parameter>center</parameter>
. The size of the gradient is dictated by <parameter>hradius</parameter>

in horizontal orientation and by <parameter>vradius</parameter>
 in vertial orientation.</para>
<refsect3 id="gsk-repeating-radial-gradient-node-new.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>bounds</para></entry>
<entry role="parameter_description"><para>the bounds of the node</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>center</para></entry>
<entry role="parameter_description"><para>the center of the gradient</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>hradius</para></entry>
<entry role="parameter_description"><para>the horizontal radius</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>vradius</para></entry>
<entry role="parameter_description"><para>the vertical radius</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>start</para></entry>
<entry role="parameter_description"><para>a percentage &gt;= 0 that defines the start of the gradient around <parameter>center</parameter>
</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>end</para></entry>
<entry role="parameter_description"><para>a percentage &gt;= 0 that defines the end of the gradient around <parameter>center</parameter>
</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>color_stops</para></entry>
<entry role="parameter_description"><para>a pointer to an array of <link linkend="GskColorStop"><type>GskColorStop</type></link> 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. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>array</acronym> length=n_color_stops]</emphasis></entry></row>
<row><entry role="parameter_name"><para>n_color_stops</para></entry>
<entry role="parameter_description"><para>the number of elements in <parameter>color_stops</parameter>
</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gsk-repeating-radial-gradient-node-new.returns" role="returns">
<title>Returns</title>
<para>A new <link linkend="GskRenderNode"><type>GskRenderNode</type></link>. </para>
<para><emphasis role="annotation">[<acronym>transfer full</acronym>][<acronym>type</acronym> GskRepeatingRadialGradientNode]</emphasis></para>
</refsect3></refsect2>
<refsect2 id="gsk-radial-gradient-node-get-n-color-stops" role="function">
<title>gsk_radial_gradient_node_get_n_color_stops&#160;()</title>
<indexterm zone="gsk-radial-gradient-node-get-n-color-stops"><primary>gsk_radial_gradient_node_get_n_color_stops</primary></indexterm>
<programlisting language="C"><link linkend="gsize"><returnvalue>gsize</returnvalue></link>
gsk_radial_gradient_node_get_n_color_stops
                               (<parameter><link linkend="GskRenderNode"><type>GskRenderNode</type></link> *node</parameter>);</programlisting>
<para>Retrieves the number of color stops in the gradient.</para>
<refsect3 id="gsk-radial-gradient-node-get-n-color-stops.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>node</para></entry>
<entry role="parameter_description"><para>a <link linkend="GskRenderNode"><type>GskRenderNode</type></link> for a radial gradient. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>type</acronym> GskRadialGradientNode]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gsk-radial-gradient-node-get-n-color-stops.returns" role="returns">
<title>Returns</title>
<para> the number of color stops</para>
</refsect3></refsect2>
<refsect2 id="gsk-radial-gradient-node-get-color-stops" role="function">
<title>gsk_radial_gradient_node_get_color_stops&#160;()</title>
<indexterm zone="gsk-radial-gradient-node-get-color-stops"><primary>gsk_radial_gradient_node_get_color_stops</primary></indexterm>
<programlisting language="C">const <link linkend="GskColorStop"><returnvalue>GskColorStop</returnvalue></link>&#160;*
gsk_radial_gradient_node_get_color_stops
                               (<parameter><link linkend="GskRenderNode"><type>GskRenderNode</type></link> *node</parameter>,
                                <parameter><link linkend="gsize"><type>gsize</type></link> *n_stops</parameter>);</programlisting>
<para>Retrieves the color stops in the gradient.</para>
<refsect3 id="gsk-radial-gradient-node-get-color-stops.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>node</para></entry>
<entry role="parameter_description"><para>a <link linkend="GskRenderNode"><type>GskRenderNode</type></link> for a radial gradient. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>type</acronym> GskRadialGradientNode]</emphasis></entry></row>
<row><entry role="parameter_name"><para>n_stops</para></entry>
<entry role="parameter_description"><para>the number of color stops in the returned array. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>out</acronym>][<acronym>optional</acronym>]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gsk-radial-gradient-node-get-color-stops.returns" role="returns">
<title>Returns</title>
<para>the color stops in the gradient. </para>
<para><emphasis role="annotation">[<acronym>array</acronym> length=n_stops]</emphasis></para>
</refsect3></refsect2>
<refsect2 id="gsk-radial-gradient-node-get-start" role="function">
<title>gsk_radial_gradient_node_get_start&#160;()</title>
<indexterm zone="gsk-radial-gradient-node-get-start"><primary>gsk_radial_gradient_node_get_start</primary></indexterm>
<programlisting language="C"><link linkend="float"><returnvalue>float</returnvalue></link>
gsk_radial_gradient_node_get_start (<parameter><link linkend="GskRenderNode"><type>GskRenderNode</type></link> *node</parameter>);</programlisting>
<para>Retrieves the start value for the gradient.</para>
<refsect3 id="gsk-radial-gradient-node-get-start.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>node</para></entry>
<entry role="parameter_description"><para>a <link linkend="GskRenderNode"><type>GskRenderNode</type></link> for a radial gradient. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>type</acronym> GskRadialGradientNode]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gsk-radial-gradient-node-get-start.returns" role="returns">
<title>Returns</title>
<para> the start value for the gradient</para>
</refsect3></refsect2>
<refsect2 id="gsk-radial-gradient-node-get-end" role="function">
<title>gsk_radial_gradient_node_get_end&#160;()</title>
<indexterm zone="gsk-radial-gradient-node-get-end"><primary>gsk_radial_gradient_node_get_end</primary></indexterm>
<programlisting language="C"><link linkend="float"><returnvalue>float</returnvalue></link>
gsk_radial_gradient_node_get_end (<parameter><link linkend="GskRenderNode"><type>GskRenderNode</type></link> *node</parameter>);</programlisting>
<para>Retrieves the end value for the gradient.</para>
<refsect3 id="gsk-radial-gradient-node-get-end.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>node</para></entry>
<entry role="parameter_description"><para>a <link linkend="GskRenderNode"><type>GskRenderNode</type></link> for a radial gradient. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>type</acronym> GskRadialGradientNode]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gsk-radial-gradient-node-get-end.returns" role="returns">
<title>Returns</title>
<para> the end value for the gradient</para>
</refsect3></refsect2>
<refsect2 id="gsk-radial-gradient-node-get-hradius" role="function">
<title>gsk_radial_gradient_node_get_hradius&#160;()</title>
<indexterm zone="gsk-radial-gradient-node-get-hradius"><primary>gsk_radial_gradient_node_get_hradius</primary></indexterm>
<programlisting language="C"><link linkend="float"><returnvalue>float</returnvalue></link>
gsk_radial_gradient_node_get_hradius (<parameter><link linkend="GskRenderNode"><type>GskRenderNode</type></link> *node</parameter>);</programlisting>
<para>Retrieves the horizonal radius for the gradient.</para>
<refsect3 id="gsk-radial-gradient-node-get-hradius.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>node</para></entry>
<entry role="parameter_description"><para>a <link linkend="GskRenderNode"><type>GskRenderNode</type></link> for a radial gradient. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>type</acronym> GskRadialGradientNode]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gsk-radial-gradient-node-get-hradius.returns" role="returns">
<title>Returns</title>
<para> the horizontal radius for the gradient</para>
</refsect3></refsect2>
<refsect2 id="gsk-radial-gradient-node-get-vradius" role="function">
<title>gsk_radial_gradient_node_get_vradius&#160;()</title>
<indexterm zone="gsk-radial-gradient-node-get-vradius"><primary>gsk_radial_gradient_node_get_vradius</primary></indexterm>
<programlisting language="C"><link linkend="float"><returnvalue>float</returnvalue></link>
gsk_radial_gradient_node_get_vradius (<parameter><link linkend="GskRenderNode"><type>GskRenderNode</type></link> *node</parameter>);</programlisting>
<para>Retrieves the vertical radius for the gradient.</para>
<refsect3 id="gsk-radial-gradient-node-get-vradius.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>node</para></entry>
<entry role="parameter_description"><para>a <link linkend="GskRenderNode"><type>GskRenderNode</type></link> for a radial gradient. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>type</acronym> GskRadialGradientNode]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gsk-radial-gradient-node-get-vradius.returns" role="returns">
<title>Returns</title>
<para> the vertical radius for the gradient</para>
</refsect3></refsect2>
<refsect2 id="gsk-radial-gradient-node-get-center" role="function">
<title>gsk_radial_gradient_node_get_center&#160;()</title>
<indexterm zone="gsk-radial-gradient-node-get-center"><primary>gsk_radial_gradient_node_get_center</primary></indexterm>
<programlisting language="C">const <link linkend="graphene-point-t"><returnvalue>graphene_point_t</returnvalue></link>&#160;*
gsk_radial_gradient_node_get_center (<parameter><link linkend="GskRenderNode"><type>GskRenderNode</type></link> *node</parameter>);</programlisting>
<para>Retrieves the center pointer for the gradient.</para>
<refsect3 id="gsk-radial-gradient-node-get-center.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>node</para></entry>
<entry role="parameter_description"><para>a <link linkend="GskRenderNode"><type>GskRenderNode</type></link> for a radial gradient. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>type</acronym> GskRadialGradientNode]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gsk-radial-gradient-node-get-center.returns" role="returns">
<title>Returns</title>
<para> the center point for the gradient</para>
</refsect3></refsect2>
<refsect2 id="gsk-conic-gradient-node-new" role="function">
<title>gsk_conic_gradient_node_new&#160;()</title>
<indexterm zone="gsk-conic-gradient-node-new"><primary>gsk_conic_gradient_node_new</primary></indexterm>
<programlisting language="C"><link linkend="GskRenderNode"><returnvalue>GskRenderNode</returnvalue></link>&#160;*
gsk_conic_gradient_node_new (<parameter>const <link linkend="graphene-rect-t"><type>graphene_rect_t</type></link> *bounds</parameter>,
                             <parameter>const <link linkend="graphene-point-t"><type>graphene_point_t</type></link> *center</parameter>,
                             <parameter><link linkend="float"><type>float</type></link> rotation</parameter>,
                             <parameter>const <link linkend="GskColorStop"><type>GskColorStop</type></link> *color_stops</parameter>,
                             <parameter><link linkend="gsize"><type>gsize</type></link> n_color_stops</parameter>);</programlisting>
<para>Creates a <link linkend="GskRenderNode"><type>GskRenderNode</type></link> that draws a conic gradient. The conic gradient
starts around <parameter>center</parameter>
 in the direction of <parameter>rotation</parameter>
. A rotation of 0 means
that the gradient points up. Color stops are then added clockwise.</para>
<refsect3 id="gsk-conic-gradient-node-new.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>bounds</para></entry>
<entry role="parameter_description"><para>the bounds of the node</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>center</para></entry>
<entry role="parameter_description"><para>the center of the gradient</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>rotation</para></entry>
<entry role="parameter_description"><para>the rotation of the gradient in degrees</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>color_stops</para></entry>
<entry role="parameter_description"><para>a pointer to an array of <link linkend="GskColorStop"><type>GskColorStop</type></link> 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. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>array</acronym> length=n_color_stops]</emphasis></entry></row>
<row><entry role="parameter_name"><para>n_color_stops</para></entry>
<entry role="parameter_description"><para>the number of elements in <parameter>color_stops</parameter>
</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gsk-conic-gradient-node-new.returns" role="returns">
<title>Returns</title>
<para>A new <link linkend="GskRenderNode"><type>GskRenderNode</type></link>. </para>
<para><emphasis role="annotation">[<acronym>transfer full</acronym>][<acronym>type</acronym> GskConicGradientNode]</emphasis></para>
</refsect3></refsect2>
<refsect2 id="gsk-conic-gradient-node-get-n-color-stops" role="function">
<title>gsk_conic_gradient_node_get_n_color_stops&#160;()</title>
<indexterm zone="gsk-conic-gradient-node-get-n-color-stops"><primary>gsk_conic_gradient_node_get_n_color_stops</primary></indexterm>
<programlisting language="C"><link linkend="gsize"><returnvalue>gsize</returnvalue></link>
gsk_conic_gradient_node_get_n_color_stops
                               (<parameter><link linkend="GskRenderNode"><type>GskRenderNode</type></link> *node</parameter>);</programlisting>
<para>Retrieves the number of color stops in the gradient.</para>
<refsect3 id="gsk-conic-gradient-node-get-n-color-stops.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>node</para></entry>
<entry role="parameter_description"><para>a <link linkend="GskRenderNode"><type>GskRenderNode</type></link> for a conic gradient. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>type</acronym> GskConicGradientNode]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gsk-conic-gradient-node-get-n-color-stops.returns" role="returns">
<title>Returns</title>
<para> the number of color stops</para>
</refsect3></refsect2>
<refsect2 id="gsk-conic-gradient-node-get-color-stops" role="function">
<title>gsk_conic_gradient_node_get_color_stops&#160;()</title>
<indexterm zone="gsk-conic-gradient-node-get-color-stops"><primary>gsk_conic_gradient_node_get_color_stops</primary></indexterm>
<programlisting language="C">const <link linkend="GskColorStop"><returnvalue>GskColorStop</returnvalue></link>&#160;*
gsk_conic_gradient_node_get_color_stops
                               (<parameter><link linkend="GskRenderNode"><type>GskRenderNode</type></link> *node</parameter>,
                                <parameter><link linkend="gsize"><type>gsize</type></link> *n_stops</parameter>);</programlisting>
<para>Retrieves the color stops in the gradient.</para>
<refsect3 id="gsk-conic-gradient-node-get-color-stops.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>node</para></entry>
<entry role="parameter_description"><para>a <link linkend="GskRenderNode"><type>GskRenderNode</type></link> for a conic gradient. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>type</acronym> GskConicGradientNode]</emphasis></entry></row>
<row><entry role="parameter_name"><para>n_stops</para></entry>
<entry role="parameter_description"><para>the number of color stops in the returned array. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>out</acronym>][<acronym>optional</acronym>]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gsk-conic-gradient-node-get-color-stops.returns" role="returns">
<title>Returns</title>
<para>the color stops in the gradient. </para>
<para><emphasis role="annotation">[<acronym>array</acronym> length=n_stops]</emphasis></para>
</refsect3></refsect2>
<refsect2 id="gsk-conic-gradient-node-get-center" role="function">
<title>gsk_conic_gradient_node_get_center&#160;()</title>
<indexterm zone="gsk-conic-gradient-node-get-center"><primary>gsk_conic_gradient_node_get_center</primary></indexterm>
<programlisting language="C">const <link linkend="graphene-point-t"><returnvalue>graphene_point_t</returnvalue></link>&#160;*
gsk_conic_gradient_node_get_center (<parameter><link linkend="GskRenderNode"><type>GskRenderNode</type></link> *node</parameter>);</programlisting>
<para>Retrieves the center pointer for the gradient.</para>
<refsect3 id="gsk-conic-gradient-node-get-center.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>node</para></entry>
<entry role="parameter_description"><para>a <link linkend="GskRenderNode"><type>GskRenderNode</type></link> for a conic gradient. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>type</acronym> GskConicGradientNode]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gsk-conic-gradient-node-get-center.returns" role="returns">
<title>Returns</title>
<para> the center point for the gradient</para>
</refsect3></refsect2>
<refsect2 id="gsk-conic-gradient-node-get-rotation" role="function">
<title>gsk_conic_gradient_node_get_rotation&#160;()</title>
<indexterm zone="gsk-conic-gradient-node-get-rotation"><primary>gsk_conic_gradient_node_get_rotation</primary></indexterm>
<programlisting language="C"><link linkend="float"><returnvalue>float</returnvalue></link>
gsk_conic_gradient_node_get_rotation (<parameter><link linkend="GskRenderNode"><type>GskRenderNode</type></link> *node</parameter>);</programlisting>
<para>Retrieves the rotation for the gradient in degrees.</para>
<refsect3 id="gsk-conic-gradient-node-get-rotation.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>node</para></entry>
<entry role="parameter_description"><para>a <link linkend="GskRenderNode"><type>GskRenderNode</type></link> for a conic gradient. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>type</acronym> GskConicGradientNode]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gsk-conic-gradient-node-get-rotation.returns" role="returns">
<title>Returns</title>
<para> the rotation for the gradient</para>
</refsect3></refsect2>
<refsect2 id="gsk-border-node-new" role="function">
<title>gsk_border_node_new&#160;()</title>
<indexterm zone="gsk-border-node-new"><primary>gsk_border_node_new</primary></indexterm>
<programlisting language="C"><link linkend="GskRenderNode"><returnvalue>GskRenderNode</returnvalue></link>&#160;*
gsk_border_node_new (<parameter>const <link linkend="GskRoundedRect"><type>GskRoundedRect</type></link> *outline</parameter>,
                     <parameter>const <link linkend="float"><type>float</type></link> border_width[4]</parameter>,
                     <parameter>const <link linkend="GdkRGBA"><type>GdkRGBA</type></link> border_color[4]</parameter>);</programlisting>
<para>Creates a <link linkend="GskRenderNode"><type>GskRenderNode</type></link> that will stroke a border rectangle inside the
given <parameter>outline</parameter>
. The 4 sides of the border can have different widths and
colors.</para>
<refsect3 id="gsk-border-node-new.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>outline</para></entry>
<entry role="parameter_description"><para>a <link linkend="GskRoundedRect"><type>GskRoundedRect</type></link> describing the outline of the border</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>border_width</para></entry>
<entry role="parameter_description"><para>the stroke width of the border on
the top, right, bottom and left side respectively. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>array</acronym> fixed-size=4]</emphasis></entry></row>
<row><entry role="parameter_name"><para>border_color</para></entry>
<entry role="parameter_description"><para>the color used on the top, right,
bottom and left side. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>array</acronym> fixed-size=4]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gsk-border-node-new.returns" role="returns">
<title>Returns</title>
<para>A new <link linkend="GskRenderNode"><type>GskRenderNode</type></link>. </para>
<para><emphasis role="annotation">[<acronym>transfer full</acronym>][<acronym>type</acronym> GskBorderNode]</emphasis></para>
</refsect3></refsect2>
<refsect2 id="gsk-border-node-get-outline" role="function">
<title>gsk_border_node_get_outline&#160;()</title>
<indexterm zone="gsk-border-node-get-outline"><primary>gsk_border_node_get_outline</primary></indexterm>
<programlisting language="C">const <link linkend="GskRoundedRect"><returnvalue>GskRoundedRect</returnvalue></link>&#160;*
gsk_border_node_get_outline (<parameter><link linkend="GskRenderNode"><type>GskRenderNode</type></link> *node</parameter>);</programlisting>
<para>Retrieves the outline of the border.</para>
<refsect3 id="gsk-border-node-get-outline.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>node</para></entry>
<entry role="parameter_description"><para>a <link linkend="GskRenderNode"><type>GskRenderNode</type></link> for a border. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>type</acronym> GskBorderNode]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gsk-border-node-get-outline.returns" role="returns">
<title>Returns</title>
<para> the outline of the border</para>
</refsect3></refsect2>
<refsect2 id="gsk-border-node-get-widths" role="function">
<title>gsk_border_node_get_widths&#160;()</title>
<indexterm zone="gsk-border-node-get-widths"><primary>gsk_border_node_get_widths</primary></indexterm>
<programlisting language="C">const <link linkend="float"><returnvalue>float</returnvalue></link>&#160;*
gsk_border_node_get_widths (<parameter><link linkend="GskRenderNode"><type>GskRenderNode</type></link> *node</parameter>);</programlisting>
<para>Retrieves the stroke widths of the border.</para>
<refsect3 id="gsk-border-node-get-widths.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>node</para></entry>
<entry role="parameter_description"><para>a <link linkend="GskRenderNode"><type>GskRenderNode</type></link> for a border. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>type</acronym> GskBorderNode]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gsk-border-node-get-widths.returns" role="returns">
<title>Returns</title>
<para>an array of 4 floats
for the top, right, bottom and left stroke width of the border,
respectively. </para>
<para><emphasis role="annotation">[<acronym>transfer none</acronym>][<acronym>array</acronym> fixed-size=4]</emphasis></para>
</refsect3></refsect2>
<refsect2 id="gsk-border-node-get-colors" role="function">
<title>gsk_border_node_get_colors&#160;()</title>
<indexterm zone="gsk-border-node-get-colors"><primary>gsk_border_node_get_colors</primary></indexterm>
<programlisting language="C">const <link linkend="GdkRGBA"><returnvalue>GdkRGBA</returnvalue></link>&#160;*
gsk_border_node_get_colors (<parameter><link linkend="GskRenderNode"><type>GskRenderNode</type></link> *node</parameter>);</programlisting>
<para>Retrieves the colors of the border.</para>
<refsect3 id="gsk-border-node-get-colors.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>node</para></entry>
<entry role="parameter_description"><para>a <link linkend="GskRenderNode"><type>GskRenderNode</type></link> for a border. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>type</acronym> GskBorderNode]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gsk-border-node-get-colors.returns" role="returns">
<title>Returns</title>
<para>an array of 4 <link linkend="GdkRGBA"><type>GdkRGBA</type></link> structs
for the top, right, bottom and left color of the border. </para>
<para><emphasis role="annotation">[<acronym>transfer none</acronym>]</emphasis></para>
</refsect3></refsect2>
<refsect2 id="gsk-inset-shadow-node-new" role="function">
<title>gsk_inset_shadow_node_new&#160;()</title>
<indexterm zone="gsk-inset-shadow-node-new"><primary>gsk_inset_shadow_node_new</primary></indexterm>
<programlisting language="C"><link linkend="GskRenderNode"><returnvalue>GskRenderNode</returnvalue></link>&#160;*
gsk_inset_shadow_node_new (<parameter>const <link linkend="GskRoundedRect"><type>GskRoundedRect</type></link> *outline</parameter>,
                           <parameter>const <link linkend="GdkRGBA"><type>GdkRGBA</type></link> *color</parameter>,
                           <parameter><link linkend="float"><type>float</type></link> dx</parameter>,
                           <parameter><link linkend="float"><type>float</type></link> dy</parameter>,
                           <parameter><link linkend="float"><type>float</type></link> spread</parameter>,
                           <parameter><link linkend="float"><type>float</type></link> blur_radius</parameter>);</programlisting>
<para>Creates a <link linkend="GskRenderNode"><type>GskRenderNode</type></link> that will render an inset shadow
into the box given by <parameter>outline</parameter>
.</para>
<refsect3 id="gsk-inset-shadow-node-new.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>outline</para></entry>
<entry role="parameter_description"><para>outline of the region containing the shadow</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>color</para></entry>
<entry role="parameter_description"><para>color of the shadow</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>dx</para></entry>
<entry role="parameter_description"><para>horizontal offset of shadow</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>dy</para></entry>
<entry role="parameter_description"><para>vertical offset of shadow</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>spread</para></entry>
<entry role="parameter_description"><para>how far the shadow spreads towards the inside</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>blur_radius</para></entry>
<entry role="parameter_description"><para>how much blur to apply to the shadow</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gsk-inset-shadow-node-new.returns" role="returns">
<title>Returns</title>
<para>A new <link linkend="GskRenderNode"><type>GskRenderNode</type></link>. </para>
<para><emphasis role="annotation">[<acronym>transfer full</acronym>][<acronym>type</acronym> GskInsetShadowNode]</emphasis></para>
</refsect3></refsect2>
<refsect2 id="gsk-inset-shadow-node-get-outline" role="function">
<title>gsk_inset_shadow_node_get_outline&#160;()</title>
<indexterm zone="gsk-inset-shadow-node-get-outline"><primary>gsk_inset_shadow_node_get_outline</primary></indexterm>
<programlisting language="C">const <link linkend="GskRoundedRect"><returnvalue>GskRoundedRect</returnvalue></link>&#160;*
gsk_inset_shadow_node_get_outline (<parameter><link linkend="GskRenderNode"><type>GskRenderNode</type></link> *node</parameter>);</programlisting>
<para>Retrieves the outline rectangle of the inset shadow.</para>
<refsect3 id="gsk-inset-shadow-node-get-outline.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>node</para></entry>
<entry role="parameter_description"><para>a <link linkend="GskRenderNode"><type>GskRenderNode</type></link> for an inset shadow. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>type</acronym> GskInsetShadowNode]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gsk-inset-shadow-node-get-outline.returns" role="returns">
<title>Returns</title>
<para>a rounded rectangle. </para>
<para><emphasis role="annotation">[<acronym>transfer none</acronym>]</emphasis></para>
</refsect3></refsect2>
<refsect2 id="gsk-inset-shadow-node-get-color" role="function">
<title>gsk_inset_shadow_node_get_color&#160;()</title>
<indexterm zone="gsk-inset-shadow-node-get-color"><primary>gsk_inset_shadow_node_get_color</primary></indexterm>
<programlisting language="C">const <link linkend="GdkRGBA"><returnvalue>GdkRGBA</returnvalue></link>&#160;*
gsk_inset_shadow_node_get_color (<parameter><link linkend="GskRenderNode"><type>GskRenderNode</type></link> *node</parameter>);</programlisting>
<para>Retrieves the color of the inset shadow.</para>
<refsect3 id="gsk-inset-shadow-node-get-color.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>node</para></entry>
<entry role="parameter_description"><para>a <link linkend="GskRenderNode"><type>GskRenderNode</type></link> for an inset shadow. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>type</acronym> GskInsetShadowNode]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gsk-inset-shadow-node-get-color.returns" role="returns">
<title>Returns</title>
<para>the color of the shadow. </para>
<para><emphasis role="annotation">[<acronym>transfer none</acronym>]</emphasis></para>
</refsect3></refsect2>
<refsect2 id="gsk-inset-shadow-node-get-dx" role="function">
<title>gsk_inset_shadow_node_get_dx&#160;()</title>
<indexterm zone="gsk-inset-shadow-node-get-dx"><primary>gsk_inset_shadow_node_get_dx</primary></indexterm>
<programlisting language="C"><link linkend="float"><returnvalue>float</returnvalue></link>
gsk_inset_shadow_node_get_dx (<parameter><link linkend="GskRenderNode"><type>GskRenderNode</type></link> *node</parameter>);</programlisting>
<para>Retrieves the horizontal offset of the inset shadow.</para>
<refsect3 id="gsk-inset-shadow-node-get-dx.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>node</para></entry>
<entry role="parameter_description"><para>a <link linkend="GskRenderNode"><type>GskRenderNode</type></link> for an inset shadow. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>type</acronym> GskInsetShadowNode]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gsk-inset-shadow-node-get-dx.returns" role="returns">
<title>Returns</title>
<para> an offset, in pixels</para>
</refsect3></refsect2>
<refsect2 id="gsk-inset-shadow-node-get-dy" role="function">
<title>gsk_inset_shadow_node_get_dy&#160;()</title>
<indexterm zone="gsk-inset-shadow-node-get-dy"><primary>gsk_inset_shadow_node_get_dy</primary></indexterm>
<programlisting language="C"><link linkend="float"><returnvalue>float</returnvalue></link>
gsk_inset_shadow_node_get_dy (<parameter><link linkend="GskRenderNode"><type>GskRenderNode</type></link> *node</parameter>);</programlisting>
<para>Retrieves the vertical offset of the inset shadow.</para>
<refsect3 id="gsk-inset-shadow-node-get-dy.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>node</para></entry>
<entry role="parameter_description"><para>a <link linkend="GskRenderNode"><type>GskRenderNode</type></link> for an inset shadow. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>type</acronym> GskInsetShadowNode]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gsk-inset-shadow-node-get-dy.returns" role="returns">
<title>Returns</title>
<para> an offset, in pixels</para>
</refsect3></refsect2>
<refsect2 id="gsk-inset-shadow-node-get-spread" role="function">
<title>gsk_inset_shadow_node_get_spread&#160;()</title>
<indexterm zone="gsk-inset-shadow-node-get-spread"><primary>gsk_inset_shadow_node_get_spread</primary></indexterm>
<programlisting language="C"><link linkend="float"><returnvalue>float</returnvalue></link>
gsk_inset_shadow_node_get_spread (<parameter><link linkend="GskRenderNode"><type>GskRenderNode</type></link> *node</parameter>);</programlisting>
<para>Retrieves how much the shadow spreads inwards.</para>
<refsect3 id="gsk-inset-shadow-node-get-spread.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>node</para></entry>
<entry role="parameter_description"><para>a <link linkend="GskRenderNode"><type>GskRenderNode</type></link> for an inset shadow. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>type</acronym> GskInsetShadowNode]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gsk-inset-shadow-node-get-spread.returns" role="returns">
<title>Returns</title>
<para> the size of the shadow, in pixels</para>
</refsect3></refsect2>
<refsect2 id="gsk-inset-shadow-node-get-blur-radius" role="function">
<title>gsk_inset_shadow_node_get_blur_radius&#160;()</title>
<indexterm zone="gsk-inset-shadow-node-get-blur-radius"><primary>gsk_inset_shadow_node_get_blur_radius</primary></indexterm>
<programlisting language="C"><link linkend="float"><returnvalue>float</returnvalue></link>
gsk_inset_shadow_node_get_blur_radius (<parameter><link linkend="GskRenderNode"><type>GskRenderNode</type></link> *node</parameter>);</programlisting>
<para>Retrieves the blur radius to apply to the shadow.</para>
<refsect3 id="gsk-inset-shadow-node-get-blur-radius.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>node</para></entry>
<entry role="parameter_description"><para>a <link linkend="GskRenderNode"><type>GskRenderNode</type></link> for an inset shadow. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>type</acronym> GskInsetShadowNode]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gsk-inset-shadow-node-get-blur-radius.returns" role="returns">
<title>Returns</title>
<para> the blur radius, in pixels</para>
</refsect3></refsect2>
<refsect2 id="gsk-outset-shadow-node-new" role="function">
<title>gsk_outset_shadow_node_new&#160;()</title>
<indexterm zone="gsk-outset-shadow-node-new"><primary>gsk_outset_shadow_node_new</primary></indexterm>
<programlisting language="C"><link linkend="GskRenderNode"><returnvalue>GskRenderNode</returnvalue></link>&#160;*
gsk_outset_shadow_node_new (<parameter>const <link linkend="GskRoundedRect"><type>GskRoundedRect</type></link> *outline</parameter>,
                            <parameter>const <link linkend="GdkRGBA"><type>GdkRGBA</type></link> *color</parameter>,
                            <parameter><link linkend="float"><type>float</type></link> dx</parameter>,
                            <parameter><link linkend="float"><type>float</type></link> dy</parameter>,
                            <parameter><link linkend="float"><type>float</type></link> spread</parameter>,
                            <parameter><link linkend="float"><type>float</type></link> blur_radius</parameter>);</programlisting>
<para>Creates a <link linkend="GskRenderNode"><type>GskRenderNode</type></link> that will render an outset shadow
around the box given by <parameter>outline</parameter>
.</para>
<refsect3 id="gsk-outset-shadow-node-new.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>outline</para></entry>
<entry role="parameter_description"><para>outline of the region surrounded by shadow</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>color</para></entry>
<entry role="parameter_description"><para>color of the shadow</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>dx</para></entry>
<entry role="parameter_description"><para>horizontal offset of shadow</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>dy</para></entry>
<entry role="parameter_description"><para>vertical offset of shadow</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>spread</para></entry>
<entry role="parameter_description"><para>how far the shadow spreads towards the inside</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>blur_radius</para></entry>
<entry role="parameter_description"><para>how much blur to apply to the shadow</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gsk-outset-shadow-node-new.returns" role="returns">
<title>Returns</title>
<para>A new <link linkend="GskRenderNode"><type>GskRenderNode</type></link>. </para>
<para><emphasis role="annotation">[<acronym>transfer full</acronym>][<acronym>type</acronym> GskOutsetShadowNode]</emphasis></para>
</refsect3></refsect2>
<refsect2 id="gsk-outset-shadow-node-get-outline" role="function">
<title>gsk_outset_shadow_node_get_outline&#160;()</title>
<indexterm zone="gsk-outset-shadow-node-get-outline"><primary>gsk_outset_shadow_node_get_outline</primary></indexterm>
<programlisting language="C">const <link linkend="GskRoundedRect"><returnvalue>GskRoundedRect</returnvalue></link>&#160;*
gsk_outset_shadow_node_get_outline (<parameter><link linkend="GskRenderNode"><type>GskRenderNode</type></link> *node</parameter>);</programlisting>
<para>Retrieves the outline rectangle of the outset shadow.</para>
<refsect3 id="gsk-outset-shadow-node-get-outline.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>node</para></entry>
<entry role="parameter_description"><para>a <link linkend="GskRenderNode"><type>GskRenderNode</type></link> for an outset shadow. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>type</acronym> GskOutsetShadowNode]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gsk-outset-shadow-node-get-outline.returns" role="returns">
<title>Returns</title>
<para>a rounded rectangle. </para>
<para><emphasis role="annotation">[<acronym>transfer none</acronym>]</emphasis></para>
</refsect3></refsect2>
<refsect2 id="gsk-outset-shadow-node-get-color" role="function">
<title>gsk_outset_shadow_node_get_color&#160;()</title>
<indexterm zone="gsk-outset-shadow-node-get-color"><primary>gsk_outset_shadow_node_get_color</primary></indexterm>
<programlisting language="C">const <link linkend="GdkRGBA"><returnvalue>GdkRGBA</returnvalue></link>&#160;*
gsk_outset_shadow_node_get_color (<parameter><link linkend="GskRenderNode"><type>GskRenderNode</type></link> *node</parameter>);</programlisting>
<para>Retrieves the color of the outset shadow.</para>
<refsect3 id="gsk-outset-shadow-node-get-color.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>node</para></entry>
<entry role="parameter_description"><para>a <link linkend="GskRenderNode"><type>GskRenderNode</type></link> for an outset shadow. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>type</acronym> GskOutsetShadowNode]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gsk-outset-shadow-node-get-color.returns" role="returns">
<title>Returns</title>
<para>a color. </para>
<para><emphasis role="annotation">[<acronym>transfer none</acronym>]</emphasis></para>
</refsect3></refsect2>
<refsect2 id="gsk-outset-shadow-node-get-dx" role="function">
<title>gsk_outset_shadow_node_get_dx&#160;()</title>
<indexterm zone="gsk-outset-shadow-node-get-dx"><primary>gsk_outset_shadow_node_get_dx</primary></indexterm>
<programlisting language="C"><link linkend="float"><returnvalue>float</returnvalue></link>
gsk_outset_shadow_node_get_dx (<parameter><link linkend="GskRenderNode"><type>GskRenderNode</type></link> *node</parameter>);</programlisting>
<para>Retrieves the horizontal offset of the outset shadow.</para>
<refsect3 id="gsk-outset-shadow-node-get-dx.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>node</para></entry>
<entry role="parameter_description"><para>a <link linkend="GskRenderNode"><type>GskRenderNode</type></link> for an outset shadow. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>type</acronym> GskOutsetShadowNode]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gsk-outset-shadow-node-get-dx.returns" role="returns">
<title>Returns</title>
<para> an offset, in pixels</para>
</refsect3></refsect2>
<refsect2 id="gsk-outset-shadow-node-get-dy" role="function">
<title>gsk_outset_shadow_node_get_dy&#160;()</title>
<indexterm zone="gsk-outset-shadow-node-get-dy"><primary>gsk_outset_shadow_node_get_dy</primary></indexterm>
<programlisting language="C"><link linkend="float"><returnvalue>float</returnvalue></link>
gsk_outset_shadow_node_get_dy (<parameter><link linkend="GskRenderNode"><type>GskRenderNode</type></link> *node</parameter>);</programlisting>
<para>Retrieves the vertical offset of the outset shadow.</para>
<refsect3 id="gsk-outset-shadow-node-get-dy.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>node</para></entry>
<entry role="parameter_description"><para>a <link linkend="GskRenderNode"><type>GskRenderNode</type></link> for an outset shadow. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>type</acronym> GskOutsetShadowNode]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gsk-outset-shadow-node-get-dy.returns" role="returns">
<title>Returns</title>
<para> an offset, in pixels</para>
</refsect3></refsect2>
<refsect2 id="gsk-outset-shadow-node-get-spread" role="function">
<title>gsk_outset_shadow_node_get_spread&#160;()</title>
<indexterm zone="gsk-outset-shadow-node-get-spread"><primary>gsk_outset_shadow_node_get_spread</primary></indexterm>
<programlisting language="C"><link linkend="float"><returnvalue>float</returnvalue></link>
gsk_outset_shadow_node_get_spread (<parameter><link linkend="GskRenderNode"><type>GskRenderNode</type></link> *node</parameter>);</programlisting>
<para>Retrieves how much the shadow spreads outwards.</para>
<refsect3 id="gsk-outset-shadow-node-get-spread.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>node</para></entry>
<entry role="parameter_description"><para>a <link linkend="GskRenderNode"><type>GskRenderNode</type></link> for an outset shadow. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>type</acronym> GskOutsetShadowNode]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gsk-outset-shadow-node-get-spread.returns" role="returns">
<title>Returns</title>
<para> the size of the shadow, in pixels</para>
</refsect3></refsect2>
<refsect2 id="gsk-outset-shadow-node-get-blur-radius" role="function">
<title>gsk_outset_shadow_node_get_blur_radius&#160;()</title>
<indexterm zone="gsk-outset-shadow-node-get-blur-radius"><primary>gsk_outset_shadow_node_get_blur_radius</primary></indexterm>
<programlisting language="C"><link linkend="float"><returnvalue>float</returnvalue></link>
gsk_outset_shadow_node_get_blur_radius
                               (<parameter><link linkend="GskRenderNode"><type>GskRenderNode</type></link> *node</parameter>);</programlisting>
<para>Retrieves the blur radius of the shadow.</para>
<refsect3 id="gsk-outset-shadow-node-get-blur-radius.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>node</para></entry>
<entry role="parameter_description"><para>a <link linkend="GskRenderNode"><type>GskRenderNode</type></link> for an outset shadow. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>type</acronym> GskOutsetShadowNode]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gsk-outset-shadow-node-get-blur-radius.returns" role="returns">
<title>Returns</title>
<para> the blur radius, in pixels</para>
</refsect3></refsect2>
<refsect2 id="gsk-cairo-node-new" role="function">
<title>gsk_cairo_node_new&#160;()</title>
<indexterm zone="gsk-cairo-node-new"><primary>gsk_cairo_node_new</primary></indexterm>
<programlisting language="C"><link linkend="GskRenderNode"><returnvalue>GskRenderNode</returnvalue></link>&#160;*
gsk_cairo_node_new (<parameter>const <link linkend="graphene-rect-t"><type>graphene_rect_t</type></link> *bounds</parameter>);</programlisting>
<para>Creates a <link linkend="GskRenderNode"><type>GskRenderNode</type></link> that will render a cairo surface
into the area given by <parameter>bounds</parameter>
. You can draw to the cairo
surface using <link linkend="gsk-cairo-node-get-draw-context"><function>gsk_cairo_node_get_draw_context()</function></link></para>
<refsect3 id="gsk-cairo-node-new.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>bounds</para></entry>
<entry role="parameter_description"><para>the rectangle to render to</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gsk-cairo-node-new.returns" role="returns">
<title>Returns</title>
<para>A new <link linkend="GskRenderNode"><type>GskRenderNode</type></link>. </para>
<para><emphasis role="annotation">[<acronym>transfer full</acronym>][<acronym>type</acronym> GskCairoNode]</emphasis></para>
</refsect3></refsect2>
<refsect2 id="gsk-cairo-node-get-draw-context" role="function">
<title>gsk_cairo_node_get_draw_context&#160;()</title>
<indexterm zone="gsk-cairo-node-get-draw-context"><primary>gsk_cairo_node_get_draw_context</primary></indexterm>
<programlisting language="C"><link linkend="cairo-t"><returnvalue>cairo_t</returnvalue></link>&#160;*
gsk_cairo_node_get_draw_context (<parameter><link linkend="GskRenderNode"><type>GskRenderNode</type></link> *node</parameter>);</programlisting>
<para>Creates a Cairo context for drawing using the surface associated
to the render node.</para>
<para>If no surface exists yet, a surface will be created optimized for
rendering to <parameter>renderer</parameter>
.</para>
<refsect3 id="gsk-cairo-node-get-draw-context.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>node</para></entry>
<entry role="parameter_description"><para>a <link linkend="GskRenderNode"><type>GskRenderNode</type></link> for a Cairo surface. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>type</acronym> GskCairoNode]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gsk-cairo-node-get-draw-context.returns" role="returns">
<title>Returns</title>
<para>a Cairo context used for drawing; use
<link linkend="cairo-destroy"><function>cairo_destroy()</function></link> when done drawing. </para>
<para><emphasis role="annotation">[<acronym>transfer full</acronym>]</emphasis></para>
</refsect3></refsect2>
<refsect2 id="gsk-cairo-node-get-surface" role="function">
<title>gsk_cairo_node_get_surface&#160;()</title>
<indexterm zone="gsk-cairo-node-get-surface"><primary>gsk_cairo_node_get_surface</primary></indexterm>
<programlisting language="C"><link linkend="cairo-surface-t"><returnvalue>cairo_surface_t</returnvalue></link>&#160;*
gsk_cairo_node_get_surface (<parameter><link linkend="GskRenderNode"><type>GskRenderNode</type></link> *node</parameter>);</programlisting>
<para>Retrieves the Cairo surface used by the render node.</para>
<refsect3 id="gsk-cairo-node-get-surface.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>node</para></entry>
<entry role="parameter_description"><para>a <link linkend="GskRenderNode"><type>GskRenderNode</type></link> for a Cairo surface. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>type</acronym> GskCairoNode]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gsk-cairo-node-get-surface.returns" role="returns">
<title>Returns</title>
<para>a Cairo surface. </para>
<para><emphasis role="annotation">[<acronym>transfer none</acronym>]</emphasis></para>
</refsect3></refsect2>
<refsect2 id="gsk-container-node-new" role="function">
<title>gsk_container_node_new&#160;()</title>
<indexterm zone="gsk-container-node-new"><primary>gsk_container_node_new</primary></indexterm>
<programlisting language="C"><link linkend="GskRenderNode"><returnvalue>GskRenderNode</returnvalue></link>&#160;*
gsk_container_node_new (<parameter><link linkend="GskRenderNode"><type>GskRenderNode</type></link> **children</parameter>,
                        <parameter><link linkend="guint"><type>guint</type></link> n_children</parameter>);</programlisting>
<para>Creates a new <link linkend="GskRenderNode"><type>GskRenderNode</type></link> instance for holding the given <parameter>children</parameter>
.
The new node will acquire a reference to each of the children.</para>
<refsect3 id="gsk-container-node-new.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>children</para></entry>
<entry role="parameter_description"><para>The children of the node. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>array</acronym> length=n_children][<acronym>transfer none</acronym>]</emphasis></entry></row>
<row><entry role="parameter_name"><para>n_children</para></entry>
<entry role="parameter_description"><para>Number of children in the <parameter>children</parameter>
array</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gsk-container-node-new.returns" role="returns">
<title>Returns</title>
<para>the new <link linkend="GskRenderNode"><type>GskRenderNode</type></link>. </para>
<para><emphasis role="annotation">[<acronym>transfer full</acronym>][<acronym>type</acronym> GskContainerNode]</emphasis></para>
</refsect3></refsect2>
<refsect2 id="gsk-container-node-get-n-children" role="function">
<title>gsk_container_node_get_n_children&#160;()</title>
<indexterm zone="gsk-container-node-get-n-children"><primary>gsk_container_node_get_n_children</primary></indexterm>
<programlisting language="C"><link linkend="guint"><returnvalue>guint</returnvalue></link>
gsk_container_node_get_n_children (<parameter><link linkend="GskRenderNode"><type>GskRenderNode</type></link> *node</parameter>);</programlisting>
<para>Retrieves the number of direct children of <parameter>node</parameter>
.</para>
<refsect3 id="gsk-container-node-get-n-children.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>node</para></entry>
<entry role="parameter_description"><para>a container <link linkend="GskRenderNode"><type>GskRenderNode</type></link>. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>type</acronym> GskContainerNode]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gsk-container-node-get-n-children.returns" role="returns">
<title>Returns</title>
<para> the number of children of the <link linkend="GskRenderNode"><type>GskRenderNode</type></link></para>
</refsect3></refsect2>
<refsect2 id="gsk-container-node-get-child" role="function">
<title>gsk_container_node_get_child&#160;()</title>
<indexterm zone="gsk-container-node-get-child"><primary>gsk_container_node_get_child</primary></indexterm>
<programlisting language="C"><link linkend="GskRenderNode"><returnvalue>GskRenderNode</returnvalue></link>&#160;*
gsk_container_node_get_child (<parameter><link linkend="GskRenderNode"><type>GskRenderNode</type></link> *node</parameter>,
                              <parameter><link linkend="guint"><type>guint</type></link> idx</parameter>);</programlisting>
<para>Gets one of the children of <parameter>container</parameter>
.</para>
<refsect3 id="gsk-container-node-get-child.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>node</para></entry>
<entry role="parameter_description"><para>a container <link linkend="GskRenderNode"><type>GskRenderNode</type></link>. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>type</acronym> GskContainerNode]</emphasis></entry></row>
<row><entry role="parameter_name"><para>idx</para></entry>
<entry role="parameter_description"><para>the position of the child to get</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gsk-container-node-get-child.returns" role="returns">
<title>Returns</title>
<para>the <parameter>idx</parameter>
'th child of <parameter>container</parameter>
. </para>
<para><emphasis role="annotation">[<acronym>transfer none</acronym>]</emphasis></para>
</refsect3></refsect2>
<refsect2 id="gsk-transform-node-new" role="function">
<title>gsk_transform_node_new&#160;()</title>
<indexterm zone="gsk-transform-node-new"><primary>gsk_transform_node_new</primary></indexterm>
<programlisting language="C"><link linkend="GskRenderNode"><returnvalue>GskRenderNode</returnvalue></link>&#160;*
gsk_transform_node_new (<parameter><link linkend="GskRenderNode"><type>GskRenderNode</type></link> *child</parameter>,
                        <parameter><link linkend="GskTransform"><type>GskTransform</type></link> *transform</parameter>);</programlisting>
<para>Creates a <link linkend="GskRenderNode"><type>GskRenderNode</type></link> that will transform the given <parameter>child</parameter>

with the given <parameter>transform</parameter>
.</para>
<refsect3 id="gsk-transform-node-new.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>child</para></entry>
<entry role="parameter_description"><para>The node to transform</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>transform</para></entry>
<entry role="parameter_description"><para>The transform to apply. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>transfer none</acronym>]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gsk-transform-node-new.returns" role="returns">
<title>Returns</title>
<para>A new <link linkend="GskRenderNode"><type>GskRenderNode</type></link>. </para>
<para><emphasis role="annotation">[<acronym>transfer full</acronym>][<acronym>type</acronym> GskTransformNode]</emphasis></para>
</refsect3></refsect2>
<refsect2 id="gsk-transform-node-get-child" role="function">
<title>gsk_transform_node_get_child&#160;()</title>
<indexterm zone="gsk-transform-node-get-child"><primary>gsk_transform_node_get_child</primary></indexterm>
<programlisting language="C"><link linkend="GskRenderNode"><returnvalue>GskRenderNode</returnvalue></link>&#160;*
gsk_transform_node_get_child (<parameter><link linkend="GskRenderNode"><type>GskRenderNode</type></link> *node</parameter>);</programlisting>
<para>Gets the child node that is getting transformed by the given <parameter>node</parameter>
.</para>
<refsect3 id="gsk-transform-node-get-child.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>node</para></entry>
<entry role="parameter_description"><para>a <link linkend="GskRenderNode"><type>GskRenderNode</type></link> for a transform. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>type</acronym> GskTransformNode]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gsk-transform-node-get-child.returns" role="returns">
<title>Returns</title>
<para>The child that is getting transformed. </para>
<para><emphasis role="annotation">[<acronym>transfer none</acronym>]</emphasis></para>
</refsect3></refsect2>
<refsect2 id="gsk-transform-node-get-transform" role="function">
<title>gsk_transform_node_get_transform&#160;()</title>
<indexterm zone="gsk-transform-node-get-transform"><primary>gsk_transform_node_get_transform</primary></indexterm>
<programlisting language="C"><link linkend="GskTransform"><returnvalue>GskTransform</returnvalue></link>&#160;*
gsk_transform_node_get_transform (<parameter><link linkend="GskRenderNode"><type>GskRenderNode</type></link> *node</parameter>);</programlisting>
<para>Retrieves the <link linkend="GskTransform"><type>GskTransform</type></link> used by the <parameter>node</parameter>
.</para>
<refsect3 id="gsk-transform-node-get-transform.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>node</para></entry>
<entry role="parameter_description"><para>a <link linkend="GskRenderNode"><type>GskRenderNode</type></link> for a transform. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>type</acronym> GskTransformNode]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gsk-transform-node-get-transform.returns" role="returns">
<title>Returns</title>
<para>a <link linkend="GskTransform"><type>GskTransform</type></link>. </para>
<para><emphasis role="annotation">[<acronym>transfer none</acronym>]</emphasis></para>
</refsect3></refsect2>
<refsect2 id="gsk-opacity-node-new" role="function">
<title>gsk_opacity_node_new&#160;()</title>
<indexterm zone="gsk-opacity-node-new"><primary>gsk_opacity_node_new</primary></indexterm>
<programlisting language="C"><link linkend="GskRenderNode"><returnvalue>GskRenderNode</returnvalue></link>&#160;*
gsk_opacity_node_new (<parameter><link linkend="GskRenderNode"><type>GskRenderNode</type></link> *child</parameter>,
                      <parameter><link linkend="float"><type>float</type></link> opacity</parameter>);</programlisting>
<para>Creates a <link linkend="GskRenderNode"><type>GskRenderNode</type></link> that will drawn the <parameter>child</parameter>
 with reduced
<parameter>opacity</parameter>
.</para>
<refsect3 id="gsk-opacity-node-new.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>child</para></entry>
<entry role="parameter_description"><para>The node to draw</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>opacity</para></entry>
<entry role="parameter_description"><para>The opacity to apply</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gsk-opacity-node-new.returns" role="returns">
<title>Returns</title>
<para>A new <link linkend="GskRenderNode"><type>GskRenderNode</type></link>. </para>
<para><emphasis role="annotation">[<acronym>transfer full</acronym>][<acronym>type</acronym> GskOpacityNode]</emphasis></para>
</refsect3></refsect2>
<refsect2 id="gsk-opacity-node-get-child" role="function">
<title>gsk_opacity_node_get_child&#160;()</title>
<indexterm zone="gsk-opacity-node-get-child"><primary>gsk_opacity_node_get_child</primary></indexterm>
<programlisting language="C"><link linkend="GskRenderNode"><returnvalue>GskRenderNode</returnvalue></link>&#160;*
gsk_opacity_node_get_child (<parameter><link linkend="GskRenderNode"><type>GskRenderNode</type></link> *node</parameter>);</programlisting>
<para>Gets the child node that is getting opacityed by the given <parameter>node</parameter>
.</para>
<refsect3 id="gsk-opacity-node-get-child.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>node</para></entry>
<entry role="parameter_description"><para>a <link linkend="GskRenderNode"><type>GskRenderNode</type></link> for an opacity. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>type</acronym> GskOpacityNode]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gsk-opacity-node-get-child.returns" role="returns">
<title>Returns</title>
<para>The child that is getting opacityed. </para>
<para><emphasis role="annotation">[<acronym>transfer none</acronym>]</emphasis></para>
</refsect3></refsect2>
<refsect2 id="gsk-opacity-node-get-opacity" role="function">
<title>gsk_opacity_node_get_opacity&#160;()</title>
<indexterm zone="gsk-opacity-node-get-opacity"><primary>gsk_opacity_node_get_opacity</primary></indexterm>
<programlisting language="C"><link linkend="float"><returnvalue>float</returnvalue></link>
gsk_opacity_node_get_opacity (<parameter><link linkend="GskRenderNode"><type>GskRenderNode</type></link> *node</parameter>);</programlisting>
<para>Gets the transparency factor for an opacity node.</para>
<refsect3 id="gsk-opacity-node-get-opacity.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>node</para></entry>
<entry role="parameter_description"><para>a <link linkend="GskRenderNode"><type>GskRenderNode</type></link> for an opacity. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>type</acronym> GskOpacityNode]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gsk-opacity-node-get-opacity.returns" role="returns">
<title>Returns</title>
<para> the opacity factor</para>
</refsect3></refsect2>
<refsect2 id="gsk-color-matrix-node-new" role="function">
<title>gsk_color_matrix_node_new&#160;()</title>
<indexterm zone="gsk-color-matrix-node-new"><primary>gsk_color_matrix_node_new</primary></indexterm>
<programlisting language="C"><link linkend="GskRenderNode"><returnvalue>GskRenderNode</returnvalue></link>&#160;*
gsk_color_matrix_node_new (<parameter><link linkend="GskRenderNode"><type>GskRenderNode</type></link> *child</parameter>,
                           <parameter>const <link linkend="graphene-matrix-t"><type>graphene_matrix_t</type></link> *color_matrix</parameter>,
                           <parameter>const <link linkend="graphene-vec4-t"><type>graphene_vec4_t</type></link> *color_offset</parameter>);</programlisting>
<para>Creates a <link linkend="GskRenderNode"><type>GskRenderNode</type></link> that will drawn the <parameter>child</parameter>
 with reduced
<parameter>color_matrix</parameter>
.</para>
<para>In particular, the node will transform the operation</para>
<informalexample><programlisting role="example"><![CDATA[
  pixel = color_matrix * pixel + color_offset
]]></programlisting></informalexample>
<para></para>
<para>for every pixel.</para>
<refsect3 id="gsk-color-matrix-node-new.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>child</para></entry>
<entry role="parameter_description"><para>The node to draw</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>color_matrix</para></entry>
<entry role="parameter_description"><para>The matrix to apply</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>color_offset</para></entry>
<entry role="parameter_description"><para>Values to add to the color</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gsk-color-matrix-node-new.returns" role="returns">
<title>Returns</title>
<para>A new <link linkend="GskRenderNode"><type>GskRenderNode</type></link>. </para>
<para><emphasis role="annotation">[<acronym>transfer full</acronym>][<acronym>type</acronym> GskColorMatrixNode]</emphasis></para>
</refsect3></refsect2>
<refsect2 id="gsk-color-matrix-node-get-child" role="function">
<title>gsk_color_matrix_node_get_child&#160;()</title>
<indexterm zone="gsk-color-matrix-node-get-child"><primary>gsk_color_matrix_node_get_child</primary></indexterm>
<programlisting language="C"><link linkend="GskRenderNode"><returnvalue>GskRenderNode</returnvalue></link>&#160;*
gsk_color_matrix_node_get_child (<parameter><link linkend="GskRenderNode"><type>GskRenderNode</type></link> *node</parameter>);</programlisting>
<para>Gets the child node that is getting its colors modified by the given <parameter>node</parameter>
.</para>
<refsect3 id="gsk-color-matrix-node-get-child.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>node</para></entry>
<entry role="parameter_description"><para>a color matrix <link linkend="GskRenderNode"><type>GskRenderNode</type></link>. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>type</acronym> GskColorMatrixNode]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gsk-color-matrix-node-get-child.returns" role="returns">
<title>Returns</title>
<para>The child that is getting its colors modified. </para>
<para><emphasis role="annotation">[<acronym>transfer none</acronym>]</emphasis></para>
</refsect3></refsect2>
<refsect2 id="gsk-color-matrix-node-get-color-matrix" role="function">
<title>gsk_color_matrix_node_get_color_matrix&#160;()</title>
<indexterm zone="gsk-color-matrix-node-get-color-matrix"><primary>gsk_color_matrix_node_get_color_matrix</primary></indexterm>
<programlisting language="C">const <link linkend="graphene-matrix-t"><returnvalue>graphene_matrix_t</returnvalue></link>&#160;*
gsk_color_matrix_node_get_color_matrix
                               (<parameter><link linkend="GskRenderNode"><type>GskRenderNode</type></link> *node</parameter>);</programlisting>
<para>Retrieves the color matrix used by the <parameter>node</parameter>
.</para>
<refsect3 id="gsk-color-matrix-node-get-color-matrix.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>node</para></entry>
<entry role="parameter_description"><para>a color matrix <link linkend="GskRenderNode"><type>GskRenderNode</type></link>. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>type</acronym> GskColorMatrixNode]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gsk-color-matrix-node-get-color-matrix.returns" role="returns">
<title>Returns</title>
<para> a 4x4 color matrix</para>
</refsect3></refsect2>
<refsect2 id="gsk-color-matrix-node-get-color-offset" role="function">
<title>gsk_color_matrix_node_get_color_offset&#160;()</title>
<indexterm zone="gsk-color-matrix-node-get-color-offset"><primary>gsk_color_matrix_node_get_color_offset</primary></indexterm>
<programlisting language="C">const <link linkend="graphene-vec4-t"><returnvalue>graphene_vec4_t</returnvalue></link>&#160;*
gsk_color_matrix_node_get_color_offset
                               (<parameter><link linkend="GskRenderNode"><type>GskRenderNode</type></link> *node</parameter>);</programlisting>
<para>Retrieves the color offset used by the <parameter>node</parameter>
.</para>
<refsect3 id="gsk-color-matrix-node-get-color-offset.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>node</para></entry>
<entry role="parameter_description"><para>a color matrix <link linkend="GskRenderNode"><type>GskRenderNode</type></link>. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>type</acronym> GskColorMatrixNode]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gsk-color-matrix-node-get-color-offset.returns" role="returns">
<title>Returns</title>
<para> a color vector</para>
</refsect3></refsect2>
<refsect2 id="gsk-repeat-node-new" role="function">
<title>gsk_repeat_node_new&#160;()</title>
<indexterm zone="gsk-repeat-node-new"><primary>gsk_repeat_node_new</primary></indexterm>
<programlisting language="C"><link linkend="GskRenderNode"><returnvalue>GskRenderNode</returnvalue></link>&#160;*
gsk_repeat_node_new (<parameter>const <link linkend="graphene-rect-t"><type>graphene_rect_t</type></link> *bounds</parameter>,
                     <parameter><link linkend="GskRenderNode"><type>GskRenderNode</type></link> *child</parameter>,
                     <parameter>const <link linkend="graphene-rect-t"><type>graphene_rect_t</type></link> *child_bounds</parameter>);</programlisting>
<para>Creates a <link linkend="GskRenderNode"><type>GskRenderNode</type></link> that will repeat the drawing of <parameter>child</parameter>
 across
the given <parameter>bounds</parameter>
.</para>
<refsect3 id="gsk-repeat-node-new.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>bounds</para></entry>
<entry role="parameter_description"><para>The bounds of the area to be painted</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>child</para></entry>
<entry role="parameter_description"><para>The child to repeat</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>child_bounds</para></entry>
<entry role="parameter_description"><para>The area of the child to repeat or <link linkend="NULL:CAPS"><literal>NULL</literal></link> to
use the child's bounds. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>allow-none</acronym>]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gsk-repeat-node-new.returns" role="returns">
<title>Returns</title>
<para>A new <link linkend="GskRenderNode"><type>GskRenderNode</type></link>. </para>
<para><emphasis role="annotation">[<acronym>transfer full</acronym>][<acronym>type</acronym> GskRepeatNode]</emphasis></para>
</refsect3></refsect2>
<refsect2 id="gsk-repeat-node-get-child" role="function">
<title>gsk_repeat_node_get_child&#160;()</title>
<indexterm zone="gsk-repeat-node-get-child"><primary>gsk_repeat_node_get_child</primary></indexterm>
<programlisting language="C"><link linkend="GskRenderNode"><returnvalue>GskRenderNode</returnvalue></link>&#160;*
gsk_repeat_node_get_child (<parameter><link linkend="GskRenderNode"><type>GskRenderNode</type></link> *node</parameter>);</programlisting>
<para>Retrieves the child of <parameter>node</parameter>
.</para>
<refsect3 id="gsk-repeat-node-get-child.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>node</para></entry>
<entry role="parameter_description"><para>a repeat <link linkend="GskRenderNode"><type>GskRenderNode</type></link>. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>type</acronym> GskRepeatNode]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gsk-repeat-node-get-child.returns" role="returns">
<title>Returns</title>
<para>a <link linkend="GskRenderNode"><type>GskRenderNode</type></link>. </para>
<para><emphasis role="annotation">[<acronym>transfer none</acronym>]</emphasis></para>
</refsect3></refsect2>
<refsect2 id="gsk-repeat-node-get-child-bounds" role="function">
<title>gsk_repeat_node_get_child_bounds&#160;()</title>
<indexterm zone="gsk-repeat-node-get-child-bounds"><primary>gsk_repeat_node_get_child_bounds</primary></indexterm>
<programlisting language="C">const <link linkend="graphene-rect-t"><returnvalue>graphene_rect_t</returnvalue></link>&#160;*
gsk_repeat_node_get_child_bounds (<parameter><link linkend="GskRenderNode"><type>GskRenderNode</type></link> *node</parameter>);</programlisting>
<para>Retrieves the bounding rectangle of the child of <parameter>node</parameter>
.</para>
<refsect3 id="gsk-repeat-node-get-child-bounds.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>node</para></entry>
<entry role="parameter_description"><para>a repeat <link linkend="GskRenderNode"><type>GskRenderNode</type></link>. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>type</acronym> GskRepeatNode]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gsk-repeat-node-get-child-bounds.returns" role="returns">
<title>Returns</title>
<para>a bounding rectangle. </para>
<para><emphasis role="annotation">[<acronym>transfer none</acronym>]</emphasis></para>
</refsect3></refsect2>
<refsect2 id="gsk-clip-node-new" role="function">
<title>gsk_clip_node_new&#160;()</title>
<indexterm zone="gsk-clip-node-new"><primary>gsk_clip_node_new</primary></indexterm>
<programlisting language="C"><link linkend="GskRenderNode"><returnvalue>GskRenderNode</returnvalue></link>&#160;*
gsk_clip_node_new (<parameter><link linkend="GskRenderNode"><type>GskRenderNode</type></link> *child</parameter>,
                   <parameter>const <link linkend="graphene-rect-t"><type>graphene_rect_t</type></link> *clip</parameter>);</programlisting>
<para>Creates a <link linkend="GskRenderNode"><type>GskRenderNode</type></link> that will clip the <parameter>child</parameter>
 to the area
given by <parameter>clip</parameter>
.</para>
<refsect3 id="gsk-clip-node-new.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>child</para></entry>
<entry role="parameter_description"><para>The node to draw</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>clip</para></entry>
<entry role="parameter_description"><para>The clip to apply</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gsk-clip-node-new.returns" role="returns">
<title>Returns</title>
<para>A new <link linkend="GskRenderNode"><type>GskRenderNode</type></link>. </para>
<para><emphasis role="annotation">[<acronym>transfer full</acronym>][<acronym>type</acronym> GskClipNode]</emphasis></para>
</refsect3></refsect2>
<refsect2 id="gsk-clip-node-get-child" role="function">
<title>gsk_clip_node_get_child&#160;()</title>
<indexterm zone="gsk-clip-node-get-child"><primary>gsk_clip_node_get_child</primary></indexterm>
<programlisting language="C"><link linkend="GskRenderNode"><returnvalue>GskRenderNode</returnvalue></link>&#160;*
gsk_clip_node_get_child (<parameter><link linkend="GskRenderNode"><type>GskRenderNode</type></link> *node</parameter>);</programlisting>
<para>Gets the child node that is getting clipped by the given <parameter>node</parameter>
.</para>
<refsect3 id="gsk-clip-node-get-child.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>node</para></entry>
<entry role="parameter_description"><para>a clip <parameter>GskRenderNode</parameter>
. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>type</acronym> GskClipNode]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gsk-clip-node-get-child.returns" role="returns">
<title>Returns</title>
<para>The child that is getting clipped. </para>
<para><emphasis role="annotation">[<acronym>transfer none</acronym>]</emphasis></para>
</refsect3></refsect2>
<refsect2 id="gsk-clip-node-get-clip" role="function">
<title>gsk_clip_node_get_clip&#160;()</title>
<indexterm zone="gsk-clip-node-get-clip"><primary>gsk_clip_node_get_clip</primary></indexterm>
<programlisting language="C">const <link linkend="graphene-rect-t"><returnvalue>graphene_rect_t</returnvalue></link>&#160;*
gsk_clip_node_get_clip (<parameter><link linkend="GskRenderNode"><type>GskRenderNode</type></link> *node</parameter>);</programlisting>
<para>Retrieves the clip rectangle for <parameter>node</parameter>
.</para>
<refsect3 id="gsk-clip-node-get-clip.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>node</para></entry>
<entry role="parameter_description"><para>a <link linkend="GskClipNode"><type>GskClipNode</type></link>. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>type</acronym> GskClipNode]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gsk-clip-node-get-clip.returns" role="returns">
<title>Returns</title>
<para> a clip rectangle</para>
</refsect3></refsect2>
<refsect2 id="gsk-rounded-clip-node-new" role="function">
<title>gsk_rounded_clip_node_new&#160;()</title>
<indexterm zone="gsk-rounded-clip-node-new"><primary>gsk_rounded_clip_node_new</primary></indexterm>
<programlisting language="C"><link linkend="GskRenderNode"><returnvalue>GskRenderNode</returnvalue></link>&#160;*
gsk_rounded_clip_node_new (<parameter><link linkend="GskRenderNode"><type>GskRenderNode</type></link> *child</parameter>,
                           <parameter>const <link linkend="GskRoundedRect"><type>GskRoundedRect</type></link> *clip</parameter>);</programlisting>
<para>Creates a <link linkend="GskRenderNode"><type>GskRenderNode</type></link> that will clip the <parameter>child</parameter>
 to the area
given by <parameter>clip</parameter>
.</para>
<refsect3 id="gsk-rounded-clip-node-new.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>child</para></entry>
<entry role="parameter_description"><para>The node to draw</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>clip</para></entry>
<entry role="parameter_description"><para>The clip to apply</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gsk-rounded-clip-node-new.returns" role="returns">
<title>Returns</title>
<para>A new <link linkend="GskRenderNode"><type>GskRenderNode</type></link>. </para>
<para><emphasis role="annotation">[<acronym>transfer none</acronym>][<acronym>type</acronym> GskRoundedClipNode]</emphasis></para>
</refsect3></refsect2>
<refsect2 id="gsk-rounded-clip-node-get-child" role="function">
<title>gsk_rounded_clip_node_get_child&#160;()</title>
<indexterm zone="gsk-rounded-clip-node-get-child"><primary>gsk_rounded_clip_node_get_child</primary></indexterm>
<programlisting language="C"><link linkend="GskRenderNode"><returnvalue>GskRenderNode</returnvalue></link>&#160;*
gsk_rounded_clip_node_get_child (<parameter><link linkend="GskRenderNode"><type>GskRenderNode</type></link> *node</parameter>);</programlisting>
<para>Gets the child node that is getting clipped by the given <parameter>node</parameter>
.</para>
<refsect3 id="gsk-rounded-clip-node-get-child.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>node</para></entry>
<entry role="parameter_description"><para>a rounded clip <link linkend="GskRenderNode"><type>GskRenderNode</type></link>. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>type</acronym> GskRoundedClipNode]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gsk-rounded-clip-node-get-child.returns" role="returns">
<title>Returns</title>
<para>The child that is getting clipped. </para>
<para><emphasis role="annotation">[<acronym>transfer none</acronym>]</emphasis></para>
</refsect3></refsect2>
<refsect2 id="gsk-rounded-clip-node-get-clip" role="function">
<title>gsk_rounded_clip_node_get_clip&#160;()</title>
<indexterm zone="gsk-rounded-clip-node-get-clip"><primary>gsk_rounded_clip_node_get_clip</primary></indexterm>
<programlisting language="C">const <link linkend="GskRoundedRect"><returnvalue>GskRoundedRect</returnvalue></link>&#160;*
gsk_rounded_clip_node_get_clip (<parameter><link linkend="GskRenderNode"><type>GskRenderNode</type></link> *node</parameter>);</programlisting>
<para>Retrievs the rounded rectangle used to clip the contents of the <parameter>node</parameter>
.</para>
<refsect3 id="gsk-rounded-clip-node-get-clip.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>node</para></entry>
<entry role="parameter_description"><para>a rounded clip <link linkend="GskRenderNode"><type>GskRenderNode</type></link>. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>type</acronym> GskRoundedClipNode]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gsk-rounded-clip-node-get-clip.returns" role="returns">
<title>Returns</title>
<para>a rounded rectangle. </para>
<para><emphasis role="annotation">[<acronym>transfer none</acronym>]</emphasis></para>
</refsect3></refsect2>
<refsect2 id="gsk-shadow-node-new" role="function">
<title>gsk_shadow_node_new&#160;()</title>
<indexterm zone="gsk-shadow-node-new"><primary>gsk_shadow_node_new</primary></indexterm>
<programlisting language="C"><link linkend="GskRenderNode"><returnvalue>GskRenderNode</returnvalue></link>&#160;*
gsk_shadow_node_new (<parameter><link linkend="GskRenderNode"><type>GskRenderNode</type></link> *child</parameter>,
                     <parameter>const <link linkend="GskShadow"><type>GskShadow</type></link> *shadows</parameter>,
                     <parameter><link linkend="gsize"><type>gsize</type></link> n_shadows</parameter>);</programlisting>
<para>Creates a <link linkend="GskRenderNode"><type>GskRenderNode</type></link> that will draw a <parameter>child</parameter>
 with the given
<parameter>shadows</parameter>
 below it.</para>
<refsect3 id="gsk-shadow-node-new.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>child</para></entry>
<entry role="parameter_description"><para>The node to draw</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>shadows</para></entry>
<entry role="parameter_description"><para>The shadows to apply. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>array</acronym> length=n_shadows]</emphasis></entry></row>
<row><entry role="parameter_name"><para>n_shadows</para></entry>
<entry role="parameter_description"><para>number of entries in the <parameter>shadows</parameter>
array</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gsk-shadow-node-new.returns" role="returns">
<title>Returns</title>
<para>A new <link linkend="GskRenderNode"><type>GskRenderNode</type></link>. </para>
<para><emphasis role="annotation">[<acronym>transfer full</acronym>][<acronym>type</acronym> GskShadowNode]</emphasis></para>
</refsect3></refsect2>
<refsect2 id="gsk-shadow-node-get-shadow" role="function">
<title>gsk_shadow_node_get_shadow&#160;()</title>
<indexterm zone="gsk-shadow-node-get-shadow"><primary>gsk_shadow_node_get_shadow</primary></indexterm>
<programlisting language="C">const <link linkend="GskShadow"><returnvalue>GskShadow</returnvalue></link>&#160;*
gsk_shadow_node_get_shadow (<parameter><link linkend="GskRenderNode"><type>GskRenderNode</type></link> *node</parameter>,
                            <parameter><link linkend="gsize"><type>gsize</type></link> i</parameter>);</programlisting>
<para>Retrieves the shadow data at the given index <parameter>i</parameter>
.</para>
<refsect3 id="gsk-shadow-node-get-shadow.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>node</para></entry>
<entry role="parameter_description"><para>a shadow <link linkend="GskRenderNode"><type>GskRenderNode</type></link>. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>type</acronym> GskShadowNode]</emphasis></entry></row>
<row><entry role="parameter_name"><para>i</para></entry>
<entry role="parameter_description"><para>the given index</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gsk-shadow-node-get-shadow.returns" role="returns">
<title>Returns</title>
<para>the shadow data. </para>
<para><emphasis role="annotation">[<acronym>transfer none</acronym>]</emphasis></para>
</refsect3></refsect2>
<refsect2 id="gsk-shadow-node-get-n-shadows" role="function">
<title>gsk_shadow_node_get_n_shadows&#160;()</title>
<indexterm zone="gsk-shadow-node-get-n-shadows"><primary>gsk_shadow_node_get_n_shadows</primary></indexterm>
<programlisting language="C"><link linkend="gsize"><returnvalue>gsize</returnvalue></link>
gsk_shadow_node_get_n_shadows (<parameter><link linkend="GskRenderNode"><type>GskRenderNode</type></link> *node</parameter>);</programlisting>
<para>Retrieves the number of shadows in the <parameter>node</parameter>
.</para>
<refsect3 id="gsk-shadow-node-get-n-shadows.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>node</para></entry>
<entry role="parameter_description"><para>a shadow <link linkend="GskRenderNode"><type>GskRenderNode</type></link>. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>type</acronym> GskShadowNode]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gsk-shadow-node-get-n-shadows.returns" role="returns">
<title>Returns</title>
<para> the number of shadows.</para>
</refsect3></refsect2>
<refsect2 id="gsk-shadow-node-get-child" role="function">
<title>gsk_shadow_node_get_child&#160;()</title>
<indexterm zone="gsk-shadow-node-get-child"><primary>gsk_shadow_node_get_child</primary></indexterm>
<programlisting language="C"><link linkend="GskRenderNode"><returnvalue>GskRenderNode</returnvalue></link>&#160;*
gsk_shadow_node_get_child (<parameter><link linkend="GskRenderNode"><type>GskRenderNode</type></link> *node</parameter>);</programlisting>
<para>Retrieves the child <link linkend="GskRenderNode"><type>GskRenderNode</type></link> of the shadow <parameter>node</parameter>
.</para>
<refsect3 id="gsk-shadow-node-get-child.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>node</para></entry>
<entry role="parameter_description"><para>a shadow <link linkend="GskRenderNode"><type>GskRenderNode</type></link>. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>type</acronym> GskShadowNode]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gsk-shadow-node-get-child.returns" role="returns">
<title>Returns</title>
<para>the child render node. </para>
<para><emphasis role="annotation">[<acronym>transfer none</acronym>]</emphasis></para>
</refsect3></refsect2>
<refsect2 id="gsk-blend-node-new" role="function">
<title>gsk_blend_node_new&#160;()</title>
<indexterm zone="gsk-blend-node-new"><primary>gsk_blend_node_new</primary></indexterm>
<programlisting language="C"><link linkend="GskRenderNode"><returnvalue>GskRenderNode</returnvalue></link>&#160;*
gsk_blend_node_new (<parameter><link linkend="GskRenderNode"><type>GskRenderNode</type></link> *bottom</parameter>,
                    <parameter><link linkend="GskRenderNode"><type>GskRenderNode</type></link> *top</parameter>,
                    <parameter><link linkend="GskBlendMode"><type>GskBlendMode</type></link> blend_mode</parameter>);</programlisting>
<para>Creates a <link linkend="GskRenderNode"><type>GskRenderNode</type></link> that will use <parameter>blend_mode</parameter>
 to blend the <parameter>top</parameter>

node onto the <parameter>bottom</parameter>
 node.</para>
<refsect3 id="gsk-blend-node-new.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>bottom</para></entry>
<entry role="parameter_description"><para>The bottom node to be drawn</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>top</para></entry>
<entry role="parameter_description"><para>The node to be blended onto the <parameter>bottom</parameter>
node</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>blend_mode</para></entry>
<entry role="parameter_description"><para>The blend mode to use</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gsk-blend-node-new.returns" role="returns">
<title>Returns</title>
<para>A new <link linkend="GskRenderNode"><type>GskRenderNode</type></link>. </para>
<para><emphasis role="annotation">[<acronym>transfer full</acronym>][<acronym>type</acronym> GskBlendNode]</emphasis></para>
</refsect3></refsect2>
<refsect2 id="gsk-blend-node-get-bottom-child" role="function">
<title>gsk_blend_node_get_bottom_child&#160;()</title>
<indexterm zone="gsk-blend-node-get-bottom-child"><primary>gsk_blend_node_get_bottom_child</primary></indexterm>
<programlisting language="C"><link linkend="GskRenderNode"><returnvalue>GskRenderNode</returnvalue></link>&#160;*
gsk_blend_node_get_bottom_child (<parameter><link linkend="GskRenderNode"><type>GskRenderNode</type></link> *node</parameter>);</programlisting>
<para>Retrieves the bottom <link linkend="GskRenderNode"><type>GskRenderNode</type></link> child of the <parameter>node</parameter>
.</para>
<refsect3 id="gsk-blend-node-get-bottom-child.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>node</para></entry>
<entry role="parameter_description"><para>a blending <link linkend="GskRenderNode"><type>GskRenderNode</type></link>. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>type</acronym> GskBlendNode]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gsk-blend-node-get-bottom-child.returns" role="returns">
<title>Returns</title>
<para>the bottom child node. </para>
<para><emphasis role="annotation">[<acronym>transfer none</acronym>]</emphasis></para>
</refsect3></refsect2>
<refsect2 id="gsk-blend-node-get-top-child" role="function">
<title>gsk_blend_node_get_top_child&#160;()</title>
<indexterm zone="gsk-blend-node-get-top-child"><primary>gsk_blend_node_get_top_child</primary></indexterm>
<programlisting language="C"><link linkend="GskRenderNode"><returnvalue>GskRenderNode</returnvalue></link>&#160;*
gsk_blend_node_get_top_child (<parameter><link linkend="GskRenderNode"><type>GskRenderNode</type></link> *node</parameter>);</programlisting>
<para>Retrieves the top <link linkend="GskRenderNode"><type>GskRenderNode</type></link> child of the <parameter>node</parameter>
.</para>
<refsect3 id="gsk-blend-node-get-top-child.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>node</para></entry>
<entry role="parameter_description"><para>a blending <link linkend="GskRenderNode"><type>GskRenderNode</type></link>. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>type</acronym> GskBlendNode]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gsk-blend-node-get-top-child.returns" role="returns">
<title>Returns</title>
<para>the top child node. </para>
<para><emphasis role="annotation">[<acronym>transfer none</acronym>]</emphasis></para>
</refsect3></refsect2>
<refsect2 id="gsk-blend-node-get-blend-mode" role="function">
<title>gsk_blend_node_get_blend_mode&#160;()</title>
<indexterm zone="gsk-blend-node-get-blend-mode"><primary>gsk_blend_node_get_blend_mode</primary></indexterm>
<programlisting language="C"><link linkend="GskBlendMode"><returnvalue>GskBlendMode</returnvalue></link>
gsk_blend_node_get_blend_mode (<parameter><link linkend="GskRenderNode"><type>GskRenderNode</type></link> *node</parameter>);</programlisting>
<para>Retrieves the blend mode used by <parameter>node</parameter>
.</para>
<refsect3 id="gsk-blend-node-get-blend-mode.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>node</para></entry>
<entry role="parameter_description"><para>a blending <link linkend="GskRenderNode"><type>GskRenderNode</type></link>. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>type</acronym> GskBlendNode]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gsk-blend-node-get-blend-mode.returns" role="returns">
<title>Returns</title>
<para> the blend mode</para>
</refsect3></refsect2>
<refsect2 id="gsk-cross-fade-node-new" role="function">
<title>gsk_cross_fade_node_new&#160;()</title>
<indexterm zone="gsk-cross-fade-node-new"><primary>gsk_cross_fade_node_new</primary></indexterm>
<programlisting language="C"><link linkend="GskRenderNode"><returnvalue>GskRenderNode</returnvalue></link>&#160;*
gsk_cross_fade_node_new (<parameter><link linkend="GskRenderNode"><type>GskRenderNode</type></link> *start</parameter>,
                         <parameter><link linkend="GskRenderNode"><type>GskRenderNode</type></link> *end</parameter>,
                         <parameter><link linkend="float"><type>float</type></link> progress</parameter>);</programlisting>
<para>Creates a <link linkend="GskRenderNode"><type>GskRenderNode</type></link> that will do a cross-fade between <parameter>start</parameter>
 and <parameter>end</parameter>
.</para>
<refsect3 id="gsk-cross-fade-node-new.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>start</para></entry>
<entry role="parameter_description"><para>The start node to be drawn</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>end</para></entry>
<entry role="parameter_description"><para>The node to be cross_fadeed onto the <parameter>start</parameter>
node</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>progress</para></entry>
<entry role="parameter_description"><para>How far the fade has progressed from start to end. The value will
be clamped to the range [0 ... 1]</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gsk-cross-fade-node-new.returns" role="returns">
<title>Returns</title>
<para>A new <link linkend="GskRenderNode"><type>GskRenderNode</type></link>. </para>
<para><emphasis role="annotation">[<acronym>transfer full</acronym>][<acronym>type</acronym> GskCrossFadeNode]</emphasis></para>
</refsect3></refsect2>
<refsect2 id="gsk-cross-fade-node-get-start-child" role="function">
<title>gsk_cross_fade_node_get_start_child&#160;()</title>
<indexterm zone="gsk-cross-fade-node-get-start-child"><primary>gsk_cross_fade_node_get_start_child</primary></indexterm>
<programlisting language="C"><link linkend="GskRenderNode"><returnvalue>GskRenderNode</returnvalue></link>&#160;*
gsk_cross_fade_node_get_start_child (<parameter><link linkend="GskRenderNode"><type>GskRenderNode</type></link> *node</parameter>);</programlisting>
<para>Retrieves the child <link linkend="GskRenderNode"><type>GskRenderNode</type></link> at the beginning of the cross-fade.</para>
<refsect3 id="gsk-cross-fade-node-get-start-child.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>node</para></entry>
<entry role="parameter_description"><para>a cross-fading <link linkend="GskRenderNode"><type>GskRenderNode</type></link>. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>type</acronym> GskCrossFadeNode]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gsk-cross-fade-node-get-start-child.returns" role="returns">
<title>Returns</title>
<para>a <link linkend="GskRenderNode"><type>GskRenderNode</type></link>. </para>
<para><emphasis role="annotation">[<acronym>transfer none</acronym>]</emphasis></para>
</refsect3></refsect2>
<refsect2 id="gsk-cross-fade-node-get-end-child" role="function">
<title>gsk_cross_fade_node_get_end_child&#160;()</title>
<indexterm zone="gsk-cross-fade-node-get-end-child"><primary>gsk_cross_fade_node_get_end_child</primary></indexterm>
<programlisting language="C"><link linkend="GskRenderNode"><returnvalue>GskRenderNode</returnvalue></link>&#160;*
gsk_cross_fade_node_get_end_child (<parameter><link linkend="GskRenderNode"><type>GskRenderNode</type></link> *node</parameter>);</programlisting>
<para>Retrieves the child <link linkend="GskRenderNode"><type>GskRenderNode</type></link> at the end of the cross-fade.</para>
<refsect3 id="gsk-cross-fade-node-get-end-child.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>node</para></entry>
<entry role="parameter_description"><para>a cross-fading <link linkend="GskRenderNode"><type>GskRenderNode</type></link>. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>type</acronym> GskCrossFadeNode]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gsk-cross-fade-node-get-end-child.returns" role="returns">
<title>Returns</title>
<para>a <link linkend="GskRenderNode"><type>GskRenderNode</type></link>. </para>
<para><emphasis role="annotation">[<acronym>transfer none</acronym>]</emphasis></para>
</refsect3></refsect2>
<refsect2 id="gsk-cross-fade-node-get-progress" role="function">
<title>gsk_cross_fade_node_get_progress&#160;()</title>
<indexterm zone="gsk-cross-fade-node-get-progress"><primary>gsk_cross_fade_node_get_progress</primary></indexterm>
<programlisting language="C"><link linkend="float"><returnvalue>float</returnvalue></link>
gsk_cross_fade_node_get_progress (<parameter><link linkend="GskRenderNode"><type>GskRenderNode</type></link> *node</parameter>);</programlisting>
<para>Retrieves the progress value of the cross fade.</para>
<refsect3 id="gsk-cross-fade-node-get-progress.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>node</para></entry>
<entry role="parameter_description"><para>a cross-fading <link linkend="GskRenderNode"><type>GskRenderNode</type></link>. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>type</acronym> GskCrossFadeNode]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gsk-cross-fade-node-get-progress.returns" role="returns">
<title>Returns</title>
<para> the progress value, between 0 and 1</para>
</refsect3></refsect2>
<refsect2 id="gsk-text-node-new" role="function">
<title>gsk_text_node_new&#160;()</title>
<indexterm zone="gsk-text-node-new"><primary>gsk_text_node_new</primary></indexterm>
<programlisting language="C"><link linkend="GskRenderNode"><returnvalue>GskRenderNode</returnvalue></link>&#160;*
gsk_text_node_new (<parameter><link linkend="PangoFont"><type>PangoFont</type></link> *font</parameter>,
                   <parameter><link linkend="PangoGlyphString"><type>PangoGlyphString</type></link> *glyphs</parameter>,
                   <parameter>const <link linkend="GdkRGBA"><type>GdkRGBA</type></link> *color</parameter>,
                   <parameter>const <link linkend="graphene-point-t"><type>graphene_point_t</type></link> *offset</parameter>);</programlisting>
<para>Creates a render node that renders the given glyphs,
Note that <parameter>color</parameter>
 may not be used if the font contains
color glyphs.</para>
<refsect3 id="gsk-text-node-new.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>font</para></entry>
<entry role="parameter_description"><para>the <link linkend="PangoFont"><type>PangoFont</type></link> containing the glyphs</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>glyphs</para></entry>
<entry role="parameter_description"><para>the <link linkend="PangoGlyphString"><type>PangoGlyphString</type></link> to render</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>color</para></entry>
<entry role="parameter_description"><para>the foreground color to render with</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>offset</para></entry>
<entry role="parameter_description"><para>offset of the baseline</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gsk-text-node-new.returns" role="returns">
<title>Returns</title>
<para>a new <link linkend="GskRenderNode"><type>GskRenderNode</type></link>. </para>
<para><emphasis role="annotation">[<acronym>nullable</acronym>][<acronym>transfer full</acronym>][<acronym>type</acronym> GskTextNode]</emphasis></para>
</refsect3></refsect2>
<refsect2 id="gsk-text-node-get-font" role="function">
<title>gsk_text_node_get_font&#160;()</title>
<indexterm zone="gsk-text-node-get-font"><primary>gsk_text_node_get_font</primary></indexterm>
<programlisting language="C"><link linkend="PangoFont"><returnvalue>PangoFont</returnvalue></link>&#160;*
gsk_text_node_get_font (<parameter><link linkend="GskRenderNode"><type>GskRenderNode</type></link> *node</parameter>);</programlisting>
<para>Returns the font used by the text <parameter>node</parameter>
.</para>
<refsect3 id="gsk-text-node-get-font.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>node</para></entry>
<entry role="parameter_description"><para>The <link linkend="GskRenderNode"><type>GskRenderNode</type></link>. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>type</acronym> GskTextNode]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gsk-text-node-get-font.returns" role="returns">
<title>Returns</title>
<para>the font. </para>
<para><emphasis role="annotation">[<acronym>transfer none</acronym>]</emphasis></para>
</refsect3></refsect2>
<refsect2 id="gsk-text-node-get-glyphs" role="function">
<title>gsk_text_node_get_glyphs&#160;()</title>
<indexterm zone="gsk-text-node-get-glyphs"><primary>gsk_text_node_get_glyphs</primary></indexterm>
<programlisting language="C">const <link linkend="PangoGlyphInfo"><returnvalue>PangoGlyphInfo</returnvalue></link>&#160;*
gsk_text_node_get_glyphs (<parameter><link linkend="GskRenderNode"><type>GskRenderNode</type></link> *node</parameter>,
                          <parameter><link linkend="guint"><type>guint</type></link> *n_glyphs</parameter>);</programlisting>
<para>Retrieves the glyph information in the <parameter>node</parameter>
.</para>
<refsect3 id="gsk-text-node-get-glyphs.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>node</para></entry>
<entry role="parameter_description"><para>a text <link linkend="GskRenderNode"><type>GskRenderNode</type></link>. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>type</acronym> GskTextNode]</emphasis></entry></row>
<row><entry role="parameter_name"><para>n_glyphs</para></entry>
<entry role="parameter_description"><para>the number of glyphs returned. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>out</acronym>][<acronym>optional</acronym>]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gsk-text-node-get-glyphs.returns" role="returns">
<title>Returns</title>
<para>the glyph information. </para>
<para><emphasis role="annotation">[<acronym>transfer none</acronym>][<acronym>array</acronym> length=n_glyphs]</emphasis></para>
</refsect3></refsect2>
<refsect2 id="gsk-text-node-get-color" role="function">
<title>gsk_text_node_get_color&#160;()</title>
<indexterm zone="gsk-text-node-get-color"><primary>gsk_text_node_get_color</primary></indexterm>
<programlisting language="C">const <link linkend="GdkRGBA"><returnvalue>GdkRGBA</returnvalue></link>&#160;*
gsk_text_node_get_color (<parameter><link linkend="GskRenderNode"><type>GskRenderNode</type></link> *node</parameter>);</programlisting>
<para>Retrieves the color used by the text <parameter>node</parameter>
.</para>
<refsect3 id="gsk-text-node-get-color.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>node</para></entry>
<entry role="parameter_description"><para>a text <link linkend="GskRenderNode"><type>GskRenderNode</type></link>. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>type</acronym> GskTextNode]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gsk-text-node-get-color.returns" role="returns">
<title>Returns</title>
<para>the text color. </para>
<para><emphasis role="annotation">[<acronym>transfer none</acronym>]</emphasis></para>
</refsect3></refsect2>
<refsect2 id="gsk-text-node-has-color-glyphs" role="function">
<title>gsk_text_node_has_color_glyphs&#160;()</title>
<indexterm zone="gsk-text-node-has-color-glyphs"><primary>gsk_text_node_has_color_glyphs</primary></indexterm>
<programlisting language="C"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
gsk_text_node_has_color_glyphs (<parameter><link linkend="GskRenderNode"><type>GskRenderNode</type></link> *node</parameter>);</programlisting>
<para>Checks whether the text <parameter>node</parameter>
 has color glyphs.</para>
<refsect3 id="gsk-text-node-has-color-glyphs.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>node</para></entry>
<entry role="parameter_description"><para>a text <link linkend="GskRenderNode"><type>GskRenderNode</type></link>. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>type</acronym> GskTextNode]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gsk-text-node-has-color-glyphs.returns" role="returns">
<title>Returns</title>
<para> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if the text node has color glyphs</para>
</refsect3></refsect2>
<refsect2 id="gsk-text-node-get-num-glyphs" role="function">
<title>gsk_text_node_get_num_glyphs&#160;()</title>
<indexterm zone="gsk-text-node-get-num-glyphs"><primary>gsk_text_node_get_num_glyphs</primary></indexterm>
<programlisting language="C"><link linkend="guint"><returnvalue>guint</returnvalue></link>
gsk_text_node_get_num_glyphs (<parameter><link linkend="GskRenderNode"><type>GskRenderNode</type></link> *node</parameter>);</programlisting>
<para>Retrieves the number of glyphs in the text node.</para>
<refsect3 id="gsk-text-node-get-num-glyphs.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>node</para></entry>
<entry role="parameter_description"><para>a text <link linkend="GskRenderNode"><type>GskRenderNode</type></link>. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>type</acronym> GskTextNode]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gsk-text-node-get-num-glyphs.returns" role="returns">
<title>Returns</title>
<para> the number of glyphs</para>
</refsect3></refsect2>
<refsect2 id="gsk-text-node-get-offset" role="function">
<title>gsk_text_node_get_offset&#160;()</title>
<indexterm zone="gsk-text-node-get-offset"><primary>gsk_text_node_get_offset</primary></indexterm>
<programlisting language="C">const <link linkend="graphene-point-t"><returnvalue>graphene_point_t</returnvalue></link>&#160;*
gsk_text_node_get_offset (<parameter><link linkend="GskRenderNode"><type>GskRenderNode</type></link> *node</parameter>);</programlisting>
<para>Retrieves the offset applied to the text.</para>
<refsect3 id="gsk-text-node-get-offset.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>node</para></entry>
<entry role="parameter_description"><para>a text <link linkend="GskRenderNode"><type>GskRenderNode</type></link>. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>type</acronym> GskTextNode]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gsk-text-node-get-offset.returns" role="returns">
<title>Returns</title>
<para>a point with the horizontal and vertical offsets. </para>
<para><emphasis role="annotation">[<acronym>transfer none</acronym>]</emphasis></para>
</refsect3></refsect2>
<refsect2 id="gsk-blur-node-new" role="function">
<title>gsk_blur_node_new&#160;()</title>
<indexterm zone="gsk-blur-node-new"><primary>gsk_blur_node_new</primary></indexterm>
<programlisting language="C"><link linkend="GskRenderNode"><returnvalue>GskRenderNode</returnvalue></link>&#160;*
gsk_blur_node_new (<parameter><link linkend="GskRenderNode"><type>GskRenderNode</type></link> *child</parameter>,
                   <parameter><link linkend="float"><type>float</type></link> radius</parameter>);</programlisting>
<para>Creates a render node that blurs the child.</para>
<refsect3 id="gsk-blur-node-new.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>child</para></entry>
<entry role="parameter_description"><para>the child node to blur</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>radius</para></entry>
<entry role="parameter_description"><para>the blur radius</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gsk-blur-node-new.returns" role="returns">
<title>Returns</title>
<para>a new <link linkend="GskRenderNode"><type>GskRenderNode</type></link>. </para>
<para><emphasis role="annotation">[<acronym>transfer full</acronym>][<acronym>type</acronym> GskBlurNode]</emphasis></para>
</refsect3></refsect2>
<refsect2 id="gsk-blur-node-get-child" role="function">
<title>gsk_blur_node_get_child&#160;()</title>
<indexterm zone="gsk-blur-node-get-child"><primary>gsk_blur_node_get_child</primary></indexterm>
<programlisting language="C"><link linkend="GskRenderNode"><returnvalue>GskRenderNode</returnvalue></link>&#160;*
gsk_blur_node_get_child (<parameter><link linkend="GskRenderNode"><type>GskRenderNode</type></link> *node</parameter>);</programlisting>
<para>Retrieves the child <link linkend="GskRenderNode"><type>GskRenderNode</type></link> of the blur <parameter>node</parameter>
.</para>
<refsect3 id="gsk-blur-node-get-child.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>node</para></entry>
<entry role="parameter_description"><para>a blur <link linkend="GskRenderNode"><type>GskRenderNode</type></link>. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>type</acronym> GskBlurNode]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gsk-blur-node-get-child.returns" role="returns">
<title>Returns</title>
<para>the blurred child node. </para>
<para><emphasis role="annotation">[<acronym>transfer none</acronym>]</emphasis></para>
</refsect3></refsect2>
<refsect2 id="gsk-blur-node-get-radius" role="function">
<title>gsk_blur_node_get_radius&#160;()</title>
<indexterm zone="gsk-blur-node-get-radius"><primary>gsk_blur_node_get_radius</primary></indexterm>
<programlisting language="C"><link linkend="float"><returnvalue>float</returnvalue></link>
gsk_blur_node_get_radius (<parameter><link linkend="GskRenderNode"><type>GskRenderNode</type></link> *node</parameter>);</programlisting>
<para>Retrieves the blur radius of the <parameter>node</parameter>
.</para>
<refsect3 id="gsk-blur-node-get-radius.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>node</para></entry>
<entry role="parameter_description"><para>a blur <link linkend="GskRenderNode"><type>GskRenderNode</type></link>. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>type</acronym> GskBlurNode]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gsk-blur-node-get-radius.returns" role="returns">
<title>Returns</title>
<para> the blur radius</para>
</refsect3></refsect2>
<refsect2 id="gsk-debug-node-new" role="function">
<title>gsk_debug_node_new&#160;()</title>
<indexterm zone="gsk-debug-node-new"><primary>gsk_debug_node_new</primary></indexterm>
<programlisting language="C"><link linkend="GskRenderNode"><returnvalue>GskRenderNode</returnvalue></link>&#160;*
gsk_debug_node_new (<parameter><link linkend="GskRenderNode"><type>GskRenderNode</type></link> *child</parameter>,
                    <parameter><link linkend="char"><type>char</type></link> *message</parameter>);</programlisting>
<para>Creates a <link linkend="GskRenderNode"><type>GskRenderNode</type></link> that will add debug information about
the given <parameter>child</parameter>
.</para>
<para>Adding this node has no visual effect.</para>
<refsect3 id="gsk-debug-node-new.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>child</para></entry>
<entry role="parameter_description"><para>The child to add debug info for</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>message</para></entry>
<entry role="parameter_description"><para>The debug message. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>transfer full</acronym>]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gsk-debug-node-new.returns" role="returns">
<title>Returns</title>
<para>A new <link linkend="GskRenderNode"><type>GskRenderNode</type></link>. </para>
<para><emphasis role="annotation">[<acronym>transfer full</acronym>][<acronym>type</acronym> GskDebugNode]</emphasis></para>
</refsect3></refsect2>
<refsect2 id="gsk-debug-node-get-child" role="function">
<title>gsk_debug_node_get_child&#160;()</title>
<indexterm zone="gsk-debug-node-get-child"><primary>gsk_debug_node_get_child</primary></indexterm>
<programlisting language="C"><link linkend="GskRenderNode"><returnvalue>GskRenderNode</returnvalue></link>&#160;*
gsk_debug_node_get_child (<parameter><link linkend="GskRenderNode"><type>GskRenderNode</type></link> *node</parameter>);</programlisting>
<para>Gets the child node that is getting drawn by the given <parameter>node</parameter>
.</para>
<refsect3 id="gsk-debug-node-get-child.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>node</para></entry>
<entry role="parameter_description"><para>a debug <link linkend="GskRenderNode"><type>GskRenderNode</type></link>. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>type</acronym> GskDebugNode]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gsk-debug-node-get-child.returns" role="returns">
<title>Returns</title>
<para>the child <link linkend="GskRenderNode"><type>GskRenderNode</type></link>. </para>
<para><emphasis role="annotation">[<acronym>transfer none</acronym>]</emphasis></para>
</refsect3></refsect2>
<refsect2 id="gsk-debug-node-get-message" role="function">
<title>gsk_debug_node_get_message&#160;()</title>
<indexterm zone="gsk-debug-node-get-message"><primary>gsk_debug_node_get_message</primary></indexterm>
<programlisting language="C">const <link linkend="char"><returnvalue>char</returnvalue></link>&#160;*
gsk_debug_node_get_message (<parameter><link linkend="GskRenderNode"><type>GskRenderNode</type></link> *node</parameter>);</programlisting>
<para>Gets the debug message that was set on this node</para>
<refsect3 id="gsk-debug-node-get-message.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>node</para></entry>
<entry role="parameter_description"><para>a debug <link linkend="GskRenderNode"><type>GskRenderNode</type></link>. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>type</acronym> GskDebugNode]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gsk-debug-node-get-message.returns" role="returns">
<title>Returns</title>
<para>The debug message. </para>
<para><emphasis role="annotation">[<acronym>transfer none</acronym>]</emphasis></para>
</refsect3></refsect2>
<refsect2 id="gsk-gl-shader-node-new" role="function">
<title>gsk_gl_shader_node_new&#160;()</title>
<indexterm zone="gsk-gl-shader-node-new"><primary>gsk_gl_shader_node_new</primary></indexterm>
<programlisting language="C"><link linkend="GskRenderNode"><returnvalue>GskRenderNode</returnvalue></link>&#160;*
gsk_gl_shader_node_new (<parameter><link linkend="GskGLShader"><type>GskGLShader</type></link> *shader</parameter>,
                        <parameter>const <link linkend="graphene-rect-t"><type>graphene_rect_t</type></link> *bounds</parameter>,
                        <parameter><link linkend="GBytes"><type>GBytes</type></link> *args</parameter>,
                        <parameter><link linkend="GskRenderNode"><type>GskRenderNode</type></link> **children</parameter>,
                        <parameter><link linkend="guint"><type>guint</type></link> n_children</parameter>);</programlisting>
<para>Creates a <link linkend="GskRenderNode"><type>GskRenderNode</type></link> that will render the given <parameter>shader</parameter>
 into the
area given by <parameter>bounds</parameter>
. The <parameter>args</parameter>
 is a block of data to use for uniform
input, as per types and offsets defined by the <parameter>shader</parameter>
. Normally this
is generated by <link linkend="gsk-gl-shader-format-args"><function>gsk_gl_shader_format_args()</function></link> or <link linkend="GskGLShaderArgBuilder"><type>GskGLShaderArgBuilder</type></link>.</para>
<para>See <link linkend="GskGLShader"><type>GskGLShader</type></link> for details about how the shader should be written.</para>
<para>All the children will be rendered into textures (if they aren't already
<link linkend="GskTextureNodes"><type>GskTextureNodes</type></link>, which will be used directly). These textures will be
sent as input to the shader.</para>
<para>If the renderer doesn't support GL shaders, or if there is any problem
when compiling the shader, then the node will draw pink. You should use
<link linkend="gsk-gl-shader-compile"><function>gsk_gl_shader_compile()</function></link> to ensure the <parameter>shader</parameter>
 will work for the
renderer before using it.</para>
<refsect3 id="gsk-gl-shader-node-new.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>shader</para></entry>
<entry role="parameter_description"><para>the <link linkend="GskGLShader"><type>GskGLShader</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>bounds</para></entry>
<entry role="parameter_description"><para>the rectangle to render the shader into</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>args</para></entry>
<entry role="parameter_description"><para>Arguments for the uniforms</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>children</para></entry>
<entry role="parameter_description"><para>array of child nodes, these will
be rendered to textures and used as input. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>array</acronym> length=n_children]</emphasis></entry></row>
<row><entry role="parameter_name"><para>n_children</para></entry>
<entry role="parameter_description"><para>Length of <parameter>children</parameter>
(currenly the GL backend supports
up to 4 children)</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gsk-gl-shader-node-new.returns" role="returns">
<title>Returns</title>
<para>A new <link linkend="GskRenderNode"><type>GskRenderNode</type></link>. </para>
<para><emphasis role="annotation">[<acronym>transfer full</acronym>][<acronym>type</acronym> GskGLShaderNode]</emphasis></para>
</refsect3></refsect2>
<refsect2 id="gsk-gl-shader-node-get-n-children" role="function">
<title>gsk_gl_shader_node_get_n_children&#160;()</title>
<indexterm zone="gsk-gl-shader-node-get-n-children"><primary>gsk_gl_shader_node_get_n_children</primary></indexterm>
<programlisting language="C"><link linkend="guint"><returnvalue>guint</returnvalue></link>
gsk_gl_shader_node_get_n_children (<parameter><link linkend="GskRenderNode"><type>GskRenderNode</type></link> *node</parameter>);</programlisting>
<para>Returns the number of children</para>
<refsect3 id="gsk-gl-shader-node-get-n-children.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>node</para></entry>
<entry role="parameter_description"><para>a <link linkend="GskRenderNode"><type>GskRenderNode</type></link> for a gl shader. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>type</acronym> GskGLShaderNode]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gsk-gl-shader-node-get-n-children.returns" role="returns">
<title>Returns</title>
<para> The number of children</para>
</refsect3></refsect2>
<refsect2 id="gsk-gl-shader-node-get-child" role="function">
<title>gsk_gl_shader_node_get_child&#160;()</title>
<indexterm zone="gsk-gl-shader-node-get-child"><primary>gsk_gl_shader_node_get_child</primary></indexterm>
<programlisting language="C"><link linkend="GskRenderNode"><returnvalue>GskRenderNode</returnvalue></link>&#160;*
gsk_gl_shader_node_get_child (<parameter><link linkend="GskRenderNode"><type>GskRenderNode</type></link> *node</parameter>,
                              <parameter><link linkend="guint"><type>guint</type></link> idx</parameter>);</programlisting>
<para>Gets one of the children.</para>
<refsect3 id="gsk-gl-shader-node-get-child.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>node</para></entry>
<entry role="parameter_description"><para>a <link linkend="GskRenderNode"><type>GskRenderNode</type></link> for a gl shader. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>type</acronym> GskGLShaderNode]</emphasis></entry></row>
<row><entry role="parameter_name"><para>idx</para></entry>
<entry role="parameter_description"><para>the position of the child to get</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gsk-gl-shader-node-get-child.returns" role="returns">
<title>Returns</title>
<para>the <parameter>idx</parameter>
'th child of <parameter>node</parameter>
. </para>
<para><emphasis role="annotation">[<acronym>transfer none</acronym>]</emphasis></para>
</refsect3></refsect2>
<refsect2 id="gsk-gl-shader-node-get-args" role="function">
<title>gsk_gl_shader_node_get_args&#160;()</title>
<indexterm zone="gsk-gl-shader-node-get-args"><primary>gsk_gl_shader_node_get_args</primary></indexterm>
<programlisting language="C"><link linkend="GBytes"><returnvalue>GBytes</returnvalue></link>&#160;*
gsk_gl_shader_node_get_args (<parameter><link linkend="GskRenderNode"><type>GskRenderNode</type></link> *node</parameter>);</programlisting>
<para>Gets args for the node.</para>
<refsect3 id="gsk-gl-shader-node-get-args.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>node</para></entry>
<entry role="parameter_description"><para>a <link linkend="GskRenderNode"><type>GskRenderNode</type></link> for a gl shader. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>type</acronym> GskGLShaderNode]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gsk-gl-shader-node-get-args.returns" role="returns">
<title>Returns</title>
<para>A <link linkend="GBytes"><type>GBytes</type></link> with the uniform arguments. </para>
<para><emphasis role="annotation">[<acronym>transfer none</acronym>]</emphasis></para>
</refsect3></refsect2>
<refsect2 id="gsk-gl-shader-node-get-shader" role="function">
<title>gsk_gl_shader_node_get_shader&#160;()</title>
<indexterm zone="gsk-gl-shader-node-get-shader"><primary>gsk_gl_shader_node_get_shader</primary></indexterm>
<programlisting language="C"><link linkend="GskGLShader"><returnvalue>GskGLShader</returnvalue></link>&#160;*
gsk_gl_shader_node_get_shader (<parameter><link linkend="GskRenderNode"><type>GskRenderNode</type></link> *node</parameter>);</programlisting>
<para>Gets shader code for the node.</para>
<refsect3 id="gsk-gl-shader-node-get-shader.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>node</para></entry>
<entry role="parameter_description"><para>a <link linkend="GskRenderNode"><type>GskRenderNode</type></link> for a gl shader. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>type</acronym> GskGLShaderNode]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gsk-gl-shader-node-get-shader.returns" role="returns">
<title>Returns</title>
<para>the <link linkend="GskGLShader"><type>GskGLShader</type></link> shader. </para>
<para><emphasis role="annotation">[<acronym>transfer none</acronym>]</emphasis></para>
</refsect3></refsect2>

</refsect1>
<refsect1 id="GskRenderNode.other_details" role="details">
<title role="details.title">Types and Values</title>
<refsect2 id="GskRenderNode-struct" role="struct">
<title>GskRenderNode</title>
<indexterm zone="GskRenderNode-struct"><primary>GskRenderNode</primary></indexterm>
<programlisting language="C">typedef struct _GskRenderNode GskRenderNode;</programlisting>
<para>A node in the render tree.</para>
</refsect2>
<refsect2 id="GskBlendNode" role="struct">
<title>GskBlendNode</title>
<indexterm zone="GskBlendNode"><primary>GskBlendNode</primary></indexterm>
<programlisting language="C">typedef struct _GskBlendNode GskBlendNode;</programlisting>
<para>A render node applying a blending function between its two child nodes.</para>
</refsect2>
<refsect2 id="GskBlurNode" role="struct">
<title>GskBlurNode</title>
<indexterm zone="GskBlurNode"><primary>GskBlurNode</primary></indexterm>
<programlisting language="C">typedef struct _GskBlurNode GskBlurNode;</programlisting>
<para>A render node applying a blur effect to its single child.</para>
</refsect2>
<refsect2 id="GskBorderNode" role="struct">
<title>GskBorderNode</title>
<indexterm zone="GskBorderNode"><primary>GskBorderNode</primary></indexterm>
<programlisting language="C">typedef struct _GskBorderNode GskBorderNode;</programlisting>
<para>A render node for a border.</para>
</refsect2>
<refsect2 id="GskCairoNode" role="struct">
<title>GskCairoNode</title>
<indexterm zone="GskCairoNode"><primary>GskCairoNode</primary></indexterm>
<programlisting language="C">typedef struct _GskCairoNode GskCairoNode;</programlisting>
<para>A render node for a Cairo surface.</para>
</refsect2>
<refsect2 id="GskClipNode" role="struct">
<title>GskClipNode</title>
<indexterm zone="GskClipNode"><primary>GskClipNode</primary></indexterm>
<programlisting language="C">typedef struct _GskClipNode GskClipNode;</programlisting>
<para>A render node applying a rectangular clip to its single child node.</para>
</refsect2>
<refsect2 id="GskColorMatrixNode" role="struct">
<title>GskColorMatrixNode</title>
<indexterm zone="GskColorMatrixNode"><primary>GskColorMatrixNode</primary></indexterm>
<programlisting language="C">typedef struct _GskColorMatrixNode GskColorMatrixNode;</programlisting>
<para>A render node controlling the color matrix of its single child node.</para>
</refsect2>
<refsect2 id="GskColorNode" role="struct">
<title>GskColorNode</title>
<indexterm zone="GskColorNode"><primary>GskColorNode</primary></indexterm>
<programlisting language="C">typedef struct _GskColorNode GskColorNode;</programlisting>
<para>A render node for a solid color.</para>
</refsect2>
<refsect2 id="GskConicGradientNode" role="struct">
<title>GskConicGradientNode</title>
<indexterm zone="GskConicGradientNode"><primary>GskConicGradientNode</primary></indexterm>
<programlisting language="C">typedef struct _GskConicGradientNode GskConicGradientNode;</programlisting>
<para>A render node for a conic gradient.</para>
</refsect2>
<refsect2 id="GskContainerNode" role="struct">
<title>GskContainerNode</title>
<indexterm zone="GskContainerNode"><primary>GskContainerNode</primary></indexterm>
<programlisting language="C">typedef struct _GskContainerNode GskContainerNode;</programlisting>
<para>A render node that can contain other render nodes.</para>
</refsect2>
<refsect2 id="GskCrossFadeNode" role="struct">
<title>GskCrossFadeNode</title>
<indexterm zone="GskCrossFadeNode"><primary>GskCrossFadeNode</primary></indexterm>
<programlisting language="C">typedef struct _GskCrossFadeNode GskCrossFadeNode;</programlisting>
<para>A render node cross fading between two child nodes.</para>
</refsect2>
<refsect2 id="GskDebugNode" role="struct">
<title>GskDebugNode</title>
<indexterm zone="GskDebugNode"><primary>GskDebugNode</primary></indexterm>
<programlisting language="C">typedef struct _GskDebugNode GskDebugNode;</programlisting>
<para>A render node that emits a debugging message when drawing its
child node.</para>
</refsect2>
<refsect2 id="GskInsetShadowNode" role="struct">
<title>GskInsetShadowNode</title>
<indexterm zone="GskInsetShadowNode"><primary>GskInsetShadowNode</primary></indexterm>
<programlisting language="C">typedef struct _GskInsetShadowNode GskInsetShadowNode;</programlisting>
<para>A render node for an inset shadow.</para>
</refsect2>
<refsect2 id="GskLinearGradientNode" role="struct">
<title>GskLinearGradientNode</title>
<indexterm zone="GskLinearGradientNode"><primary>GskLinearGradientNode</primary></indexterm>
<programlisting language="C">typedef struct _GskLinearGradientNode GskLinearGradientNode;</programlisting>
<para>A render node for a linear gradient.</para>
</refsect2>
<refsect2 id="GskRadialGradientNode" role="struct">
<title>GskRadialGradientNode</title>
<indexterm zone="GskRadialGradientNode"><primary>GskRadialGradientNode</primary></indexterm>
<programlisting language="C">typedef struct _GskRadialGradientNode GskRadialGradientNode;</programlisting>
<para>A render node for a radial gradient.</para>
</refsect2>
<refsect2 id="GskOpacityNode" role="struct">
<title>GskOpacityNode</title>
<indexterm zone="GskOpacityNode"><primary>GskOpacityNode</primary></indexterm>
<programlisting language="C">typedef struct _GskOpacityNode GskOpacityNode;</programlisting>
<para>A render node controlling the opacity of its single child node.</para>
</refsect2>
<refsect2 id="GskOutsetShadowNode" role="struct">
<title>GskOutsetShadowNode</title>
<indexterm zone="GskOutsetShadowNode"><primary>GskOutsetShadowNode</primary></indexterm>
<programlisting language="C">typedef struct _GskOutsetShadowNode GskOutsetShadowNode;</programlisting>
<para>A render node for an outset shadow.</para>
</refsect2>
<refsect2 id="GskRepeatingLinearGradientNode" role="struct">
<title>GskRepeatingLinearGradientNode</title>
<indexterm zone="GskRepeatingLinearGradientNode"><primary>GskRepeatingLinearGradientNode</primary></indexterm>
<programlisting language="C">typedef struct _GskRepeatingLinearGradientNode GskRepeatingLinearGradientNode;</programlisting>
<para>A render node for a repeating linear gradient.</para>
</refsect2>
<refsect2 id="GskRepeatingRadialGradientNode" role="struct">
<title>GskRepeatingRadialGradientNode</title>
<indexterm zone="GskRepeatingRadialGradientNode"><primary>GskRepeatingRadialGradientNode</primary></indexterm>
<programlisting language="C">typedef struct _GskRepeatingRadialGradientNode GskRepeatingRadialGradientNode;</programlisting>
<para>A render node for a repeating radial gradient.</para>
</refsect2>
<refsect2 id="GskRepeatNode" role="struct">
<title>GskRepeatNode</title>
<indexterm zone="GskRepeatNode"><primary>GskRepeatNode</primary></indexterm>
<programlisting language="C">typedef struct _GskRepeatNode GskRepeatNode;</programlisting>
<para>A render node repeating its single child node.</para>
</refsect2>
<refsect2 id="GskRoundedClipNode" role="struct">
<title>GskRoundedClipNode</title>
<indexterm zone="GskRoundedClipNode"><primary>GskRoundedClipNode</primary></indexterm>
<programlisting language="C">typedef struct _GskRoundedClipNode GskRoundedClipNode;</programlisting>
<para>A render node applying a rounded rectangle clip to its single child.</para>
</refsect2>
<refsect2 id="GskShadowNode" role="struct">
<title>GskShadowNode</title>
<indexterm zone="GskShadowNode"><primary>GskShadowNode</primary></indexterm>
<programlisting language="C">typedef struct _GskShadowNode GskShadowNode;</programlisting>
<para>A render node drawing one or more shadows behind its single child node.</para>
</refsect2>
<refsect2 id="GskTextNode" role="struct">
<title>GskTextNode</title>
<indexterm zone="GskTextNode"><primary>GskTextNode</primary></indexterm>
<programlisting language="C">typedef struct _GskTextNode GskTextNode;</programlisting>
<para>A render node drawing a set of glyphs.</para>
</refsect2>
<refsect2 id="GskTextureNode" role="struct">
<title>GskTextureNode</title>
<indexterm zone="GskTextureNode"><primary>GskTextureNode</primary></indexterm>
<programlisting language="C">typedef struct _GskTextureNode GskTextureNode;</programlisting>
<para>A render node for a <link linkend="GdkTexture"><type>GdkTexture</type></link>.</para>
</refsect2>
<refsect2 id="GskTransformNode" role="struct">
<title>GskTransformNode</title>
<indexterm zone="GskTransformNode"><primary>GskTransformNode</primary></indexterm>
<programlisting language="C">typedef struct _GskTransformNode GskTransformNode;</programlisting>
<para>A render node applying a <link linkend="GskTransform"><type>GskTransform</type></link> to its single child node.</para>
</refsect2>
<refsect2 id="GskGLShaderNode" role="struct">
<title>GskGLShaderNode</title>
<indexterm zone="GskGLShaderNode"><primary>GskGLShaderNode</primary></indexterm>
<programlisting language="C">typedef struct _GskGLShaderNode GskGLShaderNode;</programlisting>
<para>A render node using a GL shader when drawing its children nodes.</para>
</refsect2>
<refsect2 id="GskRenderNodeType" role="enum">
<title>enum GskRenderNodeType</title>
<indexterm zone="GskRenderNodeType"><primary>GskRenderNodeType</primary></indexterm>
<para>The type of a node determines what the node is rendering.</para>
<refsect3 id="GskRenderNodeType.members" role="enum_members">
<title>Members</title>
<informaltable role="enum_members_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="enum_members_name" colwidth="300px"/>
<colspec colname="enum_members_description"/>
<colspec colname="enum_members_annotations" colwidth="200px"/>
<tbody>
<row role="constant"><entry role="enum_member_name"><para id="GSK-NOT-A-RENDER-NODE:CAPS">GSK_NOT_A_RENDER_NODE</para></entry>
<entry role="enum_member_description"><para>Error type. No node will ever have this type.</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="GSK-CONTAINER-NODE:CAPS">GSK_CONTAINER_NODE</para></entry>
<entry role="enum_member_description"><para>A node containing a stack of children</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="GSK-CAIRO-NODE:CAPS">GSK_CAIRO_NODE</para></entry>
<entry role="enum_member_description"><para>A node drawing a <link linkend="cairo-surface-t"><type>cairo_surface_t</type></link></para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="GSK-COLOR-NODE:CAPS">GSK_COLOR_NODE</para></entry>
<entry role="enum_member_description"><para>A node drawing a single color rectangle</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="GSK-LINEAR-GRADIENT-NODE:CAPS">GSK_LINEAR_GRADIENT_NODE</para></entry>
<entry role="enum_member_description"><para>A node drawing a linear gradient</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="GSK-REPEATING-LINEAR-GRADIENT-NODE:CAPS">GSK_REPEATING_LINEAR_GRADIENT_NODE</para></entry>
<entry role="enum_member_description"><para>A node drawing a repeating linear gradient</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="GSK-RADIAL-GRADIENT-NODE:CAPS">GSK_RADIAL_GRADIENT_NODE</para></entry>
<entry role="enum_member_description"><para>A node drawing a radial gradient</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="GSK-REPEATING-RADIAL-GRADIENT-NODE:CAPS">GSK_REPEATING_RADIAL_GRADIENT_NODE</para></entry>
<entry role="enum_member_description"><para>A node drawing a repeating radial gradient</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="GSK-CONIC-GRADIENT-NODE:CAPS">GSK_CONIC_GRADIENT_NODE</para></entry>
<entry role="enum_member_description"><para>A node drawing a conic gradient</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="GSK-BORDER-NODE:CAPS">GSK_BORDER_NODE</para></entry>
<entry role="enum_member_description"><para>A node stroking a border around an area</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="GSK-TEXTURE-NODE:CAPS">GSK_TEXTURE_NODE</para></entry>
<entry role="enum_member_description"><para>A node drawing a <link linkend="GdkTexture"><type>GdkTexture</type></link></para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="GSK-INSET-SHADOW-NODE:CAPS">GSK_INSET_SHADOW_NODE</para></entry>
<entry role="enum_member_description"><para>A node drawing an inset shadow</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="GSK-OUTSET-SHADOW-NODE:CAPS">GSK_OUTSET_SHADOW_NODE</para></entry>
<entry role="enum_member_description"><para>A node drawing an outset shadow</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="GSK-TRANSFORM-NODE:CAPS">GSK_TRANSFORM_NODE</para></entry>
<entry role="enum_member_description"><para>A node that renders its child after applying a matrix transform</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="GSK-OPACITY-NODE:CAPS">GSK_OPACITY_NODE</para></entry>
<entry role="enum_member_description"><para>A node that changes the opacity of its child</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="GSK-COLOR-MATRIX-NODE:CAPS">GSK_COLOR_MATRIX_NODE</para></entry>
<entry role="enum_member_description"><para>A node that applies a color matrix to every pixel</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="GSK-REPEAT-NODE:CAPS">GSK_REPEAT_NODE</para></entry>
<entry role="enum_member_description"><para>A node that repeats the child's contents</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="GSK-CLIP-NODE:CAPS">GSK_CLIP_NODE</para></entry>
<entry role="enum_member_description"><para>A node that clips its child to a rectangular area</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="GSK-ROUNDED-CLIP-NODE:CAPS">GSK_ROUNDED_CLIP_NODE</para></entry>
<entry role="enum_member_description"><para>A node that clips its child to a rounded rectangle</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="GSK-SHADOW-NODE:CAPS">GSK_SHADOW_NODE</para></entry>
<entry role="enum_member_description"><para>A node that draws a shadow below its child</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="GSK-BLEND-NODE:CAPS">GSK_BLEND_NODE</para></entry>
<entry role="enum_member_description"><para>A node that blends two children together</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="GSK-CROSS-FADE-NODE:CAPS">GSK_CROSS_FADE_NODE</para></entry>
<entry role="enum_member_description"><para>A node that cross-fades between two children</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="GSK-TEXT-NODE:CAPS">GSK_TEXT_NODE</para></entry>
<entry role="enum_member_description"><para>A node containing a glyph string</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="GSK-BLUR-NODE:CAPS">GSK_BLUR_NODE</para></entry>
<entry role="enum_member_description"><para>A node that applies a blur</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="GSK-DEBUG-NODE:CAPS">GSK_DEBUG_NODE</para></entry>
<entry role="enum_member_description"><para>Debug information that does not affect the rendering</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="GSK-GL-SHADER-NODE:CAPS">GSK_GL_SHADER_NODE</para></entry>
<entry role="enum_member_description"><para>A node that uses OpenGL fragment shaders to render</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="GskSerializationError" role="enum">
<title>enum GskSerializationError</title>
<indexterm zone="GskSerializationError"><primary>GskSerializationError</primary></indexterm>
<para>Errors that can happen during (de)serialization.</para>
<refsect3 id="GskSerializationError.members" role="enum_members">
<title>Members</title>
<informaltable role="enum_members_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="enum_members_name" colwidth="300px"/>
<colspec colname="enum_members_description"/>
<colspec colname="enum_members_annotations" colwidth="200px"/>
<tbody>
<row role="constant"><entry role="enum_member_name"><para id="GSK-SERIALIZATION-UNSUPPORTED-FORMAT:CAPS">GSK_SERIALIZATION_UNSUPPORTED_FORMAT</para></entry>
<entry role="enum_member_description"><para>The format can not be
identified</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="GSK-SERIALIZATION-UNSUPPORTED-VERSION:CAPS">GSK_SERIALIZATION_UNSUPPORTED_VERSION</para></entry>
<entry role="enum_member_description"><para>The version of the data
is not understood</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="GSK-SERIALIZATION-INVALID-DATA:CAPS">GSK_SERIALIZATION_INVALID_DATA</para></entry>
<entry role="enum_member_description"><para>The given data may not exist in
a proper serialization</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="GskParseLocation" role="struct">
<title>struct GskParseLocation</title>
<indexterm zone="GskParseLocation"><primary>GskParseLocation</primary></indexterm>
<programlisting language="C">struct GskParseLocation {
  gsize bytes;
  gsize chars;
  gsize lines;
  gsize line_bytes;
  gsize line_chars;
};
</programlisting>
<para>A location in a parse buffer.</para>
<refsect3 id="GskParseLocation.members" role="struct_members">
<title>Members</title>
<informaltable role="struct_members_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="struct_members_name" colwidth="300px"/>
<colspec colname="struct_members_description"/>
<colspec colname="struct_members_annotations" colwidth="200px"/>
<tbody>
<row role="member"><entry role="struct_member_name"><para><link linkend="gsize"><type>gsize</type></link>&#160;<structfield id="GskParseLocation.bytes">bytes</structfield>;</para></entry>
<entry role="struct_member_description"><para>the offset of the location in the parse buffer, as bytes</para></entry>
<entry role="struct_member_annotations"></entry>
</row>
<row role="member"><entry role="struct_member_name"><para><link linkend="gsize"><type>gsize</type></link>&#160;<structfield id="GskParseLocation.chars">chars</structfield>;</para></entry>
<entry role="struct_member_description"><para>the offset of the location in the parse buffer, as characters</para></entry>
<entry role="struct_member_annotations"></entry>
</row>
<row role="member"><entry role="struct_member_name"><para><link linkend="gsize"><type>gsize</type></link>&#160;<structfield id="GskParseLocation.lines">lines</structfield>;</para></entry>
<entry role="struct_member_description"><para>the line of the location in the parse buffer</para></entry>
<entry role="struct_member_annotations"></entry>
</row>
<row role="member"><entry role="struct_member_name"><para><link linkend="gsize"><type>gsize</type></link>&#160;<structfield id="GskParseLocation.line-bytes">line_bytes</structfield>;</para></entry>
<entry role="struct_member_description"><para>the position in the line, as bytes</para></entry>
<entry role="struct_member_annotations"></entry>
</row>
<row role="member"><entry role="struct_member_name"><para><link linkend="gsize"><type>gsize</type></link>&#160;<structfield id="GskParseLocation.line-chars">line_chars</structfield>;</para></entry>
<entry role="struct_member_description"><para>the position in the line, as characters</para></entry>
<entry role="struct_member_annotations"></entry>
</row>
</tbody></tgroup></informaltable>
</refsect3>
</refsect2>
<refsect2 id="GskScalingFilter" role="enum">
<title>enum GskScalingFilter</title>
<indexterm zone="GskScalingFilter"><primary>GskScalingFilter</primary></indexterm>
<para>The filters used when scaling texture data.</para>
<para>The actual implementation of each filter is deferred to the
rendering pipeline.</para>
<refsect3 id="GskScalingFilter.members" role="enum_members">
<title>Members</title>
<informaltable role="enum_members_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="enum_members_name" colwidth="300px"/>
<colspec colname="enum_members_description"/>
<colspec colname="enum_members_annotations" colwidth="200px"/>
<tbody>
<row role="constant"><entry role="enum_member_name"><para id="GSK-SCALING-FILTER-LINEAR:CAPS">GSK_SCALING_FILTER_LINEAR</para></entry>
<entry role="enum_member_description"><para>linear interpolation filter</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="GSK-SCALING-FILTER-NEAREST:CAPS">GSK_SCALING_FILTER_NEAREST</para></entry>
<entry role="enum_member_description"><para>nearest neighbor interpolation filter</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="GSK-SCALING-FILTER-TRILINEAR:CAPS">GSK_SCALING_FILTER_TRILINEAR</para></entry>
<entry role="enum_member_description"><para>linear interpolation along each axis,
plus mipmap generation, with linear interpolation along the mipmap
levels</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="GskColorStop" role="struct">
<title>struct GskColorStop</title>
<indexterm zone="GskColorStop"><primary>GskColorStop</primary></indexterm>
<programlisting language="C">struct GskColorStop {
  float offset;
  GdkRGBA color;
};
</programlisting>
<para>A color stop in a gradient node.</para>
<refsect3 id="GskColorStop.members" role="struct_members">
<title>Members</title>
<informaltable role="struct_members_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="struct_members_name" colwidth="300px"/>
<colspec colname="struct_members_description"/>
<colspec colname="struct_members_annotations" colwidth="200px"/>
<tbody>
<row role="member"><entry role="struct_member_name"><para><link linkend="float"><type>float</type></link>&#160;<structfield id="GskColorStop.offset">offset</structfield>;</para></entry>
<entry role="struct_member_description"><para>the offset of the color stop</para></entry>
<entry role="struct_member_annotations"></entry>
</row>
<row role="member"><entry role="struct_member_name"><para><link linkend="GdkRGBA"><type>GdkRGBA</type></link>&#160;<structfield id="GskColorStop.color">color</structfield>;</para></entry>
<entry role="struct_member_description"><para>the color at the given offset</para></entry>
<entry role="struct_member_annotations"></entry>
</row>
</tbody></tgroup></informaltable>
</refsect3>
</refsect2>
<refsect2 id="GskShadow" role="struct">
<title>struct GskShadow</title>
<indexterm zone="GskShadow"><primary>GskShadow</primary></indexterm>
<programlisting language="C">struct GskShadow {
  GdkRGBA color;
  float dx;
  float dy;
  float radius;
};
</programlisting>
<para>The shadow parameters in a shadow node.</para>
<refsect3 id="GskShadow.members" role="struct_members">
<title>Members</title>
<informaltable role="struct_members_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="struct_members_name" colwidth="300px"/>
<colspec colname="struct_members_description"/>
<colspec colname="struct_members_annotations" colwidth="200px"/>
<tbody>
<row role="member"><entry role="struct_member_name"><para><link linkend="GdkRGBA"><type>GdkRGBA</type></link>&#160;<structfield id="GskShadow.color">color</structfield>;</para></entry>
<entry role="struct_member_description"><para>the color of the shadow</para></entry>
<entry role="struct_member_annotations"></entry>
</row>
<row role="member"><entry role="struct_member_name"><para><link linkend="float"><type>float</type></link>&#160;<structfield id="GskShadow.dx">dx</structfield>;</para></entry>
<entry role="struct_member_description"><para>the horizontal offset of the shadow</para></entry>
<entry role="struct_member_annotations"></entry>
</row>
<row role="member"><entry role="struct_member_name"><para><link linkend="float"><type>float</type></link>&#160;<structfield id="GskShadow.dy">dy</structfield>;</para></entry>
<entry role="struct_member_description"><para>the vertical offset of the shadow</para></entry>
<entry role="struct_member_annotations"></entry>
</row>
<row role="member"><entry role="struct_member_name"><para><link linkend="float"><type>float</type></link>&#160;<structfield id="GskShadow.radius">radius</structfield>;</para></entry>
<entry role="struct_member_description"><para>the radius of the shadow</para></entry>
<entry role="struct_member_annotations"></entry>
</row>
</tbody></tgroup></informaltable>
</refsect3>
</refsect2>
<refsect2 id="GskBlendMode" role="enum">
<title>enum GskBlendMode</title>
<indexterm zone="GskBlendMode"><primary>GskBlendMode</primary></indexterm>
<para>The blend modes available for render nodes.</para>
<para>The implementation of each blend mode is deferred to the
rendering pipeline.</para>
<para>See https://www.w3.org/TR/compositing-1/<link linkend="blending"><type>blending</type></link> for more information
on blending and blend modes.</para>
<refsect3 id="GskBlendMode.members" role="enum_members">
<title>Members</title>
<informaltable role="enum_members_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="enum_members_name" colwidth="300px"/>
<colspec colname="enum_members_description"/>
<colspec colname="enum_members_annotations" colwidth="200px"/>
<tbody>
<row role="constant"><entry role="enum_member_name"><para id="GSK-BLEND-MODE-DEFAULT:CAPS">GSK_BLEND_MODE_DEFAULT</para></entry>
<entry role="enum_member_description"><para>The default blend mode, which specifies no blending</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="GSK-BLEND-MODE-MULTIPLY:CAPS">GSK_BLEND_MODE_MULTIPLY</para></entry>
<entry role="enum_member_description"><para>The source color is multiplied by the destination
and replaces the destination</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="GSK-BLEND-MODE-SCREEN:CAPS">GSK_BLEND_MODE_SCREEN</para></entry>
<entry role="enum_member_description"><para>Multiplies the complements of the destination and source
color values, then complements the result.</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="GSK-BLEND-MODE-OVERLAY:CAPS">GSK_BLEND_MODE_OVERLAY</para></entry>
<entry role="enum_member_description"><para>Multiplies or screens the colors, depending on the
destination color value. This is the inverse of hard-list</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="GSK-BLEND-MODE-DARKEN:CAPS">GSK_BLEND_MODE_DARKEN</para></entry>
<entry role="enum_member_description"><para>Selects the darker of the destination and source colors</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="GSK-BLEND-MODE-LIGHTEN:CAPS">GSK_BLEND_MODE_LIGHTEN</para></entry>
<entry role="enum_member_description"><para>Selects the lighter of the destination and source colors</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="GSK-BLEND-MODE-COLOR-DODGE:CAPS">GSK_BLEND_MODE_COLOR_DODGE</para></entry>
<entry role="enum_member_description"><para>Brightens the destination color to reflect the source color</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="GSK-BLEND-MODE-COLOR-BURN:CAPS">GSK_BLEND_MODE_COLOR_BURN</para></entry>
<entry role="enum_member_description"><para>Darkens the destination color to reflect the source color</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="GSK-BLEND-MODE-HARD-LIGHT:CAPS">GSK_BLEND_MODE_HARD_LIGHT</para></entry>
<entry role="enum_member_description"><para>Multiplies or screens the colors, depending on the source color value</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="GSK-BLEND-MODE-SOFT-LIGHT:CAPS">GSK_BLEND_MODE_SOFT_LIGHT</para></entry>
<entry role="enum_member_description"><para>Darkens or lightens the colors, depending on the source color value</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="GSK-BLEND-MODE-DIFFERENCE:CAPS">GSK_BLEND_MODE_DIFFERENCE</para></entry>
<entry role="enum_member_description"><para>Subtracts the darker of the two constituent colors from the lighter color</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="GSK-BLEND-MODE-EXCLUSION:CAPS">GSK_BLEND_MODE_EXCLUSION</para></entry>
<entry role="enum_member_description"><para>Produces an effect similar to that of the difference mode but lower in contrast</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="GSK-BLEND-MODE-COLOR:CAPS">GSK_BLEND_MODE_COLOR</para></entry>
<entry role="enum_member_description"><para>Creates a color with the hue and saturation of the source color and the luminosity of the destination color</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="GSK-BLEND-MODE-HUE:CAPS">GSK_BLEND_MODE_HUE</para></entry>
<entry role="enum_member_description"><para>Creates a color with the hue of the source color and the saturation and luminosity of the destination color</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="GSK-BLEND-MODE-SATURATION:CAPS">GSK_BLEND_MODE_SATURATION</para></entry>
<entry role="enum_member_description"><para>Creates a color with the saturation of the source color and the hue and luminosity of the destination color</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="GSK-BLEND-MODE-LUMINOSITY:CAPS">GSK_BLEND_MODE_LUMINOSITY</para></entry>
<entry role="enum_member_description"><para>Creates a color with the luminosity of the source color and the hue and saturation of the destination color</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>

</refsect1>

</refentry>
