diff options
author | sanine <sanine.not@pm.me> | 2023-02-12 23:53:22 -0600 |
---|---|---|
committer | sanine <sanine.not@pm.me> | 2023-02-12 23:53:22 -0600 |
commit | f1fe73d1909a2448a004a88362a1a532d0d4f7c3 (patch) | |
tree | ab37ae3837e2f858de2932bcee9f26e69fab3db1 /libs/cairo-1.16.0/doc/public/xml/cairo-pattern.xml | |
parent | f567ea1e2798fd3156a416e61f083ea3e6b95719 (diff) |
switch to tinyobj and nanovg from assimp and cairo
Diffstat (limited to 'libs/cairo-1.16.0/doc/public/xml/cairo-pattern.xml')
-rw-r--r-- | libs/cairo-1.16.0/doc/public/xml/cairo-pattern.xml | 1966 |
1 files changed, 0 insertions, 1966 deletions
diff --git a/libs/cairo-1.16.0/doc/public/xml/cairo-pattern.xml b/libs/cairo-1.16.0/doc/public/xml/cairo-pattern.xml deleted file mode 100644 index 7386cde..0000000 --- a/libs/cairo-1.16.0/doc/public/xml/cairo-pattern.xml +++ /dev/null @@ -1,1966 +0,0 @@ -<?xml version='1.0' encoding='UTF-8'?> -<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" - "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" [ -<!ENTITY version SYSTEM "version.xml"> -]> -<refentry id="cairo-cairo-pattern-t"> -<refmeta> -<refentrytitle role="top_of_page" id="cairo-cairo-pattern-t.top_of_page">cairo_pattern_t</refentrytitle> -<manvolnum>3</manvolnum> -<refmiscinfo>CAIRO Library</refmiscinfo> -</refmeta> -<refnamediv> -<refname>cairo_pattern_t</refname> -<refpurpose>Sources for drawing</refpurpose> -</refnamediv> - -<refsect1 id="cairo-cairo-pattern-t.functions" role="functions_proto"> -<title role="functions_proto.title">Functions</title> -<informaltable pgwide="1" frame="none"> -<tgroup cols="2"> -<colspec colname="functions_return" colwidth="150px"/> -<colspec colname="functions_name"/> -<tbody> -<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link> -</entry><entry role="function_name"><link linkend="cairo-pattern-add-color-stop-rgb">cairo_pattern_add_color_stop_rgb</link> <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="cairo-pattern-add-color-stop-rgba">cairo_pattern_add_color_stop_rgba</link> <phrase role="c_punctuation">()</phrase></entry></row> -<row><entry role="function_type"><link linkend="cairo-status-t"><returnvalue>cairo_status_t</returnvalue></link> -</entry><entry role="function_name"><link linkend="cairo-pattern-get-color-stop-count">cairo_pattern_get_color_stop_count</link> <phrase role="c_punctuation">()</phrase></entry></row> -<row><entry role="function_type"><link linkend="cairo-status-t"><returnvalue>cairo_status_t</returnvalue></link> -</entry><entry role="function_name"><link linkend="cairo-pattern-get-color-stop-rgba">cairo_pattern_get_color_stop_rgba</link> <phrase role="c_punctuation">()</phrase></entry></row> -<row><entry role="function_type"><link linkend="cairo-pattern-t"><returnvalue>cairo_pattern_t</returnvalue></link> * -</entry><entry role="function_name"><link linkend="cairo-pattern-create-rgb">cairo_pattern_create_rgb</link> <phrase role="c_punctuation">()</phrase></entry></row> -<row><entry role="function_type"><link linkend="cairo-pattern-t"><returnvalue>cairo_pattern_t</returnvalue></link> * -</entry><entry role="function_name"><link linkend="cairo-pattern-create-rgba">cairo_pattern_create_rgba</link> <phrase role="c_punctuation">()</phrase></entry></row> -<row><entry role="function_type"><link linkend="cairo-status-t"><returnvalue>cairo_status_t</returnvalue></link> -</entry><entry role="function_name"><link linkend="cairo-pattern-get-rgba">cairo_pattern_get_rgba</link> <phrase role="c_punctuation">()</phrase></entry></row> -<row><entry role="function_type"><link linkend="cairo-pattern-t"><returnvalue>cairo_pattern_t</returnvalue></link> * -</entry><entry role="function_name"><link linkend="cairo-pattern-create-for-surface">cairo_pattern_create_for_surface</link> <phrase role="c_punctuation">()</phrase></entry></row> -<row><entry role="function_type"><link linkend="cairo-status-t"><returnvalue>cairo_status_t</returnvalue></link> -</entry><entry role="function_name"><link linkend="cairo-pattern-get-surface">cairo_pattern_get_surface</link> <phrase role="c_punctuation">()</phrase></entry></row> -<row><entry role="function_type"><link linkend="cairo-pattern-t"><returnvalue>cairo_pattern_t</returnvalue></link> * -</entry><entry role="function_name"><link linkend="cairo-pattern-create-linear">cairo_pattern_create_linear</link> <phrase role="c_punctuation">()</phrase></entry></row> -<row><entry role="function_type"><link linkend="cairo-status-t"><returnvalue>cairo_status_t</returnvalue></link> -</entry><entry role="function_name"><link linkend="cairo-pattern-get-linear-points">cairo_pattern_get_linear_points</link> <phrase role="c_punctuation">()</phrase></entry></row> -<row><entry role="function_type"><link linkend="cairo-pattern-t"><returnvalue>cairo_pattern_t</returnvalue></link> * -</entry><entry role="function_name"><link linkend="cairo-pattern-create-radial">cairo_pattern_create_radial</link> <phrase role="c_punctuation">()</phrase></entry></row> -<row><entry role="function_type"><link linkend="cairo-status-t"><returnvalue>cairo_status_t</returnvalue></link> -</entry><entry role="function_name"><link linkend="cairo-pattern-get-radial-circles">cairo_pattern_get_radial_circles</link> <phrase role="c_punctuation">()</phrase></entry></row> -<row><entry role="function_type"><link linkend="cairo-pattern-t"><returnvalue>cairo_pattern_t</returnvalue></link> * -</entry><entry role="function_name"><link linkend="cairo-pattern-create-mesh">cairo_pattern_create_mesh</link> <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="cairo-mesh-pattern-begin-patch">cairo_mesh_pattern_begin_patch</link> <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="cairo-mesh-pattern-end-patch">cairo_mesh_pattern_end_patch</link> <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="cairo-mesh-pattern-move-to">cairo_mesh_pattern_move_to</link> <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="cairo-mesh-pattern-line-to">cairo_mesh_pattern_line_to</link> <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="cairo-mesh-pattern-curve-to">cairo_mesh_pattern_curve_to</link> <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="cairo-mesh-pattern-set-control-point">cairo_mesh_pattern_set_control_point</link> <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="cairo-mesh-pattern-set-corner-color-rgb">cairo_mesh_pattern_set_corner_color_rgb</link> <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="cairo-mesh-pattern-set-corner-color-rgba">cairo_mesh_pattern_set_corner_color_rgba</link> <phrase role="c_punctuation">()</phrase></entry></row> -<row><entry role="function_type"><link linkend="cairo-status-t"><returnvalue>cairo_status_t</returnvalue></link> -</entry><entry role="function_name"><link linkend="cairo-mesh-pattern-get-patch-count">cairo_mesh_pattern_get_patch_count</link> <phrase role="c_punctuation">()</phrase></entry></row> -<row><entry role="function_type"><link linkend="cairo-path-t"><returnvalue>cairo_path_t</returnvalue></link> * -</entry><entry role="function_name"><link linkend="cairo-mesh-pattern-get-path">cairo_mesh_pattern_get_path</link> <phrase role="c_punctuation">()</phrase></entry></row> -<row><entry role="function_type"><link linkend="cairo-status-t"><returnvalue>cairo_status_t</returnvalue></link> -</entry><entry role="function_name"><link linkend="cairo-mesh-pattern-get-control-point">cairo_mesh_pattern_get_control_point</link> <phrase role="c_punctuation">()</phrase></entry></row> -<row><entry role="function_type"><link linkend="cairo-status-t"><returnvalue>cairo_status_t</returnvalue></link> -</entry><entry role="function_name"><link linkend="cairo-mesh-pattern-get-corner-color-rgba">cairo_mesh_pattern_get_corner_color_rgba</link> <phrase role="c_punctuation">()</phrase></entry></row> -<row><entry role="function_type"><link linkend="cairo-pattern-t"><returnvalue>cairo_pattern_t</returnvalue></link> * -</entry><entry role="function_name"><link linkend="cairo-pattern-reference">cairo_pattern_reference</link> <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="cairo-pattern-destroy">cairo_pattern_destroy</link> <phrase role="c_punctuation">()</phrase></entry></row> -<row><entry role="function_type"><link linkend="cairo-status-t"><returnvalue>cairo_status_t</returnvalue></link> -</entry><entry role="function_name"><link linkend="cairo-pattern-status">cairo_pattern_status</link> <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="cairo-pattern-set-extend">cairo_pattern_set_extend</link> <phrase role="c_punctuation">()</phrase></entry></row> -<row><entry role="function_type"><link linkend="cairo-extend-t"><returnvalue>cairo_extend_t</returnvalue></link> -</entry><entry role="function_name"><link linkend="cairo-pattern-get-extend">cairo_pattern_get_extend</link> <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="cairo-pattern-set-filter">cairo_pattern_set_filter</link> <phrase role="c_punctuation">()</phrase></entry></row> -<row><entry role="function_type"><link linkend="cairo-filter-t"><returnvalue>cairo_filter_t</returnvalue></link> -</entry><entry role="function_name"><link linkend="cairo-pattern-get-filter">cairo_pattern_get_filter</link> <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="cairo-pattern-set-matrix">cairo_pattern_set_matrix</link> <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="cairo-pattern-get-matrix">cairo_pattern_get_matrix</link> <phrase role="c_punctuation">()</phrase></entry></row> -<row><entry role="function_type"><link linkend="cairo-pattern-type-t"><returnvalue>cairo_pattern_type_t</returnvalue></link> -</entry><entry role="function_name"><link linkend="cairo-pattern-get-type">cairo_pattern_get_type</link> <phrase role="c_punctuation">()</phrase></entry></row> -<row><entry role="function_type">unsigned <link linkend="int"><returnvalue>int</returnvalue></link> -</entry><entry role="function_name"><link linkend="cairo-pattern-get-reference-count">cairo_pattern_get_reference_count</link> <phrase role="c_punctuation">()</phrase></entry></row> -<row><entry role="function_type"><link linkend="cairo-status-t"><returnvalue>cairo_status_t</returnvalue></link> -</entry><entry role="function_name"><link linkend="cairo-pattern-set-user-data">cairo_pattern_set_user_data</link> <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="cairo-pattern-get-user-data">cairo_pattern_get_user_data</link> <phrase role="c_punctuation">()</phrase></entry></row> - -</tbody> -</tgroup> -</informaltable> -</refsect1> -<refsect1 id="cairo-cairo-pattern-t.other" role="other_proto"> -<title role="other_proto.title">Types and Values</title> -<informaltable role="enum_members_table" pgwide="1" frame="none"> -<tgroup cols="2"> -<colspec colname="name" colwidth="150px"/> -<colspec colname="description"/> -<tbody> -<row><entry role="typedef_keyword">typedef</entry><entry role="function_name"><link linkend="cairo-pattern-t">cairo_pattern_t</link></entry></row> -<row><entry role="datatype_keyword">enum</entry><entry role="function_name"><link linkend="cairo-extend-t">cairo_extend_t</link></entry></row> -<row><entry role="datatype_keyword">enum</entry><entry role="function_name"><link linkend="cairo-filter-t">cairo_filter_t</link></entry></row> -<row><entry role="datatype_keyword">enum</entry><entry role="function_name"><link linkend="cairo-pattern-type-t">cairo_pattern_type_t</link></entry></row> - -</tbody> -</tgroup> -</informaltable> -</refsect1> - - -<refsect1 id="cairo-cairo-pattern-t.description" role="desc"> -<title role="desc.title">Description</title> -<para><link linkend="cairo-pattern-t"><type>cairo_pattern_t</type></link> is the paint with which cairo draws. -The primary use of patterns is as the source for all cairo drawing -operations, although they can also be used as masks, that is, as the -brush too.</para> -<para>A cairo pattern is created by using one of the many constructors, -of the form -<function>cairo_pattern_create_<emphasis>type</emphasis>()</function> -or implicitly through -<function>cairo_set_source_<emphasis>type</emphasis>()</function> -functions.</para> - -</refsect1> -<refsect1 id="cairo-cairo-pattern-t.functions_details" role="details"> -<title role="details.title">Functions</title> -<refsect2 id="cairo-pattern-add-color-stop-rgb" role="function" condition="since:1.0"> -<title>cairo_pattern_add_color_stop_rgb ()</title> -<indexterm zone="cairo-pattern-add-color-stop-rgb" role="1.0"><primary sortas="pattern_add_color_stop_rgb">cairo_pattern_add_color_stop_rgb</primary></indexterm> -<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> -cairo_pattern_add_color_stop_rgb (<parameter><link linkend="cairo-pattern-t"><type>cairo_pattern_t</type></link> *pattern</parameter>, - <parameter><link linkend="double"><type>double</type></link> offset</parameter>, - <parameter><link linkend="double"><type>double</type></link> red</parameter>, - <parameter><link linkend="double"><type>double</type></link> green</parameter>, - <parameter><link linkend="double"><type>double</type></link> blue</parameter>);</programlisting> -<para>Adds an opaque color stop to a gradient pattern. The offset -specifies the location along the gradient's control vector. For -example, a linear gradient's control vector is from (x0,y0) to -(x1,y1) while a radial gradient's control vector is from any point -on the start circle to the corresponding point on the end circle.</para> -<para>The color is specified in the same way as in <link linkend="cairo-set-source-rgb"><function>cairo_set_source_rgb()</function></link>.</para> -<para>If two (or more) stops are specified with identical offset values, -they will be sorted according to the order in which the stops are -added, (stops added earlier will compare less than stops added -later). This can be useful for reliably making sharp color -transitions instead of the typical blend.</para> -<para>Note: If the pattern is not a gradient pattern, (eg. a linear or -radial pattern), then the pattern will be put into an error status -with a status of <link linkend="CAIRO-STATUS-PATTERN-TYPE-MISMATCH:CAPS"><literal>CAIRO_STATUS_PATTERN_TYPE_MISMATCH</literal></link>.</para> -<refsect3 id="cairo-pattern-add-color-stop-rgb.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>pattern</para></entry> -<entry role="parameter_description"><para>a <link linkend="cairo-pattern-t"><type>cairo_pattern_t</type></link></para></entry> -<entry role="parameter_annotations"></entry></row> -<row><entry role="parameter_name"><para>offset</para></entry> -<entry role="parameter_description"><para>an offset in the range [0.0 .. 1.0]</para></entry> -<entry role="parameter_annotations"></entry></row> -<row><entry role="parameter_name"><para>red</para></entry> -<entry role="parameter_description"><para>red component of color</para></entry> -<entry role="parameter_annotations"></entry></row> -<row><entry role="parameter_name"><para>green</para></entry> -<entry role="parameter_description"><para>green component of color</para></entry> -<entry role="parameter_annotations"></entry></row> -<row><entry role="parameter_name"><para>blue</para></entry> -<entry role="parameter_description"><para>blue component of color</para></entry> -<entry role="parameter_annotations"></entry></row> -</tbody></tgroup></informaltable> -</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> -<refsect2 id="cairo-pattern-add-color-stop-rgba" role="function" condition="since:1.0"> -<title>cairo_pattern_add_color_stop_rgba ()</title> -<indexterm zone="cairo-pattern-add-color-stop-rgba" role="1.0"><primary sortas="pattern_add_color_stop_rgba">cairo_pattern_add_color_stop_rgba</primary></indexterm> -<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> -cairo_pattern_add_color_stop_rgba (<parameter><link linkend="cairo-pattern-t"><type>cairo_pattern_t</type></link> *pattern</parameter>, - <parameter><link linkend="double"><type>double</type></link> offset</parameter>, - <parameter><link linkend="double"><type>double</type></link> red</parameter>, - <parameter><link linkend="double"><type>double</type></link> green</parameter>, - <parameter><link linkend="double"><type>double</type></link> blue</parameter>, - <parameter><link linkend="double"><type>double</type></link> alpha</parameter>);</programlisting> -<para>Adds a translucent color stop to a gradient pattern. The offset -specifies the location along the gradient's control vector. For -example, a linear gradient's control vector is from (x0,y0) to -(x1,y1) while a radial gradient's control vector is from any point -on the start circle to the corresponding point on the end circle.</para> -<para>The color is specified in the same way as in <link linkend="cairo-set-source-rgba"><function>cairo_set_source_rgba()</function></link>.</para> -<para>If two (or more) stops are specified with identical offset values, -they will be sorted according to the order in which the stops are -added, (stops added earlier will compare less than stops added -later). This can be useful for reliably making sharp color -transitions instead of the typical blend.</para> -<para>Note: If the pattern is not a gradient pattern, (eg. a linear or -radial pattern), then the pattern will be put into an error status -with a status of <link linkend="CAIRO-STATUS-PATTERN-TYPE-MISMATCH:CAPS"><literal>CAIRO_STATUS_PATTERN_TYPE_MISMATCH</literal></link>.</para> -<refsect3 id="cairo-pattern-add-color-stop-rgba.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>pattern</para></entry> -<entry role="parameter_description"><para>a <link linkend="cairo-pattern-t"><type>cairo_pattern_t</type></link></para></entry> -<entry role="parameter_annotations"></entry></row> -<row><entry role="parameter_name"><para>offset</para></entry> -<entry role="parameter_description"><para>an offset in the range [0.0 .. 1.0]</para></entry> -<entry role="parameter_annotations"></entry></row> -<row><entry role="parameter_name"><para>red</para></entry> -<entry role="parameter_description"><para>red component of color</para></entry> -<entry role="parameter_annotations"></entry></row> -<row><entry role="parameter_name"><para>green</para></entry> -<entry role="parameter_description"><para>green component of color</para></entry> -<entry role="parameter_annotations"></entry></row> -<row><entry role="parameter_name"><para>blue</para></entry> -<entry role="parameter_description"><para>blue component of color</para></entry> -<entry role="parameter_annotations"></entry></row> -<row><entry role="parameter_name"><para>alpha</para></entry> -<entry role="parameter_description"><para>alpha component of color</para></entry> -<entry role="parameter_annotations"></entry></row> -</tbody></tgroup></informaltable> -</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> -<refsect2 id="cairo-pattern-get-color-stop-count" role="function" condition="since:1.4"> -<title>cairo_pattern_get_color_stop_count ()</title> -<indexterm zone="cairo-pattern-get-color-stop-count" role="1.4"><primary sortas="pattern_get_color_stop_count">cairo_pattern_get_color_stop_count</primary></indexterm> -<programlisting language="C"><link linkend="cairo-status-t"><returnvalue>cairo_status_t</returnvalue></link> -cairo_pattern_get_color_stop_count (<parameter><link linkend="cairo-pattern-t"><type>cairo_pattern_t</type></link> *pattern</parameter>, - <parameter><link linkend="int"><type>int</type></link> *count</parameter>);</programlisting> -<para>Gets the number of color stops specified in the given gradient -pattern.</para> -<refsect3 id="cairo-pattern-get-color-stop-count.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>pattern</para></entry> -<entry role="parameter_description"><para>a <link linkend="cairo-pattern-t"><type>cairo_pattern_t</type></link></para></entry> -<entry role="parameter_annotations"></entry></row> -<row><entry role="parameter_name"><para>count</para></entry> -<entry role="parameter_description"><para>return value for the number of color stops, or <link linkend="NULL:CAPS"><literal>NULL</literal></link></para></entry> -<entry role="parameter_annotations"></entry></row> -</tbody></tgroup></informaltable> -</refsect3><refsect3 id="cairo-pattern-get-color-stop-count.returns" role="returns"> -<title>Returns</title> -<para> <link linkend="CAIRO-STATUS-SUCCESS:CAPS"><literal>CAIRO_STATUS_SUCCESS</literal></link>, or -<link linkend="CAIRO-STATUS-PATTERN-TYPE-MISMATCH:CAPS"><literal>CAIRO_STATUS_PATTERN_TYPE_MISMATCH</literal></link> if <parameter>pattern</parameter> -is not a gradient -pattern.</para> -</refsect3><para role="since">Since: <link linkend="api-index-1.4">1.4</link></para></refsect2> -<refsect2 id="cairo-pattern-get-color-stop-rgba" role="function" condition="since:1.4"> -<title>cairo_pattern_get_color_stop_rgba ()</title> -<indexterm zone="cairo-pattern-get-color-stop-rgba" role="1.4"><primary sortas="pattern_get_color_stop_rgba">cairo_pattern_get_color_stop_rgba</primary></indexterm> -<programlisting language="C"><link linkend="cairo-status-t"><returnvalue>cairo_status_t</returnvalue></link> -cairo_pattern_get_color_stop_rgba (<parameter><link linkend="cairo-pattern-t"><type>cairo_pattern_t</type></link> *pattern</parameter>, - <parameter><link linkend="int"><type>int</type></link> index</parameter>, - <parameter><link linkend="double"><type>double</type></link> *offset</parameter>, - <parameter><link linkend="double"><type>double</type></link> *red</parameter>, - <parameter><link linkend="double"><type>double</type></link> *green</parameter>, - <parameter><link linkend="double"><type>double</type></link> *blue</parameter>, - <parameter><link linkend="double"><type>double</type></link> *alpha</parameter>);</programlisting> -<para>Gets the color and offset information at the given <parameter>index</parameter> - for a -gradient pattern. Values of <parameter>index</parameter> - range from 0 to n-1 -where n is the number returned -by <link linkend="cairo-pattern-get-color-stop-count"><function>cairo_pattern_get_color_stop_count()</function></link>.</para> -<refsect3 id="cairo-pattern-get-color-stop-rgba.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>pattern</para></entry> -<entry role="parameter_description"><para>a <link linkend="cairo-pattern-t"><type>cairo_pattern_t</type></link></para></entry> -<entry role="parameter_annotations"></entry></row> -<row><entry role="parameter_name"><para>index</para></entry> -<entry role="parameter_description"><para>index of the stop to return data for</para></entry> -<entry role="parameter_annotations"></entry></row> -<row><entry role="parameter_name"><para>offset</para></entry> -<entry role="parameter_description"><para>return value for the offset of the stop, or <link linkend="NULL:CAPS"><literal>NULL</literal></link></para></entry> -<entry role="parameter_annotations"></entry></row> -<row><entry role="parameter_name"><para>red</para></entry> -<entry role="parameter_description"><para>return value for red component of color, or <link linkend="NULL:CAPS"><literal>NULL</literal></link></para></entry> -<entry role="parameter_annotations"></entry></row> -<row><entry role="parameter_name"><para>green</para></entry> -<entry role="parameter_description"><para>return value for green component of color, or <link linkend="NULL:CAPS"><literal>NULL</literal></link></para></entry> -<entry role="parameter_annotations"></entry></row> -<row><entry role="parameter_name"><para>blue</para></entry> -<entry role="parameter_description"><para>return value for blue component of color, or <link linkend="NULL:CAPS"><literal>NULL</literal></link></para></entry> -<entry role="parameter_annotations"></entry></row> -<row><entry role="parameter_name"><para>alpha</para></entry> -<entry role="parameter_description"><para>return value for alpha component of color, or <link linkend="NULL:CAPS"><literal>NULL</literal></link></para></entry> -<entry role="parameter_annotations"></entry></row> -</tbody></tgroup></informaltable> -</refsect3><refsect3 id="cairo-pattern-get-color-stop-rgba.returns" role="returns"> -<title>Returns</title> -<para> <link linkend="CAIRO-STATUS-SUCCESS:CAPS"><literal>CAIRO_STATUS_SUCCESS</literal></link>, or <link linkend="CAIRO-STATUS-INVALID-INDEX:CAPS"><literal>CAIRO_STATUS_INVALID_INDEX</literal></link> -if <parameter>index</parameter> -is not valid for the given pattern. If the pattern is -not a gradient pattern, <link linkend="CAIRO-STATUS-PATTERN-TYPE-MISMATCH:CAPS"><literal>CAIRO_STATUS_PATTERN_TYPE_MISMATCH</literal></link> is -returned.</para> -</refsect3><para role="since">Since: <link linkend="api-index-1.4">1.4</link></para></refsect2> -<refsect2 id="cairo-pattern-create-rgb" role="function" condition="since:1.0"> -<title>cairo_pattern_create_rgb ()</title> -<indexterm zone="cairo-pattern-create-rgb" role="1.0"><primary sortas="pattern_create_rgb">cairo_pattern_create_rgb</primary></indexterm> -<programlisting language="C"><link linkend="cairo-pattern-t"><returnvalue>cairo_pattern_t</returnvalue></link> * -cairo_pattern_create_rgb (<parameter><link linkend="double"><type>double</type></link> red</parameter>, - <parameter><link linkend="double"><type>double</type></link> green</parameter>, - <parameter><link linkend="double"><type>double</type></link> blue</parameter>);</programlisting> -<para>Creates a new <link linkend="cairo-pattern-t"><type>cairo_pattern_t</type></link> corresponding to an opaque color. The -color components are floating point numbers in the range 0 to 1. -If the values passed in are outside that range, they will be -clamped.</para> -<refsect3 id="cairo-pattern-create-rgb.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>red</para></entry> -<entry role="parameter_description"><para>red component of the color</para></entry> -<entry role="parameter_annotations"></entry></row> -<row><entry role="parameter_name"><para>green</para></entry> -<entry role="parameter_description"><para>green component of the color</para></entry> -<entry role="parameter_annotations"></entry></row> -<row><entry role="parameter_name"><para>blue</para></entry> -<entry role="parameter_description"><para>blue component of the color</para></entry> -<entry role="parameter_annotations"></entry></row> -</tbody></tgroup></informaltable> -</refsect3><refsect3 id="cairo-pattern-create-rgb.returns" role="returns"> -<title>Returns</title> -<para> the newly created <link linkend="cairo-pattern-t"><type>cairo_pattern_t</type></link> if successful, or -an error pattern in case of no memory. The caller owns the -returned object and should call <link linkend="cairo-pattern-destroy"><function>cairo_pattern_destroy()</function></link> when -finished with it.</para> -<para>This function will always return a valid pointer, but if an error -occurred the pattern status will be set to an error. To inspect -the status of a pattern use <link linkend="cairo-pattern-status"><function>cairo_pattern_status()</function></link>.</para> -</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> -<refsect2 id="cairo-pattern-create-rgba" role="function" condition="since:1.0"> -<title>cairo_pattern_create_rgba ()</title> -<indexterm zone="cairo-pattern-create-rgba" role="1.0"><primary sortas="pattern_create_rgba">cairo_pattern_create_rgba</primary></indexterm> -<programlisting language="C"><link linkend="cairo-pattern-t"><returnvalue>cairo_pattern_t</returnvalue></link> * -cairo_pattern_create_rgba (<parameter><link linkend="double"><type>double</type></link> red</parameter>, - <parameter><link linkend="double"><type>double</type></link> green</parameter>, - <parameter><link linkend="double"><type>double</type></link> blue</parameter>, - <parameter><link linkend="double"><type>double</type></link> alpha</parameter>);</programlisting> -<para>Creates a new <link linkend="cairo-pattern-t"><type>cairo_pattern_t</type></link> corresponding to a translucent color. -The color components are floating point numbers in the range 0 to</para> -<orderedlist> -<listitem><para>If the values passed in are outside that range, they will be -clamped.</para></listitem> -</orderedlist> -<refsect3 id="cairo-pattern-create-rgba.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>red</para></entry> -<entry role="parameter_description"><para>red component of the color</para></entry> -<entry role="parameter_annotations"></entry></row> -<row><entry role="parameter_name"><para>green</para></entry> -<entry role="parameter_description"><para>green component of the color</para></entry> -<entry role="parameter_annotations"></entry></row> -<row><entry role="parameter_name"><para>blue</para></entry> -<entry role="parameter_description"><para>blue component of the color</para></entry> -<entry role="parameter_annotations"></entry></row> -<row><entry role="parameter_name"><para>alpha</para></entry> -<entry role="parameter_description"><para>alpha component of the color</para></entry> -<entry role="parameter_annotations"></entry></row> -</tbody></tgroup></informaltable> -</refsect3><refsect3 id="cairo-pattern-create-rgba.returns" role="returns"> -<title>Returns</title> -<para> the newly created <link linkend="cairo-pattern-t"><type>cairo_pattern_t</type></link> if successful, or -an error pattern in case of no memory. The caller owns the -returned object and should call <link linkend="cairo-pattern-destroy"><function>cairo_pattern_destroy()</function></link> when -finished with it.</para> -<para>This function will always return a valid pointer, but if an error -occurred the pattern status will be set to an error. To inspect -the status of a pattern use <link linkend="cairo-pattern-status"><function>cairo_pattern_status()</function></link>.</para> -</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> -<refsect2 id="cairo-pattern-get-rgba" role="function" condition="since:1.4"> -<title>cairo_pattern_get_rgba ()</title> -<indexterm zone="cairo-pattern-get-rgba" role="1.4"><primary sortas="pattern_get_rgba">cairo_pattern_get_rgba</primary></indexterm> -<programlisting language="C"><link linkend="cairo-status-t"><returnvalue>cairo_status_t</returnvalue></link> -cairo_pattern_get_rgba (<parameter><link linkend="cairo-pattern-t"><type>cairo_pattern_t</type></link> *pattern</parameter>, - <parameter><link linkend="double"><type>double</type></link> *red</parameter>, - <parameter><link linkend="double"><type>double</type></link> *green</parameter>, - <parameter><link linkend="double"><type>double</type></link> *blue</parameter>, - <parameter><link linkend="double"><type>double</type></link> *alpha</parameter>);</programlisting> -<para>Gets the solid color for a solid color pattern.</para> -<refsect3 id="cairo-pattern-get-rgba.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>pattern</para></entry> -<entry role="parameter_description"><para>a <link linkend="cairo-pattern-t"><type>cairo_pattern_t</type></link></para></entry> -<entry role="parameter_annotations"></entry></row> -<row><entry role="parameter_name"><para>red</para></entry> -<entry role="parameter_description"><para>return value for red component of color, or <link linkend="NULL:CAPS"><literal>NULL</literal></link></para></entry> -<entry role="parameter_annotations"></entry></row> -<row><entry role="parameter_name"><para>green</para></entry> -<entry role="parameter_description"><para>return value for green component of color, or <link linkend="NULL:CAPS"><literal>NULL</literal></link></para></entry> -<entry role="parameter_annotations"></entry></row> -<row><entry role="parameter_name"><para>blue</para></entry> -<entry role="parameter_description"><para>return value for blue component of color, or <link linkend="NULL:CAPS"><literal>NULL</literal></link></para></entry> -<entry role="parameter_annotations"></entry></row> -<row><entry role="parameter_name"><para>alpha</para></entry> -<entry role="parameter_description"><para>return value for alpha component of color, or <link linkend="NULL:CAPS"><literal>NULL</literal></link></para></entry> -<entry role="parameter_annotations"></entry></row> -</tbody></tgroup></informaltable> -</refsect3><refsect3 id="cairo-pattern-get-rgba.returns" role="returns"> -<title>Returns</title> -<para> <link linkend="CAIRO-STATUS-SUCCESS:CAPS"><literal>CAIRO_STATUS_SUCCESS</literal></link>, or -<link linkend="CAIRO-STATUS-PATTERN-TYPE-MISMATCH:CAPS"><literal>CAIRO_STATUS_PATTERN_TYPE_MISMATCH</literal></link> if the pattern is not a solid -color pattern.</para> -</refsect3><para role="since">Since: <link linkend="api-index-1.4">1.4</link></para></refsect2> -<refsect2 id="cairo-pattern-create-for-surface" role="function" condition="since:1.0"> -<title>cairo_pattern_create_for_surface ()</title> -<indexterm zone="cairo-pattern-create-for-surface" role="1.0"><primary sortas="pattern_create_for_surface">cairo_pattern_create_for_surface</primary></indexterm> -<programlisting language="C"><link linkend="cairo-pattern-t"><returnvalue>cairo_pattern_t</returnvalue></link> * -cairo_pattern_create_for_surface (<parameter><link linkend="cairo-surface-t"><type>cairo_surface_t</type></link> *surface</parameter>);</programlisting> -<para>Create a new <link linkend="cairo-pattern-t"><type>cairo_pattern_t</type></link> for the given surface.</para> -<refsect3 id="cairo-pattern-create-for-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>surface</para></entry> -<entry role="parameter_description"><para>the surface</para></entry> -<entry role="parameter_annotations"></entry></row> -</tbody></tgroup></informaltable> -</refsect3><refsect3 id="cairo-pattern-create-for-surface.returns" role="returns"> -<title>Returns</title> -<para> the newly created <link linkend="cairo-pattern-t"><type>cairo_pattern_t</type></link> if successful, or -an error pattern in case of no memory. The caller owns the -returned object and should call <link linkend="cairo-pattern-destroy"><function>cairo_pattern_destroy()</function></link> when -finished with it.</para> -<para>This function will always return a valid pointer, but if an error -occurred the pattern status will be set to an error. To inspect -the status of a pattern use <link linkend="cairo-pattern-status"><function>cairo_pattern_status()</function></link>.</para> -</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> -<refsect2 id="cairo-pattern-get-surface" role="function" condition="since:1.4"> -<title>cairo_pattern_get_surface ()</title> -<indexterm zone="cairo-pattern-get-surface" role="1.4"><primary sortas="pattern_get_surface">cairo_pattern_get_surface</primary></indexterm> -<programlisting language="C"><link linkend="cairo-status-t"><returnvalue>cairo_status_t</returnvalue></link> -cairo_pattern_get_surface (<parameter><link linkend="cairo-pattern-t"><type>cairo_pattern_t</type></link> *pattern</parameter>, - <parameter><link linkend="cairo-surface-t"><type>cairo_surface_t</type></link> **surface</parameter>);</programlisting> -<para>Gets the surface of a surface pattern. The reference returned in -<parameter>surface</parameter> - is owned by the pattern; the caller should call -<link linkend="cairo-surface-reference"><function>cairo_surface_reference()</function></link> if the surface is to be retained.</para> -<refsect3 id="cairo-pattern-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>pattern</para></entry> -<entry role="parameter_description"><para>a <link linkend="cairo-pattern-t"><type>cairo_pattern_t</type></link></para></entry> -<entry role="parameter_annotations"></entry></row> -<row><entry role="parameter_name"><para>surface</para></entry> -<entry role="parameter_description"><para>return value for surface of pattern, or <link linkend="NULL:CAPS"><literal>NULL</literal></link></para></entry> -<entry role="parameter_annotations"></entry></row> -</tbody></tgroup></informaltable> -</refsect3><refsect3 id="cairo-pattern-get-surface.returns" role="returns"> -<title>Returns</title> -<para> <link linkend="CAIRO-STATUS-SUCCESS:CAPS"><literal>CAIRO_STATUS_SUCCESS</literal></link>, or -<link linkend="CAIRO-STATUS-PATTERN-TYPE-MISMATCH:CAPS"><literal>CAIRO_STATUS_PATTERN_TYPE_MISMATCH</literal></link> if the pattern is not a surface -pattern.</para> -</refsect3><para role="since">Since: <link linkend="api-index-1.4">1.4</link></para></refsect2> -<refsect2 id="cairo-pattern-create-linear" role="function" condition="since:1.0"> -<title>cairo_pattern_create_linear ()</title> -<indexterm zone="cairo-pattern-create-linear" role="1.0"><primary sortas="pattern_create_linear">cairo_pattern_create_linear</primary></indexterm> -<programlisting language="C"><link linkend="cairo-pattern-t"><returnvalue>cairo_pattern_t</returnvalue></link> * -cairo_pattern_create_linear (<parameter><link linkend="double"><type>double</type></link> x0</parameter>, - <parameter><link linkend="double"><type>double</type></link> y0</parameter>, - <parameter><link linkend="double"><type>double</type></link> x1</parameter>, - <parameter><link linkend="double"><type>double</type></link> y1</parameter>);</programlisting> -<para>Create a new linear gradient <link linkend="cairo-pattern-t"><type>cairo_pattern_t</type></link> along the line defined -by (x0, y0) and (x1, y1). Before using the gradient pattern, a -number of color stops should be defined using -<link linkend="cairo-pattern-add-color-stop-rgb"><function>cairo_pattern_add_color_stop_rgb()</function></link> or -<link linkend="cairo-pattern-add-color-stop-rgba"><function>cairo_pattern_add_color_stop_rgba()</function></link>.</para> -<para>Note: The coordinates here are in pattern space. For a new pattern, -pattern space is identical to user space, but the relationship -between the spaces can be changed with <link linkend="cairo-pattern-set-matrix"><function>cairo_pattern_set_matrix()</function></link>.</para> -<refsect3 id="cairo-pattern-create-linear.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>x0</para></entry> -<entry role="parameter_description"><para>x coordinate of the start point</para></entry> -<entry role="parameter_annotations"></entry></row> -<row><entry role="parameter_name"><para>y0</para></entry> -<entry role="parameter_description"><para>y coordinate of the start point</para></entry> -<entry role="parameter_annotations"></entry></row> -<row><entry role="parameter_name"><para>x1</para></entry> -<entry role="parameter_description"><para>x coordinate of the end point</para></entry> -<entry role="parameter_annotations"></entry></row> -<row><entry role="parameter_name"><para>y1</para></entry> -<entry role="parameter_description"><para>y coordinate of the end point</para></entry> -<entry role="parameter_annotations"></entry></row> -</tbody></tgroup></informaltable> -</refsect3><refsect3 id="cairo-pattern-create-linear.returns" role="returns"> -<title>Returns</title> -<para> the newly created <link linkend="cairo-pattern-t"><type>cairo_pattern_t</type></link> if successful, or -an error pattern in case of no memory. The caller owns the -returned object and should call <link linkend="cairo-pattern-destroy"><function>cairo_pattern_destroy()</function></link> when -finished with it.</para> -<para>This function will always return a valid pointer, but if an error -occurred the pattern status will be set to an error. To inspect -the status of a pattern use <link linkend="cairo-pattern-status"><function>cairo_pattern_status()</function></link>.</para> -</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> -<refsect2 id="cairo-pattern-get-linear-points" role="function" condition="since:1.4"> -<title>cairo_pattern_get_linear_points ()</title> -<indexterm zone="cairo-pattern-get-linear-points" role="1.4"><primary sortas="pattern_get_linear_points">cairo_pattern_get_linear_points</primary></indexterm> -<programlisting language="C"><link linkend="cairo-status-t"><returnvalue>cairo_status_t</returnvalue></link> -cairo_pattern_get_linear_points (<parameter><link linkend="cairo-pattern-t"><type>cairo_pattern_t</type></link> *pattern</parameter>, - <parameter><link linkend="double"><type>double</type></link> *x0</parameter>, - <parameter><link linkend="double"><type>double</type></link> *y0</parameter>, - <parameter><link linkend="double"><type>double</type></link> *x1</parameter>, - <parameter><link linkend="double"><type>double</type></link> *y1</parameter>);</programlisting> -<para>Gets the gradient endpoints for a linear gradient.</para> -<refsect3 id="cairo-pattern-get-linear-points.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>pattern</para></entry> -<entry role="parameter_description"><para>a <link linkend="cairo-pattern-t"><type>cairo_pattern_t</type></link></para></entry> -<entry role="parameter_annotations"></entry></row> -<row><entry role="parameter_name"><para>x0</para></entry> -<entry role="parameter_description"><para>return value for the x coordinate of the first point, or <link linkend="NULL:CAPS"><literal>NULL</literal></link></para></entry> -<entry role="parameter_annotations"></entry></row> -<row><entry role="parameter_name"><para>y0</para></entry> -<entry role="parameter_description"><para>return value for the y coordinate of the first point, or <link linkend="NULL:CAPS"><literal>NULL</literal></link></para></entry> -<entry role="parameter_annotations"></entry></row> -<row><entry role="parameter_name"><para>x1</para></entry> -<entry role="parameter_description"><para>return value for the x coordinate of the second point, or <link linkend="NULL:CAPS"><literal>NULL</literal></link></para></entry> -<entry role="parameter_annotations"></entry></row> -<row><entry role="parameter_name"><para>y1</para></entry> -<entry role="parameter_description"><para>return value for the y coordinate of the second point, or <link linkend="NULL:CAPS"><literal>NULL</literal></link></para></entry> -<entry role="parameter_annotations"></entry></row> -</tbody></tgroup></informaltable> -</refsect3><refsect3 id="cairo-pattern-get-linear-points.returns" role="returns"> -<title>Returns</title> -<para> <link linkend="CAIRO-STATUS-SUCCESS:CAPS"><literal>CAIRO_STATUS_SUCCESS</literal></link>, or -<link linkend="CAIRO-STATUS-PATTERN-TYPE-MISMATCH:CAPS"><literal>CAIRO_STATUS_PATTERN_TYPE_MISMATCH</literal></link> if <parameter>pattern</parameter> -is not a linear -gradient pattern.</para> -</refsect3><para role="since">Since: <link linkend="api-index-1.4">1.4</link></para></refsect2> -<refsect2 id="cairo-pattern-create-radial" role="function" condition="since:1.0"> -<title>cairo_pattern_create_radial ()</title> -<indexterm zone="cairo-pattern-create-radial" role="1.0"><primary sortas="pattern_create_radial">cairo_pattern_create_radial</primary></indexterm> -<programlisting language="C"><link linkend="cairo-pattern-t"><returnvalue>cairo_pattern_t</returnvalue></link> * -cairo_pattern_create_radial (<parameter><link linkend="double"><type>double</type></link> cx0</parameter>, - <parameter><link linkend="double"><type>double</type></link> cy0</parameter>, - <parameter><link linkend="double"><type>double</type></link> radius0</parameter>, - <parameter><link linkend="double"><type>double</type></link> cx1</parameter>, - <parameter><link linkend="double"><type>double</type></link> cy1</parameter>, - <parameter><link linkend="double"><type>double</type></link> radius1</parameter>);</programlisting> -<para>Creates a new radial gradient <link linkend="cairo-pattern-t"><type>cairo_pattern_t</type></link> between the two -circles defined by (cx0, cy0, radius0) and (cx1, cy1, radius1). Before using the -gradient pattern, a number of color stops should be defined using -<link linkend="cairo-pattern-add-color-stop-rgb"><function>cairo_pattern_add_color_stop_rgb()</function></link> or -<link linkend="cairo-pattern-add-color-stop-rgba"><function>cairo_pattern_add_color_stop_rgba()</function></link>.</para> -<para>Note: The coordinates here are in pattern space. For a new pattern, -pattern space is identical to user space, but the relationship -between the spaces can be changed with <link linkend="cairo-pattern-set-matrix"><function>cairo_pattern_set_matrix()</function></link>.</para> -<refsect3 id="cairo-pattern-create-radial.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>cx0</para></entry> -<entry role="parameter_description"><para>x coordinate for the center of the start circle</para></entry> -<entry role="parameter_annotations"></entry></row> -<row><entry role="parameter_name"><para>cy0</para></entry> -<entry role="parameter_description"><para>y coordinate for the center of the start circle</para></entry> -<entry role="parameter_annotations"></entry></row> -<row><entry role="parameter_name"><para>radius0</para></entry> -<entry role="parameter_description"><para>radius of the start circle</para></entry> -<entry role="parameter_annotations"></entry></row> -<row><entry role="parameter_name"><para>cx1</para></entry> -<entry role="parameter_description"><para>x coordinate for the center of the end circle</para></entry> -<entry role="parameter_annotations"></entry></row> -<row><entry role="parameter_name"><para>cy1</para></entry> -<entry role="parameter_description"><para>y coordinate for the center of the end circle</para></entry> -<entry role="parameter_annotations"></entry></row> -<row><entry role="parameter_name"><para>radius1</para></entry> -<entry role="parameter_description"><para>radius of the end circle</para></entry> -<entry role="parameter_annotations"></entry></row> -</tbody></tgroup></informaltable> -</refsect3><refsect3 id="cairo-pattern-create-radial.returns" role="returns"> -<title>Returns</title> -<para> the newly created <link linkend="cairo-pattern-t"><type>cairo_pattern_t</type></link> if successful, or -an error pattern in case of no memory. The caller owns the -returned object and should call <link linkend="cairo-pattern-destroy"><function>cairo_pattern_destroy()</function></link> when -finished with it.</para> -<para>This function will always return a valid pointer, but if an error -occurred the pattern status will be set to an error. To inspect -the status of a pattern use <link linkend="cairo-pattern-status"><function>cairo_pattern_status()</function></link>.</para> -</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> -<refsect2 id="cairo-pattern-get-radial-circles" role="function" condition="since:1.4"> -<title>cairo_pattern_get_radial_circles ()</title> -<indexterm zone="cairo-pattern-get-radial-circles" role="1.4"><primary sortas="pattern_get_radial_circles">cairo_pattern_get_radial_circles</primary></indexterm> -<programlisting language="C"><link linkend="cairo-status-t"><returnvalue>cairo_status_t</returnvalue></link> -cairo_pattern_get_radial_circles (<parameter><link linkend="cairo-pattern-t"><type>cairo_pattern_t</type></link> *pattern</parameter>, - <parameter><link linkend="double"><type>double</type></link> *x0</parameter>, - <parameter><link linkend="double"><type>double</type></link> *y0</parameter>, - <parameter><link linkend="double"><type>double</type></link> *r0</parameter>, - <parameter><link linkend="double"><type>double</type></link> *x1</parameter>, - <parameter><link linkend="double"><type>double</type></link> *y1</parameter>, - <parameter><link linkend="double"><type>double</type></link> *r1</parameter>);</programlisting> -<para>Gets the gradient endpoint circles for a radial gradient, each -specified as a center coordinate and a radius.</para> -<refsect3 id="cairo-pattern-get-radial-circles.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>pattern</para></entry> -<entry role="parameter_description"><para>a <link linkend="cairo-pattern-t"><type>cairo_pattern_t</type></link></para></entry> -<entry role="parameter_annotations"></entry></row> -<row><entry role="parameter_name"><para>x0</para></entry> -<entry role="parameter_description"><para>return value for the x coordinate of the center of the first circle, or <link linkend="NULL:CAPS"><literal>NULL</literal></link></para></entry> -<entry role="parameter_annotations"></entry></row> -<row><entry role="parameter_name"><para>y0</para></entry> -<entry role="parameter_description"><para>return value for the y coordinate of the center of the first circle, or <link linkend="NULL:CAPS"><literal>NULL</literal></link></para></entry> -<entry role="parameter_annotations"></entry></row> -<row><entry role="parameter_name"><para>r0</para></entry> -<entry role="parameter_description"><para>return value for the radius of the first circle, or <link linkend="NULL:CAPS"><literal>NULL</literal></link></para></entry> -<entry role="parameter_annotations"></entry></row> -<row><entry role="parameter_name"><para>x1</para></entry> -<entry role="parameter_description"><para>return value for the x coordinate of the center of the second circle, or <link linkend="NULL:CAPS"><literal>NULL</literal></link></para></entry> -<entry role="parameter_annotations"></entry></row> -<row><entry role="parameter_name"><para>y1</para></entry> -<entry role="parameter_description"><para>return value for the y coordinate of the center of the second circle, or <link linkend="NULL:CAPS"><literal>NULL</literal></link></para></entry> -<entry role="parameter_annotations"></entry></row> -<row><entry role="parameter_name"><para>r1</para></entry> -<entry role="parameter_description"><para>return value for the radius of the second circle, or <link linkend="NULL:CAPS"><literal>NULL</literal></link></para></entry> -<entry role="parameter_annotations"></entry></row> -</tbody></tgroup></informaltable> -</refsect3><refsect3 id="cairo-pattern-get-radial-circles.returns" role="returns"> -<title>Returns</title> -<para> <link linkend="CAIRO-STATUS-SUCCESS:CAPS"><literal>CAIRO_STATUS_SUCCESS</literal></link>, or -<link linkend="CAIRO-STATUS-PATTERN-TYPE-MISMATCH:CAPS"><literal>CAIRO_STATUS_PATTERN_TYPE_MISMATCH</literal></link> if <parameter>pattern</parameter> -is not a radial -gradient pattern.</para> -</refsect3><para role="since">Since: <link linkend="api-index-1.4">1.4</link></para></refsect2> -<refsect2 id="cairo-pattern-create-mesh" role="function" condition="since:1.12"> -<title>cairo_pattern_create_mesh ()</title> -<indexterm zone="cairo-pattern-create-mesh" role="1.12"><primary sortas="pattern_create_mesh">cairo_pattern_create_mesh</primary></indexterm> -<programlisting language="C"><link linkend="cairo-pattern-t"><returnvalue>cairo_pattern_t</returnvalue></link> * -cairo_pattern_create_mesh (<parameter><type>void</type></parameter>);</programlisting> -<para>Create a new mesh pattern.</para> -<para>Mesh patterns are tensor-product patch meshes (type 7 shadings in -PDF). Mesh patterns may also be used to create other types of -shadings that are special cases of tensor-product patch meshes such -as Coons patch meshes (type 6 shading in PDF) and Gouraud-shaded -triangle meshes (type 4 and 5 shadings in PDF).</para> -<para>Mesh patterns consist of one or more tensor-product patches, which -should be defined before using the mesh pattern. Using a mesh -pattern with a partially defined patch as source or mask will put -the context in an error status with a status of -<link linkend="CAIRO-STATUS-INVALID-MESH-CONSTRUCTION:CAPS"><literal>CAIRO_STATUS_INVALID_MESH_CONSTRUCTION</literal></link>.</para> -<para>A tensor-product patch is defined by 4 Bézier curves (side 0, 1, 2, -3) and by 4 additional control points (P0, P1, P2, P3) that provide -further control over the patch and complete the definition of the -tensor-product patch. The corner C0 is the first point of the -patch.</para> -<para>Degenerate sides are permitted so straight lines may be used. A -zero length line on one side may be used to create 3 sided patches.</para> -<informalexample><screen> - C1 Side 1 C2 - +---------------+ - | | - | P1 P2 | - | | -Side 0 | | Side 2 - | | - | | - | P0 P3 | - | | - +---------------+ - C0 Side 3 C3 -</screen></informalexample> -<para>Each patch is constructed by first calling -<link linkend="cairo-mesh-pattern-begin-patch"><function>cairo_mesh_pattern_begin_patch()</function></link>, then <link linkend="cairo-mesh-pattern-move-to"><function>cairo_mesh_pattern_move_to()</function></link> -to specify the first point in the patch (C0). Then the sides are -specified with calls to <link linkend="cairo-mesh-pattern-curve-to"><function>cairo_mesh_pattern_curve_to()</function></link> and -<link linkend="cairo-mesh-pattern-line-to"><function>cairo_mesh_pattern_line_to()</function></link>.</para> -<para>The four additional control points (P0, P1, P2, P3) in a patch can -be specified with <link linkend="cairo-mesh-pattern-set-control-point"><function>cairo_mesh_pattern_set_control_point()</function></link>.</para> -<para>At each corner of the patch (C0, C1, C2, C3) a color may be -specified with <link linkend="cairo-mesh-pattern-set-corner-color-rgb"><function>cairo_mesh_pattern_set_corner_color_rgb()</function></link> or -<link linkend="cairo-mesh-pattern-set-corner-color-rgba"><function>cairo_mesh_pattern_set_corner_color_rgba()</function></link>. Any corner whose color -is not explicitly specified defaults to transparent black.</para> -<para>A Coons patch is a special case of the tensor-product patch where -the control points are implicitly defined by the sides of the -patch. The default value for any control point not specified is the -implicit value for a Coons patch, i.e. if no control points are -specified the patch is a Coons patch.</para> -<para>A triangle is a special case of the tensor-product patch where the -control points are implicitly defined by the sides of the patch, -all the sides are lines and one of them has length 0, i.e. if the -patch is specified using just 3 lines, it is a triangle. If the -corners connected by the 0-length side have the same color, the -patch is a Gouraud-shaded triangle.</para> -<para>Patches may be oriented differently to the above diagram. For -example the first point could be at the top left. The diagram only -shows the relationship between the sides, corners and control -points. Regardless of where the first point is located, when -specifying colors, corner 0 will always be the first point, corner -1 the point between side 0 and side 1 etc.</para> -<para>Calling <link linkend="cairo-mesh-pattern-end-patch"><function>cairo_mesh_pattern_end_patch()</function></link> completes the current -patch. If less than 4 sides have been defined, the first missing -side is defined as a line from the current point to the first point -of the patch (C0) and the other sides are degenerate lines from C0 -to C0. The corners between the added sides will all be coincident -with C0 of the patch and their color will be set to be the same as -the color of C0.</para> -<para>Additional patches may be added with additional calls to -<link linkend="cairo-mesh-pattern-begin-patch"><function>cairo_mesh_pattern_begin_patch()</function></link>/<link linkend="cairo-mesh-pattern-end-patch"><function>cairo_mesh_pattern_end_patch()</function></link>.</para> -<informalexample><programlisting> -cairo_pattern_t *pattern = cairo_pattern_create_mesh (); - -/* Add a Coons patch */ -cairo_mesh_pattern_begin_patch (pattern); -cairo_mesh_pattern_move_to (pattern, 0, 0); -cairo_mesh_pattern_curve_to (pattern, 30, -30, 60, 30, 100, 0); -cairo_mesh_pattern_curve_to (pattern, 60, 30, 130, 60, 100, 100); -cairo_mesh_pattern_curve_to (pattern, 60, 70, 30, 130, 0, 100); -cairo_mesh_pattern_curve_to (pattern, 30, 70, -30, 30, 0, 0); -cairo_mesh_pattern_set_corner_color_rgb (pattern, 0, 1, 0, 0); -cairo_mesh_pattern_set_corner_color_rgb (pattern, 1, 0, 1, 0); -cairo_mesh_pattern_set_corner_color_rgb (pattern, 2, 0, 0, 1); -cairo_mesh_pattern_set_corner_color_rgb (pattern, 3, 1, 1, 0); -cairo_mesh_pattern_end_patch (pattern); - -/* Add a Gouraud-shaded triangle */ -cairo_mesh_pattern_begin_patch (pattern) -cairo_mesh_pattern_move_to (pattern, 100, 100); -cairo_mesh_pattern_line_to (pattern, 130, 130); -cairo_mesh_pattern_line_to (pattern, 130, 70); -cairo_mesh_pattern_set_corner_color_rgb (pattern, 0, 1, 0, 0); -cairo_mesh_pattern_set_corner_color_rgb (pattern, 1, 0, 1, 0); -cairo_mesh_pattern_set_corner_color_rgb (pattern, 2, 0, 0, 1); -cairo_mesh_pattern_end_patch (pattern) -</programlisting></informalexample> -<para>When two patches overlap, the last one that has been added is drawn -over the first one.</para> -<para>When a patch folds over itself, points are sorted depending on -their parameter coordinates inside the patch. The v coordinate -ranges from 0 to 1 when moving from side 3 to side 1; the u -coordinate ranges from 0 to 1 when going from side 0 to side</para> -<orderedlist> -<listitem> -<para>Points with higher v coordinate hide points with lower v -coordinate. When two points have the same v coordinate, the one -with higher u coordinate is above. This means that points nearer to -side 1 are above points nearer to side 3; when this is not -sufficient to decide which point is above (for example when both -points belong to side 1 or side 3) points nearer to side 2 are -above points nearer to side 0.</para> -</listitem> -</orderedlist> -<para>For a complete definition of tensor-product patches, see the PDF -specification (ISO32000), which describes the parametrization in -detail.</para> -<para>Note: The coordinates are always in pattern space. For a new -pattern, pattern space is identical to user space, but the -relationship between the spaces can be changed with -<link linkend="cairo-pattern-set-matrix"><function>cairo_pattern_set_matrix()</function></link>.</para> -<refsect3 id="cairo-pattern-create-mesh.returns" role="returns"> -<title>Returns</title> -<para> the newly created <link linkend="cairo-pattern-t"><type>cairo_pattern_t</type></link> if successful, or -an error pattern in case of no memory. The caller owns the returned -object and should call <link linkend="cairo-pattern-destroy"><function>cairo_pattern_destroy()</function></link> when finished with -it.</para> -<para>This function will always return a valid pointer, but if an error -occurred the pattern status will be set to an error. To inspect the -status of a pattern use <link linkend="cairo-pattern-status"><function>cairo_pattern_status()</function></link>.</para> -</refsect3><para role="since">Since: <link linkend="api-index-1.12">1.12</link></para></refsect2> -<refsect2 id="cairo-mesh-pattern-begin-patch" role="function" condition="since:1.12"> -<title>cairo_mesh_pattern_begin_patch ()</title> -<indexterm zone="cairo-mesh-pattern-begin-patch" role="1.12"><primary sortas="mesh_pattern_begin_patch">cairo_mesh_pattern_begin_patch</primary></indexterm> -<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> -cairo_mesh_pattern_begin_patch (<parameter><link linkend="cairo-pattern-t"><type>cairo_pattern_t</type></link> *pattern</parameter>);</programlisting> -<para>Begin a patch in a mesh pattern.</para> -<para>After calling this function, the patch shape should be defined with -<link linkend="cairo-mesh-pattern-move-to"><function>cairo_mesh_pattern_move_to()</function></link>, <link linkend="cairo-mesh-pattern-line-to"><function>cairo_mesh_pattern_line_to()</function></link> and -<link linkend="cairo-mesh-pattern-curve-to"><function>cairo_mesh_pattern_curve_to()</function></link>.</para> -<para>After defining the patch, <link linkend="cairo-mesh-pattern-end-patch"><function>cairo_mesh_pattern_end_patch()</function></link> must be -called before using <parameter>pattern</parameter> - as a source or mask.</para> -<para>Note: If <parameter>pattern</parameter> - is not a mesh pattern then <parameter>pattern</parameter> - will be put -into an error status with a status of -<link linkend="CAIRO-STATUS-PATTERN-TYPE-MISMATCH:CAPS"><literal>CAIRO_STATUS_PATTERN_TYPE_MISMATCH</literal></link>. If <parameter>pattern</parameter> - already has a -current patch, it will be put into an error status with a status of -<link linkend="CAIRO-STATUS-INVALID-MESH-CONSTRUCTION:CAPS"><literal>CAIRO_STATUS_INVALID_MESH_CONSTRUCTION</literal></link>.</para> -<refsect3 id="cairo-mesh-pattern-begin-patch.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>pattern</para></entry> -<entry role="parameter_description"><para>a <link linkend="cairo-pattern-t"><type>cairo_pattern_t</type></link></para></entry> -<entry role="parameter_annotations"></entry></row> -</tbody></tgroup></informaltable> -</refsect3><para role="since">Since: <link linkend="api-index-1.12">1.12</link></para></refsect2> -<refsect2 id="cairo-mesh-pattern-end-patch" role="function" condition="since:1.12"> -<title>cairo_mesh_pattern_end_patch ()</title> -<indexterm zone="cairo-mesh-pattern-end-patch" role="1.12"><primary sortas="mesh_pattern_end_patch">cairo_mesh_pattern_end_patch</primary></indexterm> -<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> -cairo_mesh_pattern_end_patch (<parameter><link linkend="cairo-pattern-t"><type>cairo_pattern_t</type></link> *pattern</parameter>);</programlisting> -<para>Indicates the end of the current patch in a mesh pattern.</para> -<para>If the current patch has less than 4 sides, it is closed with a -straight line from the current point to the first point of the -patch as if <link linkend="cairo-mesh-pattern-line-to"><function>cairo_mesh_pattern_line_to()</function></link> was used.</para> -<para>Note: If <parameter>pattern</parameter> - is not a mesh pattern then <parameter>pattern</parameter> - will be put -into an error status with a status of -<link linkend="CAIRO-STATUS-PATTERN-TYPE-MISMATCH:CAPS"><literal>CAIRO_STATUS_PATTERN_TYPE_MISMATCH</literal></link>. If <parameter>pattern</parameter> - has no current -patch or the current patch has no current point, <parameter>pattern</parameter> - will be -put into an error status with a status of -<link linkend="CAIRO-STATUS-INVALID-MESH-CONSTRUCTION:CAPS"><literal>CAIRO_STATUS_INVALID_MESH_CONSTRUCTION</literal></link>.</para> -<refsect3 id="cairo-mesh-pattern-end-patch.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>pattern</para></entry> -<entry role="parameter_description"><para>a <link linkend="cairo-pattern-t"><type>cairo_pattern_t</type></link></para></entry> -<entry role="parameter_annotations"></entry></row> -</tbody></tgroup></informaltable> -</refsect3><para role="since">Since: <link linkend="api-index-1.12">1.12</link></para></refsect2> -<refsect2 id="cairo-mesh-pattern-move-to" role="function" condition="since:1.12"> -<title>cairo_mesh_pattern_move_to ()</title> -<indexterm zone="cairo-mesh-pattern-move-to" role="1.12"><primary sortas="mesh_pattern_move_to">cairo_mesh_pattern_move_to</primary></indexterm> -<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> -cairo_mesh_pattern_move_to (<parameter><link linkend="cairo-pattern-t"><type>cairo_pattern_t</type></link> *pattern</parameter>, - <parameter><link linkend="double"><type>double</type></link> x</parameter>, - <parameter><link linkend="double"><type>double</type></link> y</parameter>);</programlisting> -<para>Define the first point of the current patch in a mesh pattern.</para> -<para>After this call the current point will be (<parameter>x</parameter> -, <parameter>y</parameter> -).</para> -<para>Note: If <parameter>pattern</parameter> - is not a mesh pattern then <parameter>pattern</parameter> - will be put -into an error status with a status of -<link linkend="CAIRO-STATUS-PATTERN-TYPE-MISMATCH:CAPS"><literal>CAIRO_STATUS_PATTERN_TYPE_MISMATCH</literal></link>. If <parameter>pattern</parameter> - has no current -patch or the current patch already has at least one side, <parameter>pattern</parameter> - -will be put into an error status with a status of -<link linkend="CAIRO-STATUS-INVALID-MESH-CONSTRUCTION:CAPS"><literal>CAIRO_STATUS_INVALID_MESH_CONSTRUCTION</literal></link>.</para> -<refsect3 id="cairo-mesh-pattern-move-to.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>pattern</para></entry> -<entry role="parameter_description"><para>a <link linkend="cairo-pattern-t"><type>cairo_pattern_t</type></link></para></entry> -<entry role="parameter_annotations"></entry></row> -<row><entry role="parameter_name"><para>x</para></entry> -<entry role="parameter_description"><para>the X coordinate of the new position</para></entry> -<entry role="parameter_annotations"></entry></row> -<row><entry role="parameter_name"><para>y</para></entry> -<entry role="parameter_description"><para>the Y coordinate of the new position</para></entry> -<entry role="parameter_annotations"></entry></row> -</tbody></tgroup></informaltable> -</refsect3><para role="since">Since: <link linkend="api-index-1.12">1.12</link></para></refsect2> -<refsect2 id="cairo-mesh-pattern-line-to" role="function" condition="since:1.12"> -<title>cairo_mesh_pattern_line_to ()</title> -<indexterm zone="cairo-mesh-pattern-line-to" role="1.12"><primary sortas="mesh_pattern_line_to">cairo_mesh_pattern_line_to</primary></indexterm> -<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> -cairo_mesh_pattern_line_to (<parameter><link linkend="cairo-pattern-t"><type>cairo_pattern_t</type></link> *pattern</parameter>, - <parameter><link linkend="double"><type>double</type></link> x</parameter>, - <parameter><link linkend="double"><type>double</type></link> y</parameter>);</programlisting> -<para>Adds a line to the current patch from the current point to position -(<parameter>x</parameter> -, <parameter>y</parameter> -) in pattern-space coordinates.</para> -<para>If there is no current point before the call to -<link linkend="cairo-mesh-pattern-line-to"><function>cairo_mesh_pattern_line_to()</function></link> this function will behave as -cairo_mesh_pattern_move_to(<parameter>pattern</parameter> -, <parameter>x</parameter> -, <parameter>y</parameter> -).</para> -<para>After this call the current point will be (<parameter>x</parameter> -, <parameter>y</parameter> -).</para> -<para>Note: If <parameter>pattern</parameter> - is not a mesh pattern then <parameter>pattern</parameter> - will be put -into an error status with a status of -<link linkend="CAIRO-STATUS-PATTERN-TYPE-MISMATCH:CAPS"><literal>CAIRO_STATUS_PATTERN_TYPE_MISMATCH</literal></link>. If <parameter>pattern</parameter> - has no current -patch or the current patch already has 4 sides, <parameter>pattern</parameter> - will be -put into an error status with a status of -<link linkend="CAIRO-STATUS-INVALID-MESH-CONSTRUCTION:CAPS"><literal>CAIRO_STATUS_INVALID_MESH_CONSTRUCTION</literal></link>.</para> -<refsect3 id="cairo-mesh-pattern-line-to.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>pattern</para></entry> -<entry role="parameter_description"><para>a <link linkend="cairo-pattern-t"><type>cairo_pattern_t</type></link></para></entry> -<entry role="parameter_annotations"></entry></row> -<row><entry role="parameter_name"><para>x</para></entry> -<entry role="parameter_description"><para>the X coordinate of the end of the new line</para></entry> -<entry role="parameter_annotations"></entry></row> -<row><entry role="parameter_name"><para>y</para></entry> -<entry role="parameter_description"><para>the Y coordinate of the end of the new line</para></entry> -<entry role="parameter_annotations"></entry></row> -</tbody></tgroup></informaltable> -</refsect3><para role="since">Since: <link linkend="api-index-1.12">1.12</link></para></refsect2> -<refsect2 id="cairo-mesh-pattern-curve-to" role="function" condition="since:1.12"> -<title>cairo_mesh_pattern_curve_to ()</title> -<indexterm zone="cairo-mesh-pattern-curve-to" role="1.12"><primary sortas="mesh_pattern_curve_to">cairo_mesh_pattern_curve_to</primary></indexterm> -<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> -cairo_mesh_pattern_curve_to (<parameter><link linkend="cairo-pattern-t"><type>cairo_pattern_t</type></link> *pattern</parameter>, - <parameter><link linkend="double"><type>double</type></link> x1</parameter>, - <parameter><link linkend="double"><type>double</type></link> y1</parameter>, - <parameter><link linkend="double"><type>double</type></link> x2</parameter>, - <parameter><link linkend="double"><type>double</type></link> y2</parameter>, - <parameter><link linkend="double"><type>double</type></link> x3</parameter>, - <parameter><link linkend="double"><type>double</type></link> y3</parameter>);</programlisting> -<para>Adds a cubic Bézier spline to the current patch from the current -point to position (<parameter>x3</parameter> -, <parameter>y3</parameter> -) in pattern-space coordinates, using -(<parameter>x1</parameter> -, <parameter>y1</parameter> -) and (<parameter>x2</parameter> -, <parameter>y2</parameter> -) as the control points.</para> -<para>If the current patch has no current point before the call to -<link linkend="cairo-mesh-pattern-curve-to"><function>cairo_mesh_pattern_curve_to()</function></link>, this function will behave as if -preceded by a call to cairo_mesh_pattern_move_to(<parameter>pattern</parameter> -, <parameter>x1</parameter> -, -<parameter>y1</parameter> -).</para> -<para>After this call the current point will be (<parameter>x3</parameter> -, <parameter>y3</parameter> -).</para> -<para>Note: If <parameter>pattern</parameter> - is not a mesh pattern then <parameter>pattern</parameter> - will be put -into an error status with a status of -<link linkend="CAIRO-STATUS-PATTERN-TYPE-MISMATCH:CAPS"><literal>CAIRO_STATUS_PATTERN_TYPE_MISMATCH</literal></link>. If <parameter>pattern</parameter> - has no current -patch or the current patch already has 4 sides, <parameter>pattern</parameter> - will be -put into an error status with a status of -<link linkend="CAIRO-STATUS-INVALID-MESH-CONSTRUCTION:CAPS"><literal>CAIRO_STATUS_INVALID_MESH_CONSTRUCTION</literal></link>.</para> -<refsect3 id="cairo-mesh-pattern-curve-to.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>pattern</para></entry> -<entry role="parameter_description"><para>a <link linkend="cairo-pattern-t"><type>cairo_pattern_t</type></link></para></entry> -<entry role="parameter_annotations"></entry></row> -<row><entry role="parameter_name"><para>x1</para></entry> -<entry role="parameter_description"><para>the X coordinate of the first control point</para></entry> -<entry role="parameter_annotations"></entry></row> -<row><entry role="parameter_name"><para>y1</para></entry> -<entry role="parameter_description"><para>the Y coordinate of the first control point</para></entry> -<entry role="parameter_annotations"></entry></row> -<row><entry role="parameter_name"><para>x2</para></entry> -<entry role="parameter_description"><para>the X coordinate of the second control point</para></entry> -<entry role="parameter_annotations"></entry></row> -<row><entry role="parameter_name"><para>y2</para></entry> -<entry role="parameter_description"><para>the Y coordinate of the second control point</para></entry> -<entry role="parameter_annotations"></entry></row> -<row><entry role="parameter_name"><para>x3</para></entry> -<entry role="parameter_description"><para>the X coordinate of the end of the curve</para></entry> -<entry role="parameter_annotations"></entry></row> -<row><entry role="parameter_name"><para>y3</para></entry> -<entry role="parameter_description"><para>the Y coordinate of the end of the curve</para></entry> -<entry role="parameter_annotations"></entry></row> -</tbody></tgroup></informaltable> -</refsect3><para role="since">Since: <link linkend="api-index-1.12">1.12</link></para></refsect2> -<refsect2 id="cairo-mesh-pattern-set-control-point" role="function" condition="since:1.12"> -<title>cairo_mesh_pattern_set_control_point ()</title> -<indexterm zone="cairo-mesh-pattern-set-control-point" role="1.12"><primary sortas="mesh_pattern_set_control_point">cairo_mesh_pattern_set_control_point</primary></indexterm> -<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> -cairo_mesh_pattern_set_control_point (<parameter><link linkend="cairo-pattern-t"><type>cairo_pattern_t</type></link> *pattern</parameter>, - <parameter>unsigned <link linkend="int"><type>int</type></link> point_num</parameter>, - <parameter><link linkend="double"><type>double</type></link> x</parameter>, - <parameter><link linkend="double"><type>double</type></link> y</parameter>);</programlisting> -<para>Set an internal control point of the current patch.</para> -<para>Valid values for <parameter>point_num</parameter> - are from 0 to 3 and identify the -control points as explained in <link linkend="cairo-pattern-create-mesh"><function>cairo_pattern_create_mesh()</function></link>.</para> -<para>Note: If <parameter>pattern</parameter> - is not a mesh pattern then <parameter>pattern</parameter> - will be put -into an error status with a status of -<link linkend="CAIRO-STATUS-PATTERN-TYPE-MISMATCH:CAPS"><literal>CAIRO_STATUS_PATTERN_TYPE_MISMATCH</literal></link>. If <parameter>point_num</parameter> - is not valid, -<parameter>pattern</parameter> - will be put into an error status with a status of -<link linkend="CAIRO-STATUS-INVALID-INDEX:CAPS"><literal>CAIRO_STATUS_INVALID_INDEX</literal></link>. If <parameter>pattern</parameter> - has no current patch, -<parameter>pattern</parameter> - will be put into an error status with a status of -<link linkend="CAIRO-STATUS-INVALID-MESH-CONSTRUCTION:CAPS"><literal>CAIRO_STATUS_INVALID_MESH_CONSTRUCTION</literal></link>.</para> -<refsect3 id="cairo-mesh-pattern-set-control-point.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>pattern</para></entry> -<entry role="parameter_description"><para>a <link linkend="cairo-pattern-t"><type>cairo_pattern_t</type></link></para></entry> -<entry role="parameter_annotations"></entry></row> -<row><entry role="parameter_name"><para>point_num</para></entry> -<entry role="parameter_description"><para>the control point to set the position for</para></entry> -<entry role="parameter_annotations"></entry></row> -<row><entry role="parameter_name"><para>x</para></entry> -<entry role="parameter_description"><para>the X coordinate of the control point</para></entry> -<entry role="parameter_annotations"></entry></row> -<row><entry role="parameter_name"><para>y</para></entry> -<entry role="parameter_description"><para>the Y coordinate of the control point</para></entry> -<entry role="parameter_annotations"></entry></row> -</tbody></tgroup></informaltable> -</refsect3><para role="since">Since: <link linkend="api-index-1.12">1.12</link></para></refsect2> -<refsect2 id="cairo-mesh-pattern-set-corner-color-rgb" role="function" condition="since:1.12"> -<title>cairo_mesh_pattern_set_corner_color_rgb ()</title> -<indexterm zone="cairo-mesh-pattern-set-corner-color-rgb" role="1.12"><primary sortas="mesh_pattern_set_corner_color_rgb">cairo_mesh_pattern_set_corner_color_rgb</primary></indexterm> -<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> -cairo_mesh_pattern_set_corner_color_rgb - (<parameter><link linkend="cairo-pattern-t"><type>cairo_pattern_t</type></link> *pattern</parameter>, - <parameter>unsigned <link linkend="int"><type>int</type></link> corner_num</parameter>, - <parameter><link linkend="double"><type>double</type></link> red</parameter>, - <parameter><link linkend="double"><type>double</type></link> green</parameter>, - <parameter><link linkend="double"><type>double</type></link> blue</parameter>);</programlisting> -<para>Sets the color of a corner of the current patch in a mesh pattern.</para> -<para>The color is specified in the same way as in <link linkend="cairo-set-source-rgb"><function>cairo_set_source_rgb()</function></link>.</para> -<para>Valid values for <parameter>corner_num</parameter> - are from 0 to 3 and identify the -corners as explained in <link linkend="cairo-pattern-create-mesh"><function>cairo_pattern_create_mesh()</function></link>.</para> -<para>Note: If <parameter>pattern</parameter> - is not a mesh pattern then <parameter>pattern</parameter> - will be put -into an error status with a status of -<link linkend="CAIRO-STATUS-PATTERN-TYPE-MISMATCH:CAPS"><literal>CAIRO_STATUS_PATTERN_TYPE_MISMATCH</literal></link>. If <parameter>corner_num</parameter> - is not valid, -<parameter>pattern</parameter> - will be put into an error status with a status of -<link linkend="CAIRO-STATUS-INVALID-INDEX:CAPS"><literal>CAIRO_STATUS_INVALID_INDEX</literal></link>. If <parameter>pattern</parameter> - has no current patch, -<parameter>pattern</parameter> - will be put into an error status with a status of -<link linkend="CAIRO-STATUS-INVALID-MESH-CONSTRUCTION:CAPS"><literal>CAIRO_STATUS_INVALID_MESH_CONSTRUCTION</literal></link>.</para> -<refsect3 id="cairo-mesh-pattern-set-corner-color-rgb.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>pattern</para></entry> -<entry role="parameter_description"><para>a <link linkend="cairo-pattern-t"><type>cairo_pattern_t</type></link></para></entry> -<entry role="parameter_annotations"></entry></row> -<row><entry role="parameter_name"><para>corner_num</para></entry> -<entry role="parameter_description"><para>the corner to set the color for</para></entry> -<entry role="parameter_annotations"></entry></row> -<row><entry role="parameter_name"><para>red</para></entry> -<entry role="parameter_description"><para>red component of color</para></entry> -<entry role="parameter_annotations"></entry></row> -<row><entry role="parameter_name"><para>green</para></entry> -<entry role="parameter_description"><para>green component of color</para></entry> -<entry role="parameter_annotations"></entry></row> -<row><entry role="parameter_name"><para>blue</para></entry> -<entry role="parameter_description"><para>blue component of color</para></entry> -<entry role="parameter_annotations"></entry></row> -</tbody></tgroup></informaltable> -</refsect3><para role="since">Since: <link linkend="api-index-1.12">1.12</link></para></refsect2> -<refsect2 id="cairo-mesh-pattern-set-corner-color-rgba" role="function" condition="since:1.12"> -<title>cairo_mesh_pattern_set_corner_color_rgba ()</title> -<indexterm zone="cairo-mesh-pattern-set-corner-color-rgba" role="1.12"><primary sortas="mesh_pattern_set_corner_color_rgba">cairo_mesh_pattern_set_corner_color_rgba</primary></indexterm> -<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> -cairo_mesh_pattern_set_corner_color_rgba - (<parameter><link linkend="cairo-pattern-t"><type>cairo_pattern_t</type></link> *pattern</parameter>, - <parameter>unsigned <link linkend="int"><type>int</type></link> corner_num</parameter>, - <parameter><link linkend="double"><type>double</type></link> red</parameter>, - <parameter><link linkend="double"><type>double</type></link> green</parameter>, - <parameter><link linkend="double"><type>double</type></link> blue</parameter>, - <parameter><link linkend="double"><type>double</type></link> alpha</parameter>);</programlisting> -<para>Sets the color of a corner of the current patch in a mesh pattern.</para> -<para>The color is specified in the same way as in <link linkend="cairo-set-source-rgba"><function>cairo_set_source_rgba()</function></link>.</para> -<para>Valid values for <parameter>corner_num</parameter> - are from 0 to 3 and identify the -corners as explained in <link linkend="cairo-pattern-create-mesh"><function>cairo_pattern_create_mesh()</function></link>.</para> -<para>Note: If <parameter>pattern</parameter> - is not a mesh pattern then <parameter>pattern</parameter> - will be put -into an error status with a status of -<link linkend="CAIRO-STATUS-PATTERN-TYPE-MISMATCH:CAPS"><literal>CAIRO_STATUS_PATTERN_TYPE_MISMATCH</literal></link>. If <parameter>corner_num</parameter> - is not valid, -<parameter>pattern</parameter> - will be put into an error status with a status of -<link linkend="CAIRO-STATUS-INVALID-INDEX:CAPS"><literal>CAIRO_STATUS_INVALID_INDEX</literal></link>. If <parameter>pattern</parameter> - has no current patch, -<parameter>pattern</parameter> - will be put into an error status with a status of -<link linkend="CAIRO-STATUS-INVALID-MESH-CONSTRUCTION:CAPS"><literal>CAIRO_STATUS_INVALID_MESH_CONSTRUCTION</literal></link>.</para> -<refsect3 id="cairo-mesh-pattern-set-corner-color-rgba.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>pattern</para></entry> -<entry role="parameter_description"><para>a <link linkend="cairo-pattern-t"><type>cairo_pattern_t</type></link></para></entry> -<entry role="parameter_annotations"></entry></row> -<row><entry role="parameter_name"><para>corner_num</para></entry> -<entry role="parameter_description"><para>the corner to set the color for</para></entry> -<entry role="parameter_annotations"></entry></row> -<row><entry role="parameter_name"><para>red</para></entry> -<entry role="parameter_description"><para>red component of color</para></entry> -<entry role="parameter_annotations"></entry></row> -<row><entry role="parameter_name"><para>green</para></entry> -<entry role="parameter_description"><para>green component of color</para></entry> -<entry role="parameter_annotations"></entry></row> -<row><entry role="parameter_name"><para>blue</para></entry> -<entry role="parameter_description"><para>blue component of color</para></entry> -<entry role="parameter_annotations"></entry></row> -<row><entry role="parameter_name"><para>alpha</para></entry> -<entry role="parameter_description"><para>alpha component of color</para></entry> -<entry role="parameter_annotations"></entry></row> -</tbody></tgroup></informaltable> -</refsect3><para role="since">Since: <link linkend="api-index-1.12">1.12</link></para></refsect2> -<refsect2 id="cairo-mesh-pattern-get-patch-count" role="function" condition="since:1.12"> -<title>cairo_mesh_pattern_get_patch_count ()</title> -<indexterm zone="cairo-mesh-pattern-get-patch-count" role="1.12"><primary sortas="mesh_pattern_get_patch_count">cairo_mesh_pattern_get_patch_count</primary></indexterm> -<programlisting language="C"><link linkend="cairo-status-t"><returnvalue>cairo_status_t</returnvalue></link> -cairo_mesh_pattern_get_patch_count (<parameter><link linkend="cairo-pattern-t"><type>cairo_pattern_t</type></link> *pattern</parameter>, - <parameter>unsigned <link linkend="int"><type>int</type></link> *count</parameter>);</programlisting> -<para>Gets the number of patches specified in the given mesh pattern.</para> -<para>The number only includes patches which have been finished by -calling <link linkend="cairo-mesh-pattern-end-patch"><function>cairo_mesh_pattern_end_patch()</function></link>. For example it will be 0 -during the definition of the first patch.</para> -<refsect3 id="cairo-mesh-pattern-get-patch-count.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>pattern</para></entry> -<entry role="parameter_description"><para>a <link linkend="cairo-pattern-t"><type>cairo_pattern_t</type></link></para></entry> -<entry role="parameter_annotations"></entry></row> -<row><entry role="parameter_name"><para>count</para></entry> -<entry role="parameter_description"><para>return value for the number patches, or <link linkend="NULL:CAPS"><literal>NULL</literal></link></para></entry> -<entry role="parameter_annotations"></entry></row> -</tbody></tgroup></informaltable> -</refsect3><refsect3 id="cairo-mesh-pattern-get-patch-count.returns" role="returns"> -<title>Returns</title> -<para> <link linkend="CAIRO-STATUS-SUCCESS:CAPS"><literal>CAIRO_STATUS_SUCCESS</literal></link>, or -<link linkend="CAIRO-STATUS-PATTERN-TYPE-MISMATCH:CAPS"><literal>CAIRO_STATUS_PATTERN_TYPE_MISMATCH</literal></link> if <parameter>pattern</parameter> -is not a mesh -pattern.</para> -</refsect3><para role="since">Since: <link linkend="api-index-1.12">1.12</link></para></refsect2> -<refsect2 id="cairo-mesh-pattern-get-path" role="function" condition="since:1.12"> -<title>cairo_mesh_pattern_get_path ()</title> -<indexterm zone="cairo-mesh-pattern-get-path" role="1.12"><primary sortas="mesh_pattern_get_path">cairo_mesh_pattern_get_path</primary></indexterm> -<programlisting language="C"><link linkend="cairo-path-t"><returnvalue>cairo_path_t</returnvalue></link> * -cairo_mesh_pattern_get_path (<parameter><link linkend="cairo-pattern-t"><type>cairo_pattern_t</type></link> *pattern</parameter>, - <parameter>unsigned <link linkend="int"><type>int</type></link> patch_num</parameter>);</programlisting> -<para>Gets path defining the patch <parameter>patch_num</parameter> - for a mesh -pattern.</para> -<para><parameter>patch_num</parameter> - can range from 0 to n-1 where n is the number returned by -<link linkend="cairo-mesh-pattern-get-patch-count"><function>cairo_mesh_pattern_get_patch_count()</function></link>.</para> -<refsect3 id="cairo-mesh-pattern-get-path.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>pattern</para></entry> -<entry role="parameter_description"><para>a <link linkend="cairo-pattern-t"><type>cairo_pattern_t</type></link></para></entry> -<entry role="parameter_annotations"></entry></row> -<row><entry role="parameter_name"><para>patch_num</para></entry> -<entry role="parameter_description"><para>the patch number to return data for</para></entry> -<entry role="parameter_annotations"></entry></row> -</tbody></tgroup></informaltable> -</refsect3><refsect3 id="cairo-mesh-pattern-get-path.returns" role="returns"> -<title>Returns</title> -<para> the path defining the patch, or a path with status -<link linkend="CAIRO-STATUS-INVALID-INDEX:CAPS"><literal>CAIRO_STATUS_INVALID_INDEX</literal></link> if <parameter>patch_num</parameter> -or <parameter>point_num</parameter> -is not -valid for <parameter>pattern</parameter> -. If <parameter>pattern</parameter> -is not a mesh pattern, a path with -status <link linkend="CAIRO-STATUS-PATTERN-TYPE-MISMATCH:CAPS"><literal>CAIRO_STATUS_PATTERN_TYPE_MISMATCH</literal></link> is returned.</para> -</refsect3><para role="since">Since: <link linkend="api-index-1.12">1.12</link></para></refsect2> -<refsect2 id="cairo-mesh-pattern-get-control-point" role="function" condition="since:1.12"> -<title>cairo_mesh_pattern_get_control_point ()</title> -<indexterm zone="cairo-mesh-pattern-get-control-point" role="1.12"><primary sortas="mesh_pattern_get_control_point">cairo_mesh_pattern_get_control_point</primary></indexterm> -<programlisting language="C"><link linkend="cairo-status-t"><returnvalue>cairo_status_t</returnvalue></link> -cairo_mesh_pattern_get_control_point (<parameter><link linkend="cairo-pattern-t"><type>cairo_pattern_t</type></link> *pattern</parameter>, - <parameter>unsigned <link linkend="int"><type>int</type></link> patch_num</parameter>, - <parameter>unsigned <link linkend="int"><type>int</type></link> point_num</parameter>, - <parameter><link linkend="double"><type>double</type></link> *x</parameter>, - <parameter><link linkend="double"><type>double</type></link> *y</parameter>);</programlisting> -<para>Gets the control point <parameter>point_num</parameter> - of patch <parameter>patch_num</parameter> - for a mesh -pattern.</para> -<para><parameter>patch_num</parameter> - can range from 0 to n-1 where n is the number returned by -<link linkend="cairo-mesh-pattern-get-patch-count"><function>cairo_mesh_pattern_get_patch_count()</function></link>.</para> -<para>Valid values for <parameter>point_num</parameter> - are from 0 to 3 and identify the -control points as explained in <link linkend="cairo-pattern-create-mesh"><function>cairo_pattern_create_mesh()</function></link>.</para> -<refsect3 id="cairo-mesh-pattern-get-control-point.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>pattern</para></entry> -<entry role="parameter_description"><para>a <link linkend="cairo-pattern-t"><type>cairo_pattern_t</type></link></para></entry> -<entry role="parameter_annotations"></entry></row> -<row><entry role="parameter_name"><para>patch_num</para></entry> -<entry role="parameter_description"><para>the patch number to return data for</para></entry> -<entry role="parameter_annotations"></entry></row> -<row><entry role="parameter_name"><para>point_num</para></entry> -<entry role="parameter_description"><para>the control point number to return data for</para></entry> -<entry role="parameter_annotations"></entry></row> -<row><entry role="parameter_name"><para>x</para></entry> -<entry role="parameter_description"><para>return value for the x coordinate of the control point, or <link linkend="NULL:CAPS"><literal>NULL</literal></link></para></entry> -<entry role="parameter_annotations"></entry></row> -<row><entry role="parameter_name"><para>y</para></entry> -<entry role="parameter_description"><para>return value for the y coordinate of the control point, or <link linkend="NULL:CAPS"><literal>NULL</literal></link></para></entry> -<entry role="parameter_annotations"></entry></row> -</tbody></tgroup></informaltable> -</refsect3><refsect3 id="cairo-mesh-pattern-get-control-point.returns" role="returns"> -<title>Returns</title> -<para> <link linkend="CAIRO-STATUS-SUCCESS:CAPS"><literal>CAIRO_STATUS_SUCCESS</literal></link>, or <link linkend="CAIRO-STATUS-INVALID-INDEX:CAPS"><literal>CAIRO_STATUS_INVALID_INDEX</literal></link> -if <parameter>patch_num</parameter> -or <parameter>point_num</parameter> -is not valid for <parameter>pattern</parameter> -. If <parameter>pattern</parameter> -is not a mesh pattern, <link linkend="CAIRO-STATUS-PATTERN-TYPE-MISMATCH:CAPS"><literal>CAIRO_STATUS_PATTERN_TYPE_MISMATCH</literal></link> is -returned.</para> -</refsect3><para role="since">Since: <link linkend="api-index-1.12">1.12</link></para></refsect2> -<refsect2 id="cairo-mesh-pattern-get-corner-color-rgba" role="function" condition="since:1.12"> -<title>cairo_mesh_pattern_get_corner_color_rgba ()</title> -<indexterm zone="cairo-mesh-pattern-get-corner-color-rgba" role="1.12"><primary sortas="mesh_pattern_get_corner_color_rgba">cairo_mesh_pattern_get_corner_color_rgba</primary></indexterm> -<programlisting language="C"><link linkend="cairo-status-t"><returnvalue>cairo_status_t</returnvalue></link> -cairo_mesh_pattern_get_corner_color_rgba - (<parameter><link linkend="cairo-pattern-t"><type>cairo_pattern_t</type></link> *pattern</parameter>, - <parameter>unsigned <link linkend="int"><type>int</type></link> patch_num</parameter>, - <parameter>unsigned <link linkend="int"><type>int</type></link> corner_num</parameter>, - <parameter><link linkend="double"><type>double</type></link> *red</parameter>, - <parameter><link linkend="double"><type>double</type></link> *green</parameter>, - <parameter><link linkend="double"><type>double</type></link> *blue</parameter>, - <parameter><link linkend="double"><type>double</type></link> *alpha</parameter>);</programlisting> -<para>Gets the color information in corner <parameter>corner_num</parameter> - of patch -<parameter>patch_num</parameter> - for a mesh pattern.</para> -<para><parameter>patch_num</parameter> - can range from 0 to n-1 where n is the number returned by -<link linkend="cairo-mesh-pattern-get-patch-count"><function>cairo_mesh_pattern_get_patch_count()</function></link>.</para> -<para>Valid values for <parameter>corner_num</parameter> - are from 0 to 3 and identify the -corners as explained in <link linkend="cairo-pattern-create-mesh"><function>cairo_pattern_create_mesh()</function></link>.</para> -<refsect3 id="cairo-mesh-pattern-get-corner-color-rgba.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>pattern</para></entry> -<entry role="parameter_description"><para>a <link linkend="cairo-pattern-t"><type>cairo_pattern_t</type></link></para></entry> -<entry role="parameter_annotations"></entry></row> -<row><entry role="parameter_name"><para>patch_num</para></entry> -<entry role="parameter_description"><para>the patch number to return data for</para></entry> -<entry role="parameter_annotations"></entry></row> -<row><entry role="parameter_name"><para>corner_num</para></entry> -<entry role="parameter_description"><para>the corner number to return data for</para></entry> -<entry role="parameter_annotations"></entry></row> -<row><entry role="parameter_name"><para>red</para></entry> -<entry role="parameter_description"><para>return value for red component of color, or <link linkend="NULL:CAPS"><literal>NULL</literal></link></para></entry> -<entry role="parameter_annotations"></entry></row> -<row><entry role="parameter_name"><para>green</para></entry> -<entry role="parameter_description"><para>return value for green component of color, or <link linkend="NULL:CAPS"><literal>NULL</literal></link></para></entry> -<entry role="parameter_annotations"></entry></row> -<row><entry role="parameter_name"><para>blue</para></entry> -<entry role="parameter_description"><para>return value for blue component of color, or <link linkend="NULL:CAPS"><literal>NULL</literal></link></para></entry> -<entry role="parameter_annotations"></entry></row> -<row><entry role="parameter_name"><para>alpha</para></entry> -<entry role="parameter_description"><para>return value for alpha component of color, or <link linkend="NULL:CAPS"><literal>NULL</literal></link></para></entry> -<entry role="parameter_annotations"></entry></row> -</tbody></tgroup></informaltable> -</refsect3><refsect3 id="cairo-mesh-pattern-get-corner-color-rgba.returns" role="returns"> -<title>Returns</title> -<para> <link linkend="CAIRO-STATUS-SUCCESS:CAPS"><literal>CAIRO_STATUS_SUCCESS</literal></link>, or <link linkend="CAIRO-STATUS-INVALID-INDEX:CAPS"><literal>CAIRO_STATUS_INVALID_INDEX</literal></link> -if <parameter>patch_num</parameter> -or <parameter>corner_num</parameter> -is not valid for <parameter>pattern</parameter> -. If -<parameter>pattern</parameter> -is not a mesh pattern, <link linkend="CAIRO-STATUS-PATTERN-TYPE-MISMATCH:CAPS"><literal>CAIRO_STATUS_PATTERN_TYPE_MISMATCH</literal></link> -is returned.</para> -</refsect3><para role="since">Since: <link linkend="api-index-1.12">1.12</link></para></refsect2> -<refsect2 id="cairo-pattern-reference" role="function" condition="since:1.0"> -<title>cairo_pattern_reference ()</title> -<indexterm zone="cairo-pattern-reference" role="1.0"><primary sortas="pattern_reference">cairo_pattern_reference</primary></indexterm> -<programlisting language="C"><link linkend="cairo-pattern-t"><returnvalue>cairo_pattern_t</returnvalue></link> * -cairo_pattern_reference (<parameter><link linkend="cairo-pattern-t"><type>cairo_pattern_t</type></link> *pattern</parameter>);</programlisting> -<para>Increases the reference count on <parameter>pattern</parameter> - by one. This prevents -<parameter>pattern</parameter> - from being destroyed until a matching call to -<link linkend="cairo-pattern-destroy"><function>cairo_pattern_destroy()</function></link> is made.</para> -<para>Use <link linkend="cairo-pattern-get-reference-count"><function>cairo_pattern_get_reference_count()</function></link> to get the number of -references to a <link linkend="cairo-pattern-t"><type>cairo_pattern_t</type></link>.</para> -<refsect3 id="cairo-pattern-reference.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>pattern</para></entry> -<entry role="parameter_description"><para>a <link linkend="cairo-pattern-t"><type>cairo_pattern_t</type></link></para></entry> -<entry role="parameter_annotations"></entry></row> -</tbody></tgroup></informaltable> -</refsect3><refsect3 id="cairo-pattern-reference.returns" role="returns"> -<title>Returns</title> -<para> the referenced <link linkend="cairo-pattern-t"><type>cairo_pattern_t</type></link>.</para> -</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> -<refsect2 id="cairo-pattern-destroy" role="function" condition="since:1.0"> -<title>cairo_pattern_destroy ()</title> -<indexterm zone="cairo-pattern-destroy" role="1.0"><primary sortas="pattern_destroy">cairo_pattern_destroy</primary></indexterm> -<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> -cairo_pattern_destroy (<parameter><link linkend="cairo-pattern-t"><type>cairo_pattern_t</type></link> *pattern</parameter>);</programlisting> -<para>Decreases the reference count on <parameter>pattern</parameter> - by one. If the result is -zero, then <parameter>pattern</parameter> - and all associated resources are freed. See -<link linkend="cairo-pattern-reference"><function>cairo_pattern_reference()</function></link>.</para> -<refsect3 id="cairo-pattern-destroy.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>pattern</para></entry> -<entry role="parameter_description"><para>a <link linkend="cairo-pattern-t"><type>cairo_pattern_t</type></link></para></entry> -<entry role="parameter_annotations"></entry></row> -</tbody></tgroup></informaltable> -</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> -<refsect2 id="cairo-pattern-status" role="function" condition="since:1.0"> -<title>cairo_pattern_status ()</title> -<indexterm zone="cairo-pattern-status" role="1.0"><primary sortas="pattern_status">cairo_pattern_status</primary></indexterm> -<programlisting language="C"><link linkend="cairo-status-t"><returnvalue>cairo_status_t</returnvalue></link> -cairo_pattern_status (<parameter><link linkend="cairo-pattern-t"><type>cairo_pattern_t</type></link> *pattern</parameter>);</programlisting> -<para>Checks whether an error has previously occurred for this -pattern.</para> -<refsect3 id="cairo-pattern-status.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>pattern</para></entry> -<entry role="parameter_description"><para>a <link linkend="cairo-pattern-t"><type>cairo_pattern_t</type></link></para></entry> -<entry role="parameter_annotations"></entry></row> -</tbody></tgroup></informaltable> -</refsect3><refsect3 id="cairo-pattern-status.returns" role="returns"> -<title>Returns</title> -<para> <link linkend="CAIRO-STATUS-SUCCESS:CAPS"><literal>CAIRO_STATUS_SUCCESS</literal></link>, <link linkend="CAIRO-STATUS-NO-MEMORY:CAPS"><literal>CAIRO_STATUS_NO_MEMORY</literal></link>, -<link linkend="CAIRO-STATUS-INVALID-MATRIX:CAPS"><literal>CAIRO_STATUS_INVALID_MATRIX</literal></link>, <link linkend="CAIRO-STATUS-PATTERN-TYPE-MISMATCH:CAPS"><literal>CAIRO_STATUS_PATTERN_TYPE_MISMATCH</literal></link>, -or <link linkend="CAIRO-STATUS-INVALID-MESH-CONSTRUCTION:CAPS"><literal>CAIRO_STATUS_INVALID_MESH_CONSTRUCTION</literal></link>.</para> -</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> -<refsect2 id="cairo-pattern-set-extend" role="function" condition="since:1.0"> -<title>cairo_pattern_set_extend ()</title> -<indexterm zone="cairo-pattern-set-extend" role="1.0"><primary sortas="pattern_set_extend">cairo_pattern_set_extend</primary></indexterm> -<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> -cairo_pattern_set_extend (<parameter><link linkend="cairo-pattern-t"><type>cairo_pattern_t</type></link> *pattern</parameter>, - <parameter><link linkend="cairo-extend-t"><type>cairo_extend_t</type></link> extend</parameter>);</programlisting> -<para>Sets the mode to be used for drawing outside the area of a pattern. -See <link linkend="cairo-extend-t"><type>cairo_extend_t</type></link> for details on the semantics of each extend -strategy.</para> -<para>The default extend mode is <link linkend="CAIRO-EXTEND-NONE:CAPS"><literal>CAIRO_EXTEND_NONE</literal></link> for surface patterns -and <link linkend="CAIRO-EXTEND-PAD:CAPS"><literal>CAIRO_EXTEND_PAD</literal></link> for gradient patterns.</para> -<refsect3 id="cairo-pattern-set-extend.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>pattern</para></entry> -<entry role="parameter_description"><para>a <link linkend="cairo-pattern-t"><type>cairo_pattern_t</type></link></para></entry> -<entry role="parameter_annotations"></entry></row> -<row><entry role="parameter_name"><para>extend</para></entry> -<entry role="parameter_description"><para>a <link linkend="cairo-extend-t"><type>cairo_extend_t</type></link> describing how the area outside of the -pattern will be drawn</para></entry> -<entry role="parameter_annotations"></entry></row> -</tbody></tgroup></informaltable> -</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> -<refsect2 id="cairo-pattern-get-extend" role="function" condition="since:1.0"> -<title>cairo_pattern_get_extend ()</title> -<indexterm zone="cairo-pattern-get-extend" role="1.0"><primary sortas="pattern_get_extend">cairo_pattern_get_extend</primary></indexterm> -<programlisting language="C"><link linkend="cairo-extend-t"><returnvalue>cairo_extend_t</returnvalue></link> -cairo_pattern_get_extend (<parameter><link linkend="cairo-pattern-t"><type>cairo_pattern_t</type></link> *pattern</parameter>);</programlisting> -<para>Gets the current extend mode for a pattern. See <link linkend="cairo-extend-t"><type>cairo_extend_t</type></link> -for details on the semantics of each extend strategy.</para> -<refsect3 id="cairo-pattern-get-extend.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>pattern</para></entry> -<entry role="parameter_description"><para>a <link linkend="cairo-pattern-t"><type>cairo_pattern_t</type></link></para></entry> -<entry role="parameter_annotations"></entry></row> -</tbody></tgroup></informaltable> -</refsect3><refsect3 id="cairo-pattern-get-extend.returns" role="returns"> -<title>Returns</title> -<para> the current extend strategy used for drawing the -pattern.</para> -</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> -<refsect2 id="cairo-pattern-set-filter" role="function" condition="since:1.0"> -<title>cairo_pattern_set_filter ()</title> -<indexterm zone="cairo-pattern-set-filter" role="1.0"><primary sortas="pattern_set_filter">cairo_pattern_set_filter</primary></indexterm> -<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> -cairo_pattern_set_filter (<parameter><link linkend="cairo-pattern-t"><type>cairo_pattern_t</type></link> *pattern</parameter>, - <parameter><link linkend="cairo-filter-t"><type>cairo_filter_t</type></link> filter</parameter>);</programlisting> -<para>Sets the filter to be used for resizing when using this pattern. -See <link linkend="cairo-filter-t"><type>cairo_filter_t</type></link> for details on each filter.</para> -<itemizedlist> -<listitem> -<para>Note that you might want to control filtering even when you do not -have an explicit <link linkend="cairo-pattern-t"><type>cairo_pattern_t</type></link> object, (for example when using -<link linkend="cairo-set-source-surface"><function>cairo_set_source_surface()</function></link>). In these cases, it is convenient to -use <link linkend="cairo-get-source"><function>cairo_get_source()</function></link> to get access to the pattern that cairo -creates implicitly. For example:</para> -</listitem> -</itemizedlist> -<informalexample><programlisting> -cairo_set_source_surface (cr, image, x, y); -cairo_pattern_set_filter (cairo_get_source (cr), CAIRO_FILTER_NEAREST); -</programlisting></informalexample> -<refsect3 id="cairo-pattern-set-filter.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>pattern</para></entry> -<entry role="parameter_description"><para>a <link linkend="cairo-pattern-t"><type>cairo_pattern_t</type></link></para></entry> -<entry role="parameter_annotations"></entry></row> -<row><entry role="parameter_name"><para>filter</para></entry> -<entry role="parameter_description"><para>a <link linkend="cairo-filter-t"><type>cairo_filter_t</type></link> describing the filter to use for resizing -the pattern</para></entry> -<entry role="parameter_annotations"></entry></row> -</tbody></tgroup></informaltable> -</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> -<refsect2 id="cairo-pattern-get-filter" role="function" condition="since:1.0"> -<title>cairo_pattern_get_filter ()</title> -<indexterm zone="cairo-pattern-get-filter" role="1.0"><primary sortas="pattern_get_filter">cairo_pattern_get_filter</primary></indexterm> -<programlisting language="C"><link linkend="cairo-filter-t"><returnvalue>cairo_filter_t</returnvalue></link> -cairo_pattern_get_filter (<parameter><link linkend="cairo-pattern-t"><type>cairo_pattern_t</type></link> *pattern</parameter>);</programlisting> -<para>Gets the current filter for a pattern. See <link linkend="cairo-filter-t"><type>cairo_filter_t</type></link> -for details on each filter.</para> -<refsect3 id="cairo-pattern-get-filter.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>pattern</para></entry> -<entry role="parameter_description"><para>a <link linkend="cairo-pattern-t"><type>cairo_pattern_t</type></link></para></entry> -<entry role="parameter_annotations"></entry></row> -</tbody></tgroup></informaltable> -</refsect3><refsect3 id="cairo-pattern-get-filter.returns" role="returns"> -<title>Returns</title> -<para> the current filter used for resizing the pattern.</para> -</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> -<refsect2 id="cairo-pattern-set-matrix" role="function" condition="since:1.0"> -<title>cairo_pattern_set_matrix ()</title> -<indexterm zone="cairo-pattern-set-matrix" role="1.0"><primary sortas="pattern_set_matrix">cairo_pattern_set_matrix</primary></indexterm> -<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> -cairo_pattern_set_matrix (<parameter><link linkend="cairo-pattern-t"><type>cairo_pattern_t</type></link> *pattern</parameter>, - <parameter>const <link linkend="cairo-matrix-t"><type>cairo_matrix_t</type></link> *matrix</parameter>);</programlisting> -<para>Sets the pattern's transformation matrix to <parameter>matrix</parameter> -. This matrix is -a transformation from user space to pattern space.</para> -<para>When a pattern is first created it always has the identity matrix -for its transformation matrix, which means that pattern space is -initially identical to user space.</para> -<para>Important: Please note that the direction of this transformation -matrix is from user space to pattern space. This means that if you -imagine the flow from a pattern to user space (and on to device -space), then coordinates in that flow will be transformed by the -inverse of the pattern matrix.</para> -<para>For example, if you want to make a pattern appear twice as large as -it does by default the correct code to use is:</para> -<informalexample><programlisting> -cairo_matrix_init_scale (&matrix, 0.5, 0.5); -cairo_pattern_set_matrix (pattern, &matrix); -</programlisting></informalexample> -<para>Meanwhile, using values of 2.0 rather than 0.5 in the code above -would cause the pattern to appear at half of its default size.</para> -<para>Also, please note the discussion of the user-space locking -semantics of <link linkend="cairo-set-source"><function>cairo_set_source()</function></link>.</para> -<refsect3 id="cairo-pattern-set-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>pattern</para></entry> -<entry role="parameter_description"><para>a <link linkend="cairo-pattern-t"><type>cairo_pattern_t</type></link></para></entry> -<entry role="parameter_annotations"></entry></row> -<row><entry role="parameter_name"><para>matrix</para></entry> -<entry role="parameter_description"><para>a <link linkend="cairo-matrix-t"><type>cairo_matrix_t</type></link></para></entry> -<entry role="parameter_annotations"></entry></row> -</tbody></tgroup></informaltable> -</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> -<refsect2 id="cairo-pattern-get-matrix" role="function" condition="since:1.0"> -<title>cairo_pattern_get_matrix ()</title> -<indexterm zone="cairo-pattern-get-matrix" role="1.0"><primary sortas="pattern_get_matrix">cairo_pattern_get_matrix</primary></indexterm> -<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> -cairo_pattern_get_matrix (<parameter><link linkend="cairo-pattern-t"><type>cairo_pattern_t</type></link> *pattern</parameter>, - <parameter><link linkend="cairo-matrix-t"><type>cairo_matrix_t</type></link> *matrix</parameter>);</programlisting> -<para>Stores the pattern's transformation matrix into <parameter>matrix</parameter> -.</para> -<refsect3 id="cairo-pattern-get-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>pattern</para></entry> -<entry role="parameter_description"><para>a <link linkend="cairo-pattern-t"><type>cairo_pattern_t</type></link></para></entry> -<entry role="parameter_annotations"></entry></row> -<row><entry role="parameter_name"><para>matrix</para></entry> -<entry role="parameter_description"><para>return value for the matrix</para></entry> -<entry role="parameter_annotations"></entry></row> -</tbody></tgroup></informaltable> -</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> -<refsect2 id="cairo-pattern-get-type" role="function" condition="since:1.2"> -<title>cairo_pattern_get_type ()</title> -<indexterm zone="cairo-pattern-get-type" role="1.2"><primary sortas="pattern_get_type">cairo_pattern_get_type</primary></indexterm> -<programlisting language="C"><link linkend="cairo-pattern-type-t"><returnvalue>cairo_pattern_type_t</returnvalue></link> -cairo_pattern_get_type (<parameter><link linkend="cairo-pattern-t"><type>cairo_pattern_t</type></link> *pattern</parameter>);</programlisting> -<para>Get the pattern's type. See <link linkend="cairo-pattern-type-t"><type>cairo_pattern_type_t</type></link> for available -types.</para> -<refsect3 id="cairo-pattern-get-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>pattern</para></entry> -<entry role="parameter_description"><para>a <link linkend="cairo-pattern-t"><type>cairo_pattern_t</type></link></para></entry> -<entry role="parameter_annotations"></entry></row> -</tbody></tgroup></informaltable> -</refsect3><refsect3 id="cairo-pattern-get-type.returns" role="returns"> -<title>Returns</title> -<para> The type of <parameter>pattern</parameter> -.</para> -</refsect3><para role="since">Since: <link linkend="api-index-1.2">1.2</link></para></refsect2> -<refsect2 id="cairo-pattern-get-reference-count" role="function" condition="since:1.4"> -<title>cairo_pattern_get_reference_count ()</title> -<indexterm zone="cairo-pattern-get-reference-count" role="1.4"><primary sortas="pattern_get_reference_count">cairo_pattern_get_reference_count</primary></indexterm> -<programlisting language="C">unsigned <link linkend="int"><returnvalue>int</returnvalue></link> -cairo_pattern_get_reference_count (<parameter><link linkend="cairo-pattern-t"><type>cairo_pattern_t</type></link> *pattern</parameter>);</programlisting> -<para>Returns the current reference count of <parameter>pattern</parameter> -.</para> -<refsect3 id="cairo-pattern-get-reference-count.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>pattern</para></entry> -<entry role="parameter_description"><para>a <link linkend="cairo-pattern-t"><type>cairo_pattern_t</type></link></para></entry> -<entry role="parameter_annotations"></entry></row> -</tbody></tgroup></informaltable> -</refsect3><refsect3 id="cairo-pattern-get-reference-count.returns" role="returns"> -<title>Returns</title> -<para> the current reference count of <parameter>pattern</parameter> -. If the -object is a nil object, 0 will be returned.</para> -</refsect3><para role="since">Since: <link linkend="api-index-1.4">1.4</link></para></refsect2> -<refsect2 id="cairo-pattern-set-user-data" role="function" condition="since:1.4"> -<title>cairo_pattern_set_user_data ()</title> -<indexterm zone="cairo-pattern-set-user-data" role="1.4"><primary sortas="pattern_set_user_data">cairo_pattern_set_user_data</primary></indexterm> -<programlisting language="C"><link linkend="cairo-status-t"><returnvalue>cairo_status_t</returnvalue></link> -cairo_pattern_set_user_data (<parameter><link linkend="cairo-pattern-t"><type>cairo_pattern_t</type></link> *pattern</parameter>, - <parameter>const <link linkend="cairo-user-data-key-t"><type>cairo_user_data_key_t</type></link> *key</parameter>, - <parameter><link linkend="void"><type>void</type></link> *user_data</parameter>, - <parameter><link linkend="cairo-destroy-func-t"><type>cairo_destroy_func_t</type></link> destroy</parameter>);</programlisting> -<para>Attach user data to <parameter>pattern</parameter> -. To remove user data from a surface, -call this function with the key that was used to set it and <link linkend="NULL:CAPS"><literal>NULL</literal></link> -for <parameter>data</parameter> -.</para> -<refsect3 id="cairo-pattern-set-user-data.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>pattern</para></entry> -<entry role="parameter_description"><para>a <link linkend="cairo-pattern-t"><type>cairo_pattern_t</type></link></para></entry> -<entry role="parameter_annotations"></entry></row> -<row><entry role="parameter_name"><para>key</para></entry> -<entry role="parameter_description"><para>the address of a <link linkend="cairo-user-data-key-t"><type>cairo_user_data_key_t</type></link> to attach the user data to</para></entry> -<entry role="parameter_annotations"></entry></row> -<row><entry role="parameter_name"><para>user_data</para></entry> -<entry role="parameter_description"><para>the user data to attach to the <link linkend="cairo-pattern-t"><type>cairo_pattern_t</type></link></para></entry> -<entry role="parameter_annotations"></entry></row> -<row><entry role="parameter_name"><para>destroy</para></entry> -<entry role="parameter_description"><para>a <link linkend="cairo-destroy-func-t"><type>cairo_destroy_func_t</type></link> which will be called when the -<link linkend="cairo-t"><type>cairo_t</type></link> is destroyed or when new user data is attached using the -same key.</para></entry> -<entry role="parameter_annotations"></entry></row> -</tbody></tgroup></informaltable> -</refsect3><refsect3 id="cairo-pattern-set-user-data.returns" role="returns"> -<title>Returns</title> -<para> <link linkend="CAIRO-STATUS-SUCCESS:CAPS"><literal>CAIRO_STATUS_SUCCESS</literal></link> or <link linkend="CAIRO-STATUS-NO-MEMORY:CAPS"><literal>CAIRO_STATUS_NO_MEMORY</literal></link> if a -slot could not be allocated for the user data.</para> -</refsect3><para role="since">Since: <link linkend="api-index-1.4">1.4</link></para></refsect2> -<refsect2 id="cairo-pattern-get-user-data" role="function" condition="since:1.4"> -<title>cairo_pattern_get_user_data ()</title> -<indexterm zone="cairo-pattern-get-user-data" role="1.4"><primary sortas="pattern_get_user_data">cairo_pattern_get_user_data</primary></indexterm> -<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> * -cairo_pattern_get_user_data (<parameter><link linkend="cairo-pattern-t"><type>cairo_pattern_t</type></link> *pattern</parameter>, - <parameter>const <link linkend="cairo-user-data-key-t"><type>cairo_user_data_key_t</type></link> *key</parameter>);</programlisting> -<para>Return user data previously attached to <parameter>pattern</parameter> - using the -specified key. If no user data has been attached with the given -key this function returns <link linkend="NULL:CAPS"><literal>NULL</literal></link>.</para> -<refsect3 id="cairo-pattern-get-user-data.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>pattern</para></entry> -<entry role="parameter_description"><para>a <link linkend="cairo-pattern-t"><type>cairo_pattern_t</type></link></para></entry> -<entry role="parameter_annotations"></entry></row> -<row><entry role="parameter_name"><para>key</para></entry> -<entry role="parameter_description"><para>the address of the <link linkend="cairo-user-data-key-t"><type>cairo_user_data_key_t</type></link> the user data was -attached to</para></entry> -<entry role="parameter_annotations"></entry></row> -</tbody></tgroup></informaltable> -</refsect3><refsect3 id="cairo-pattern-get-user-data.returns" role="returns"> -<title>Returns</title> -<para> the user data previously attached or <link linkend="NULL:CAPS"><literal>NULL</literal></link>.</para> -</refsect3><para role="since">Since: <link linkend="api-index-1.4">1.4</link></para></refsect2> - -</refsect1> -<refsect1 id="cairo-cairo-pattern-t.other_details" role="details"> -<title role="details.title">Types and Values</title> -<refsect2 id="cairo-pattern-t" role="typedef" condition="since:1.0"> -<title>cairo_pattern_t</title> -<indexterm zone="cairo-pattern-t" role="1.0"><primary sortas="pattern_t">cairo_pattern_t</primary></indexterm> -<programlisting language="C">typedef struct _cairo_pattern cairo_pattern_t; -</programlisting> -<para>A <link linkend="cairo-pattern-t"><type>cairo_pattern_t</type></link> represents a source when drawing onto a -surface. There are different subtypes of <link linkend="cairo-pattern-t"><type>cairo_pattern_t</type></link>, -for different types of sources; for example, -<link linkend="cairo-pattern-create-rgb"><function>cairo_pattern_create_rgb()</function></link> creates a pattern for a solid -opaque color.</para> -<para>Other than various -<function>cairo_pattern_create_<emphasis>type</emphasis>()</function> -functions, some of the pattern types can be implicitly created using various -<function>cairo_set_source_<emphasis>type</emphasis>()</function> functions; -for example <link linkend="cairo-set-source-rgb"><function>cairo_set_source_rgb()</function></link>.</para> -<para>The type of a pattern can be queried with <link linkend="cairo-pattern-get-type"><function>cairo_pattern_get_type()</function></link>.</para> -<para>Memory management of <link linkend="cairo-pattern-t"><type>cairo_pattern_t</type></link> is done with -<link linkend="cairo-pattern-reference"><function>cairo_pattern_reference()</function></link> and <link linkend="cairo-pattern-destroy"><function>cairo_pattern_destroy()</function></link>.</para> -<para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> -<refsect2 id="cairo-extend-t" role="enum" condition="since:1.0"> -<title>enum cairo_extend_t</title> -<indexterm zone="cairo-extend-t" role="1.0"><primary sortas="extend_t">cairo_extend_t</primary></indexterm> -<para><link linkend="cairo-extend-t"><type>cairo_extend_t</type></link> is used to describe how pattern color/alpha will be -determined for areas "outside" the pattern's natural area, (for -example, outside the surface bounds or outside the gradient -geometry).</para> -<para>Mesh patterns are not affected by the extend mode.</para> -<para>The default extend mode is <link linkend="CAIRO-EXTEND-NONE:CAPS"><literal>CAIRO_EXTEND_NONE</literal></link> for surface patterns -and <link linkend="CAIRO-EXTEND-PAD:CAPS"><literal>CAIRO_EXTEND_PAD</literal></link> for gradient patterns.</para> -<para>New entries may be added in future versions.</para> -<refsect3 id="cairo-extend-t.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="CAIRO-EXTEND-NONE:CAPS">CAIRO_EXTEND_NONE</para></entry> -<entry role="enum_member_description"><para>pixels outside of the source pattern - are fully transparent (Since 1.0)</para> -</entry> -<entry role="enum_member_annotations"></entry> -</row> -<row role="constant"><entry role="enum_member_name"><para id="CAIRO-EXTEND-REPEAT:CAPS">CAIRO_EXTEND_REPEAT</para></entry> -<entry role="enum_member_description"><para>the pattern is tiled by repeating (Since 1.0)</para> -</entry> -<entry role="enum_member_annotations"></entry> -</row> -<row role="constant"><entry role="enum_member_name"><para id="CAIRO-EXTEND-REFLECT:CAPS">CAIRO_EXTEND_REFLECT</para></entry> -<entry role="enum_member_description"><para>the pattern is tiled by reflecting - at the edges (Since 1.0; but only implemented for surface patterns since 1.6)</para> -</entry> -<entry role="enum_member_annotations"></entry> -</row> -<row role="constant"><entry role="enum_member_name"><para id="CAIRO-EXTEND-PAD:CAPS">CAIRO_EXTEND_PAD</para></entry> -<entry role="enum_member_description"><para>pixels outside of the pattern copy - the closest pixel from the source (Since 1.2; but only - implemented for surface patterns since 1.6)</para> -</entry> -<entry role="enum_member_annotations"></entry> -</row> -</tbody></tgroup></informaltable> -</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> -<refsect2 id="cairo-filter-t" role="enum" condition="since:1.0"> -<title>enum cairo_filter_t</title> -<indexterm zone="cairo-filter-t" role="1.0"><primary sortas="filter_t">cairo_filter_t</primary></indexterm> -<para><link linkend="cairo-filter-t"><type>cairo_filter_t</type></link> is used to indicate what filtering should be -applied when reading pixel values from patterns. See -<link linkend="cairo-pattern-set-filter"><function>cairo_pattern_set_filter()</function></link> for indicating the desired filter to be -used with a particular pattern.</para> -<refsect3 id="cairo-filter-t.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="CAIRO-FILTER-FAST:CAPS">CAIRO_FILTER_FAST</para></entry> -<entry role="enum_member_description"><para>A high-performance filter, with quality similar - to <link linkend="CAIRO-FILTER-NEAREST:CAPS"><literal>CAIRO_FILTER_NEAREST</literal></link> (Since 1.0)</para> -</entry> -<entry role="enum_member_annotations"></entry> -</row> -<row role="constant"><entry role="enum_member_name"><para id="CAIRO-FILTER-GOOD:CAPS">CAIRO_FILTER_GOOD</para></entry> -<entry role="enum_member_description"><para>A reasonable-performance filter, with quality - similar to <link linkend="CAIRO-FILTER-BILINEAR:CAPS"><literal>CAIRO_FILTER_BILINEAR</literal></link> (Since 1.0)</para> -</entry> -<entry role="enum_member_annotations"></entry> -</row> -<row role="constant"><entry role="enum_member_name"><para id="CAIRO-FILTER-BEST:CAPS">CAIRO_FILTER_BEST</para></entry> -<entry role="enum_member_description"><para>The highest-quality available, performance may - not be suitable for interactive use. (Since 1.0)</para> -</entry> -<entry role="enum_member_annotations"></entry> -</row> -<row role="constant"><entry role="enum_member_name"><para id="CAIRO-FILTER-NEAREST:CAPS">CAIRO_FILTER_NEAREST</para></entry> -<entry role="enum_member_description"><para>Nearest-neighbor filtering (Since 1.0)</para> -</entry> -<entry role="enum_member_annotations"></entry> -</row> -<row role="constant"><entry role="enum_member_name"><para id="CAIRO-FILTER-BILINEAR:CAPS">CAIRO_FILTER_BILINEAR</para></entry> -<entry role="enum_member_description"><para>Linear interpolation in two dimensions (Since 1.0)</para> -</entry> -<entry role="enum_member_annotations"></entry> -</row> -<row role="constant"><entry role="enum_member_name"><para id="CAIRO-FILTER-GAUSSIAN:CAPS">CAIRO_FILTER_GAUSSIAN</para></entry> -<entry role="enum_member_description"><para>This filter value is currently - unimplemented, and should not be used in current code. (Since 1.0)</para> -</entry> -<entry role="enum_member_annotations"></entry> -</row> -</tbody></tgroup></informaltable> -</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> -<refsect2 id="cairo-pattern-type-t" role="enum" condition="since:1.2"> -<title>enum cairo_pattern_type_t</title> -<indexterm zone="cairo-pattern-type-t" role="1.2"><primary sortas="pattern_type_t">cairo_pattern_type_t</primary></indexterm> -<para><link linkend="cairo-pattern-type-t"><type>cairo_pattern_type_t</type></link> is used to describe the type of a given pattern.</para> -<para>The type of a pattern is determined by the function used to create -it. The <link linkend="cairo-pattern-create-rgb"><function>cairo_pattern_create_rgb()</function></link> and <link linkend="cairo-pattern-create-rgba"><function>cairo_pattern_create_rgba()</function></link> -functions create SOLID patterns. The remaining -cairo_pattern_create<!-- --> functions map to pattern types in obvious -ways.</para> -<para>The pattern type can be queried with <link linkend="cairo-pattern-get-type"><function>cairo_pattern_get_type()</function></link></para> -<para>Most <link linkend="cairo-pattern-t"><type>cairo_pattern_t</type></link> functions can be called with a pattern of any -type, (though trying to change the extend or filter for a solid -pattern will have no effect). A notable exception is -<link linkend="cairo-pattern-add-color-stop-rgb"><function>cairo_pattern_add_color_stop_rgb()</function></link> and -<link linkend="cairo-pattern-add-color-stop-rgba"><function>cairo_pattern_add_color_stop_rgba()</function></link> which must only be called with -gradient patterns (either LINEAR or RADIAL). Otherwise the pattern -will be shutdown and put into an error state.</para> -<para>New entries may be added in future versions.</para> -<refsect3 id="cairo-pattern-type-t.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="CAIRO-PATTERN-TYPE-SOLID:CAPS">CAIRO_PATTERN_TYPE_SOLID</para></entry> -<entry role="enum_member_description"><para>The pattern is a solid (uniform) -color. It may be opaque or translucent, since 1.2.</para> -</entry> -<entry role="enum_member_annotations"></entry> -</row> -<row role="constant"><entry role="enum_member_name"><para id="CAIRO-PATTERN-TYPE-SURFACE:CAPS">CAIRO_PATTERN_TYPE_SURFACE</para></entry> -<entry role="enum_member_description"><para>The pattern is a based on a surface (an image), since 1.2.</para> -</entry> -<entry role="enum_member_annotations"></entry> -</row> -<row role="constant"><entry role="enum_member_name"><para id="CAIRO-PATTERN-TYPE-LINEAR:CAPS">CAIRO_PATTERN_TYPE_LINEAR</para></entry> -<entry role="enum_member_description"><para>The pattern is a linear gradient, since 1.2.</para> -</entry> -<entry role="enum_member_annotations"></entry> -</row> -<row role="constant"><entry role="enum_member_name"><para id="CAIRO-PATTERN-TYPE-RADIAL:CAPS">CAIRO_PATTERN_TYPE_RADIAL</para></entry> -<entry role="enum_member_description"><para>The pattern is a radial gradient, since 1.2.</para> -</entry> -<entry role="enum_member_annotations"></entry> -</row> -<row role="constant"><entry role="enum_member_name"><para id="CAIRO-PATTERN-TYPE-MESH:CAPS">CAIRO_PATTERN_TYPE_MESH</para></entry> -<entry role="enum_member_description"><para>The pattern is a mesh, since 1.12.</para> -</entry> -<entry role="enum_member_annotations"></entry> -</row> -<row role="constant"><entry role="enum_member_name"><para id="CAIRO-PATTERN-TYPE-RASTER-SOURCE:CAPS">CAIRO_PATTERN_TYPE_RASTER_SOURCE</para></entry> -<entry role="enum_member_description"><para>The pattern is a user pattern providing raster data, since 1.12.</para> -</entry> -<entry role="enum_member_annotations"></entry> -</row> -</tbody></tgroup></informaltable> -</refsect3><para role="since">Since: <link linkend="api-index-1.2">1.2</link></para></refsect2> - -</refsect1> -<refsect1 id="cairo-cairo-pattern-t.see-also"> -<title>See Also</title> -<para><link linkend="cairo-t"><type>cairo_t</type></link>, <link linkend="cairo-surface-t"><type>cairo_surface_t</type></link></para> - -</refsect1> - -</refentry> |