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.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.xml')
-rw-r--r-- | libs/cairo-1.16.0/doc/public/xml/cairo.xml | 2538 |
1 files changed, 0 insertions, 2538 deletions
diff --git a/libs/cairo-1.16.0/doc/public/xml/cairo.xml b/libs/cairo-1.16.0/doc/public/xml/cairo.xml deleted file mode 100644 index c4b546f..0000000 --- a/libs/cairo-1.16.0/doc/public/xml/cairo.xml +++ /dev/null @@ -1,2538 +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-t"> -<refmeta> -<refentrytitle role="top_of_page" id="cairo-cairo-t.top_of_page">cairo_t</refentrytitle> -<manvolnum>3</manvolnum> -<refmiscinfo>CAIRO Library</refmiscinfo> -</refmeta> -<refnamediv> -<refname>cairo_t</refname> -<refpurpose>The cairo drawing context</refpurpose> -</refnamediv> - -<refsect1 id="cairo-cairo-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="cairo-t"><returnvalue>cairo_t</returnvalue></link> * -</entry><entry role="function_name"><link linkend="cairo-create">cairo_create</link> <phrase role="c_punctuation">()</phrase></entry></row> -<row><entry role="function_type"><link linkend="cairo-t"><returnvalue>cairo_t</returnvalue></link> * -</entry><entry role="function_name"><link linkend="cairo-reference">cairo_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-destroy">cairo_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-status">cairo_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-save">cairo_save</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-restore">cairo_restore</link> <phrase role="c_punctuation">()</phrase></entry></row> -<row><entry role="function_type"><link linkend="cairo-surface-t"><returnvalue>cairo_surface_t</returnvalue></link> * -</entry><entry role="function_name"><link linkend="cairo-get-target">cairo_get_target</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-push-group">cairo_push_group</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-push-group-with-content">cairo_push_group_with_content</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-pop-group">cairo_pop_group</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-pop-group-to-source">cairo_pop_group_to_source</link> <phrase role="c_punctuation">()</phrase></entry></row> -<row><entry role="function_type"><link linkend="cairo-surface-t"><returnvalue>cairo_surface_t</returnvalue></link> * -</entry><entry role="function_name"><link linkend="cairo-get-group-target">cairo_get_group_target</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-set-source-rgb">cairo_set_source_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-set-source-rgba">cairo_set_source_rgba</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-set-source">cairo_set_source</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-set-source-surface">cairo_set_source_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-get-source">cairo_get_source</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-set-antialias">cairo_set_antialias</link> <phrase role="c_punctuation">()</phrase></entry></row> -<row><entry role="function_type"><link linkend="cairo-antialias-t"><returnvalue>cairo_antialias_t</returnvalue></link> -</entry><entry role="function_name"><link linkend="cairo-get-antialias">cairo_get_antialias</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-set-dash">cairo_set_dash</link> <phrase role="c_punctuation">()</phrase></entry></row> -<row><entry role="function_type"><link linkend="int"><returnvalue>int</returnvalue></link> -</entry><entry role="function_name"><link linkend="cairo-get-dash-count">cairo_get_dash_count</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-get-dash">cairo_get_dash</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-set-fill-rule">cairo_set_fill_rule</link> <phrase role="c_punctuation">()</phrase></entry></row> -<row><entry role="function_type"><link linkend="cairo-fill-rule-t"><returnvalue>cairo_fill_rule_t</returnvalue></link> -</entry><entry role="function_name"><link linkend="cairo-get-fill-rule">cairo_get_fill_rule</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-set-line-cap">cairo_set_line_cap</link> <phrase role="c_punctuation">()</phrase></entry></row> -<row><entry role="function_type"><link linkend="cairo-line-cap-t"><returnvalue>cairo_line_cap_t</returnvalue></link> -</entry><entry role="function_name"><link linkend="cairo-get-line-cap">cairo_get_line_cap</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-set-line-join">cairo_set_line_join</link> <phrase role="c_punctuation">()</phrase></entry></row> -<row><entry role="function_type"><link linkend="cairo-line-join-t"><returnvalue>cairo_line_join_t</returnvalue></link> -</entry><entry role="function_name"><link linkend="cairo-get-line-join">cairo_get_line_join</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-set-line-width">cairo_set_line_width</link> <phrase role="c_punctuation">()</phrase></entry></row> -<row><entry role="function_type"><link linkend="double"><returnvalue>double</returnvalue></link> -</entry><entry role="function_name"><link linkend="cairo-get-line-width">cairo_get_line_width</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-set-miter-limit">cairo_set_miter_limit</link> <phrase role="c_punctuation">()</phrase></entry></row> -<row><entry role="function_type"><link linkend="double"><returnvalue>double</returnvalue></link> -</entry><entry role="function_name"><link linkend="cairo-get-miter-limit">cairo_get_miter_limit</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-set-operator">cairo_set_operator</link> <phrase role="c_punctuation">()</phrase></entry></row> -<row><entry role="function_type"><link linkend="cairo-operator-t"><returnvalue>cairo_operator_t</returnvalue></link> -</entry><entry role="function_name"><link linkend="cairo-get-operator">cairo_get_operator</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-set-tolerance">cairo_set_tolerance</link> <phrase role="c_punctuation">()</phrase></entry></row> -<row><entry role="function_type"><link linkend="double"><returnvalue>double</returnvalue></link> -</entry><entry role="function_name"><link linkend="cairo-get-tolerance">cairo_get_tolerance</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-clip">cairo_clip</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-clip-preserve">cairo_clip_preserve</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-clip-extents">cairo_clip_extents</link> <phrase role="c_punctuation">()</phrase></entry></row> -<row><entry role="function_type"><link linkend="cairo-bool-t"><returnvalue>cairo_bool_t</returnvalue></link> -</entry><entry role="function_name"><link linkend="cairo-in-clip">cairo_in_clip</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-reset-clip">cairo_reset_clip</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-rectangle-list-destroy">cairo_rectangle_list_destroy</link> <phrase role="c_punctuation">()</phrase></entry></row> -<row><entry role="function_type"><link linkend="cairo-rectangle-list-t"><returnvalue>cairo_rectangle_list_t</returnvalue></link> * -</entry><entry role="function_name"><link linkend="cairo-copy-clip-rectangle-list">cairo_copy_clip_rectangle_list</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-fill">cairo_fill</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-fill-preserve">cairo_fill_preserve</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-fill-extents">cairo_fill_extents</link> <phrase role="c_punctuation">()</phrase></entry></row> -<row><entry role="function_type"><link linkend="cairo-bool-t"><returnvalue>cairo_bool_t</returnvalue></link> -</entry><entry role="function_name"><link linkend="cairo-in-fill">cairo_in_fill</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-mask">cairo_mask</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-mask-surface">cairo_mask_surface</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-paint">cairo_paint</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-paint-with-alpha">cairo_paint_with_alpha</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-stroke">cairo_stroke</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-stroke-preserve">cairo_stroke_preserve</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-stroke-extents">cairo_stroke_extents</link> <phrase role="c_punctuation">()</phrase></entry></row> -<row><entry role="function_type"><link linkend="cairo-bool-t"><returnvalue>cairo_bool_t</returnvalue></link> -</entry><entry role="function_name"><link linkend="cairo-in-stroke">cairo_in_stroke</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-copy-page">cairo_copy_page</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-show-page">cairo_show_page</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-get-reference-count">cairo_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-set-user-data">cairo_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-get-user-data">cairo_get_user_data</link> <phrase role="c_punctuation">()</phrase></entry></row> - -</tbody> -</tgroup> -</informaltable> -</refsect1> -<refsect1 id="cairo-cairo-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-t">cairo_t</link></entry></row> -<row><entry role="datatype_keyword">enum</entry><entry role="function_name"><link linkend="cairo-antialias-t">cairo_antialias_t</link></entry></row> -<row><entry role="datatype_keyword">enum</entry><entry role="function_name"><link linkend="cairo-fill-rule-t">cairo_fill_rule_t</link></entry></row> -<row><entry role="datatype_keyword">enum</entry><entry role="function_name"><link linkend="cairo-line-cap-t">cairo_line_cap_t</link></entry></row> -<row><entry role="datatype_keyword">enum</entry><entry role="function_name"><link linkend="cairo-line-join-t">cairo_line_join_t</link></entry></row> -<row><entry role="datatype_keyword">enum</entry><entry role="function_name"><link linkend="cairo-operator-t">cairo_operator_t</link></entry></row> -<row><entry role="datatype_keyword"></entry><entry role="function_name"><link linkend="cairo-rectangle-t">cairo_rectangle_t</link></entry></row> -<row><entry role="datatype_keyword"></entry><entry role="function_name"><link linkend="cairo-rectangle-list-t">cairo_rectangle_list_t</link></entry></row> - -</tbody> -</tgroup> -</informaltable> -</refsect1> - - -<refsect1 id="cairo-cairo-t.description" role="desc"> -<title role="desc.title">Description</title> -<para><link linkend="cairo-t"><type>cairo_t</type></link> is the main object used when drawing with cairo. To -draw with cairo, you create a <link linkend="cairo-t"><type>cairo_t</type></link>, set the target surface, -and drawing options for the <link linkend="cairo-t"><type>cairo_t</type></link>, create shapes with -functions like <link linkend="cairo-move-to"><function>cairo_move_to()</function></link> and <link linkend="cairo-line-to"><function>cairo_line_to()</function></link>, and then -draw shapes with <link linkend="cairo-stroke"><function>cairo_stroke()</function></link> or <link linkend="cairo-fill"><function>cairo_fill()</function></link>.</para> -<para><link linkend="cairo-t"><type>cairo_t</type></link><!-- -->'s can be pushed to a stack via <link linkend="cairo-save"><function>cairo_save()</function></link>. -They may then safely be changed, without losing the current state. -Use <link linkend="cairo-restore"><function>cairo_restore()</function></link> to restore to the saved state.</para> - -</refsect1> -<refsect1 id="cairo-cairo-t.functions_details" role="details"> -<title role="details.title">Functions</title> -<refsect2 id="cairo-create" role="function" condition="since:1.0"> -<title>cairo_create ()</title> -<indexterm zone="cairo-create" role="1.0"><primary sortas="create">cairo_create</primary></indexterm> -<programlisting language="C"><link linkend="cairo-t"><returnvalue>cairo_t</returnvalue></link> * -cairo_create (<parameter><link linkend="cairo-surface-t"><type>cairo_surface_t</type></link> *target</parameter>);</programlisting> -<para>Creates a new <link linkend="cairo-t"><type>cairo_t</type></link> with all graphics state parameters set to -default values and with <parameter>target</parameter> - as a target surface. The target -surface should be constructed with a backend-specific function such -as <link linkend="cairo-image-surface-create"><function>cairo_image_surface_create()</function></link> (or any other -<function>cairo_<emphasis>backend</emphasis>_surface_create(<!-- -->)</function> -variant).</para> -<para>This function references <parameter>target</parameter> -, so you can immediately -call <link linkend="cairo-surface-destroy"><function>cairo_surface_destroy()</function></link> on it if you don't need to -maintain a separate reference to it.</para> -<refsect3 id="cairo-create.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>target</para></entry> -<entry role="parameter_description"><para>target surface for the context</para></entry> -<entry role="parameter_annotations"></entry></row> -</tbody></tgroup></informaltable> -</refsect3><refsect3 id="cairo-create.returns" role="returns"> -<title>Returns</title> -<para> a newly allocated <link linkend="cairo-t"><type>cairo_t</type></link> with a reference -count of 1. The initial reference count should be released -with <link linkend="cairo-destroy"><function>cairo_destroy()</function></link> when you are done using the <link linkend="cairo-t"><type>cairo_t</type></link>. -This function never returns <link linkend="NULL:CAPS"><literal>NULL</literal></link>. If memory cannot be -allocated, a special <link linkend="cairo-t"><type>cairo_t</type></link> object will be returned on -which <link linkend="cairo-status"><function>cairo_status()</function></link> returns <link linkend="CAIRO-STATUS-NO-MEMORY:CAPS"><literal>CAIRO_STATUS_NO_MEMORY</literal></link>. If -you attempt to target a surface which does not support -writing (such as <link linkend="cairo-mime-surface-t"><type>cairo_mime_surface_t</type></link>) then a -<link linkend="CAIRO-STATUS-WRITE-ERROR:CAPS"><literal>CAIRO_STATUS_WRITE_ERROR</literal></link> will be raised. You can use this -object normally, but no drawing will be done.</para> -</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> -<refsect2 id="cairo-reference" role="function" condition="since:1.0"> -<title>cairo_reference ()</title> -<indexterm zone="cairo-reference" role="1.0"><primary sortas="reference">cairo_reference</primary></indexterm> -<programlisting language="C"><link linkend="cairo-t"><returnvalue>cairo_t</returnvalue></link> * -cairo_reference (<parameter><link linkend="cairo-t"><type>cairo_t</type></link> *cr</parameter>);</programlisting> -<para>Increases the reference count on <parameter>cr</parameter> - by one. This prevents -<parameter>cr</parameter> - from being destroyed until a matching call to <link linkend="cairo-destroy"><function>cairo_destroy()</function></link> -is made.</para> -<para>Use <link linkend="cairo-get-reference-count"><function>cairo_get_reference_count()</function></link> to get the number of references to -a <link linkend="cairo-t"><type>cairo_t</type></link>.</para> -<refsect3 id="cairo-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>cr</para></entry> -<entry role="parameter_description"><para>a <link linkend="cairo-t"><type>cairo_t</type></link></para></entry> -<entry role="parameter_annotations"></entry></row> -</tbody></tgroup></informaltable> -</refsect3><refsect3 id="cairo-reference.returns" role="returns"> -<title>Returns</title> -<para> the referenced <link linkend="cairo-t"><type>cairo_t</type></link>.</para> -</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> -<refsect2 id="cairo-destroy" role="function" condition="since:1.0"> -<title>cairo_destroy ()</title> -<indexterm zone="cairo-destroy" role="1.0"><primary sortas="destroy">cairo_destroy</primary></indexterm> -<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> -cairo_destroy (<parameter><link linkend="cairo-t"><type>cairo_t</type></link> *cr</parameter>);</programlisting> -<para>Decreases the reference count on <parameter>cr</parameter> - by one. If the result -is zero, then <parameter>cr</parameter> - and all associated resources are freed. -See <link linkend="cairo-reference"><function>cairo_reference()</function></link>.</para> -<refsect3 id="cairo-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>cr</para></entry> -<entry role="parameter_description"><para>a <link linkend="cairo-t"><type>cairo_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-status" role="function" condition="since:1.0"> -<title>cairo_status ()</title> -<indexterm zone="cairo-status" role="1.0"><primary sortas="status">cairo_status</primary></indexterm> -<programlisting language="C"><link linkend="cairo-status-t"><returnvalue>cairo_status_t</returnvalue></link> -cairo_status (<parameter><link linkend="cairo-t"><type>cairo_t</type></link> *cr</parameter>);</programlisting> -<para>Checks whether an error has previously occurred for this context.</para> -<refsect3 id="cairo-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>cr</para></entry> -<entry role="parameter_description"><para>a cairo context</para></entry> -<entry role="parameter_annotations"></entry></row> -</tbody></tgroup></informaltable> -</refsect3><refsect3 id="cairo-status.returns" role="returns"> -<title>Returns</title> -<para> the current status of this context, see <link linkend="cairo-status-t"><type>cairo_status_t</type></link></para> -</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> -<refsect2 id="cairo-save" role="function" condition="since:1.0"> -<title>cairo_save ()</title> -<indexterm zone="cairo-save" role="1.0"><primary sortas="save">cairo_save</primary></indexterm> -<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> -cairo_save (<parameter><link linkend="cairo-t"><type>cairo_t</type></link> *cr</parameter>);</programlisting> -<para>Makes a copy of the current state of <parameter>cr</parameter> - and saves it -on an internal stack of saved states for <parameter>cr</parameter> -. When -<link linkend="cairo-restore"><function>cairo_restore()</function></link> is called, <parameter>cr</parameter> - will be restored to -the saved state. Multiple calls to <link linkend="cairo-save"><function>cairo_save()</function></link> and -<link linkend="cairo-restore"><function>cairo_restore()</function></link> can be nested; each call to <link linkend="cairo-restore"><function>cairo_restore()</function></link> -restores the state from the matching paired <link linkend="cairo-save"><function>cairo_save()</function></link>.</para> -<para>It isn't necessary to clear all saved states before -a <link linkend="cairo-t"><type>cairo_t</type></link> is freed. If the reference count of a <link linkend="cairo-t"><type>cairo_t</type></link> -drops to zero in response to a call to <link linkend="cairo-destroy"><function>cairo_destroy()</function></link>, -any saved states will be freed along with the <link linkend="cairo-t"><type>cairo_t</type></link>.</para> -<refsect3 id="cairo-save.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>cr</para></entry> -<entry role="parameter_description"><para>a <link linkend="cairo-t"><type>cairo_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-restore" role="function" condition="since:1.0"> -<title>cairo_restore ()</title> -<indexterm zone="cairo-restore" role="1.0"><primary sortas="restore">cairo_restore</primary></indexterm> -<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> -cairo_restore (<parameter><link linkend="cairo-t"><type>cairo_t</type></link> *cr</parameter>);</programlisting> -<para>Restores <parameter>cr</parameter> - to the state saved by a preceding call to -<link linkend="cairo-save"><function>cairo_save()</function></link> and removes that state from the stack of -saved states.</para> -<refsect3 id="cairo-restore.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>cr</para></entry> -<entry role="parameter_description"><para>a <link linkend="cairo-t"><type>cairo_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-get-target" role="function" condition="since:1.0"> -<title>cairo_get_target ()</title> -<indexterm zone="cairo-get-target" role="1.0"><primary sortas="get_target">cairo_get_target</primary></indexterm> -<programlisting language="C"><link linkend="cairo-surface-t"><returnvalue>cairo_surface_t</returnvalue></link> * -cairo_get_target (<parameter><link linkend="cairo-t"><type>cairo_t</type></link> *cr</parameter>);</programlisting> -<para>Gets the target surface for the cairo context as passed to -<link linkend="cairo-create"><function>cairo_create()</function></link>.</para> -<para>This function will always return a valid pointer, but the result -can be a "nil" surface if <parameter>cr</parameter> - is already in an error state, -(ie. <link linkend="cairo-status"><function>cairo_status()</function></link> <literal>!=</literal> <link linkend="CAIRO-STATUS-SUCCESS:CAPS"><literal>CAIRO_STATUS_SUCCESS</literal></link>). -A nil surface is indicated by <link linkend="cairo-surface-status"><function>cairo_surface_status()</function></link> -<literal>!=</literal> <link linkend="CAIRO-STATUS-SUCCESS:CAPS"><literal>CAIRO_STATUS_SUCCESS</literal></link>.</para> -<refsect3 id="cairo-get-target.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>cr</para></entry> -<entry role="parameter_description"><para>a cairo context</para></entry> -<entry role="parameter_annotations"></entry></row> -</tbody></tgroup></informaltable> -</refsect3><refsect3 id="cairo-get-target.returns" role="returns"> -<title>Returns</title> -<para> the target surface. This object is owned by cairo. To -keep a reference to it, you must call <link linkend="cairo-surface-reference"><function>cairo_surface_reference()</function></link>.</para> -</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> -<refsect2 id="cairo-push-group" role="function" condition="since:1.2"> -<title>cairo_push_group ()</title> -<indexterm zone="cairo-push-group" role="1.2"><primary sortas="push_group">cairo_push_group</primary></indexterm> -<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> -cairo_push_group (<parameter><link linkend="cairo-t"><type>cairo_t</type></link> *cr</parameter>);</programlisting> -<para>Temporarily redirects drawing to an intermediate surface known as a -group. The redirection lasts until the group is completed by a call -to <link linkend="cairo-pop-group"><function>cairo_pop_group()</function></link> or <link linkend="cairo-pop-group-to-source"><function>cairo_pop_group_to_source()</function></link>. These calls -provide the result of any drawing to the group as a pattern, -(either as an explicit object, or set as the source pattern).</para> -<para>This group functionality can be convenient for performing -intermediate compositing. One common use of a group is to render -objects as opaque within the group, (so that they occlude each -other), and then blend the result with translucence onto the -destination.</para> -<para>Groups can be nested arbitrarily deep by making balanced calls to -<link linkend="cairo-push-group"><function>cairo_push_group()</function></link>/<link linkend="cairo-pop-group"><function>cairo_pop_group()</function></link>. Each call pushes/pops the new -target group onto/from a stack.</para> -<para>The <link linkend="cairo-push-group"><function>cairo_push_group()</function></link> function calls <link linkend="cairo-save"><function>cairo_save()</function></link> so that any -changes to the graphics state will not be visible outside the -group, (the pop_group functions call <link linkend="cairo-restore"><function>cairo_restore()</function></link>).</para> -<para>By default the intermediate group will have a content type of -<link linkend="CAIRO-CONTENT-COLOR-ALPHA:CAPS"><literal>CAIRO_CONTENT_COLOR_ALPHA</literal></link>. Other content types can be chosen for -the group by using <link linkend="cairo-push-group-with-content"><function>cairo_push_group_with_content()</function></link> instead.</para> -<para>As an example, here is how one might fill and stroke a path with -translucence, but without any portion of the fill being visible -under the stroke:</para> -<informalexample><programlisting> -cairo_push_group (cr); -cairo_set_source (cr, fill_pattern); -cairo_fill_preserve (cr); -cairo_set_source (cr, stroke_pattern); -cairo_stroke (cr); -cairo_pop_group_to_source (cr); -cairo_paint_with_alpha (cr, alpha); -</programlisting></informalexample> -<refsect3 id="cairo-push-group.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>cr</para></entry> -<entry role="parameter_description"><para>a cairo context</para></entry> -<entry role="parameter_annotations"></entry></row> -</tbody></tgroup></informaltable> -</refsect3><para role="since">Since: <link linkend="api-index-1.2">1.2</link></para></refsect2> -<refsect2 id="cairo-push-group-with-content" role="function" condition="since:1.2"> -<title>cairo_push_group_with_content ()</title> -<indexterm zone="cairo-push-group-with-content" role="1.2"><primary sortas="push_group_with_content">cairo_push_group_with_content</primary></indexterm> -<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> -cairo_push_group_with_content (<parameter><link linkend="cairo-t"><type>cairo_t</type></link> *cr</parameter>, - <parameter><link linkend="cairo-content-t"><type>cairo_content_t</type></link> content</parameter>);</programlisting> -<para>Temporarily redirects drawing to an intermediate surface known as a -group. The redirection lasts until the group is completed by a call -to <link linkend="cairo-pop-group"><function>cairo_pop_group()</function></link> or <link linkend="cairo-pop-group-to-source"><function>cairo_pop_group_to_source()</function></link>. These calls -provide the result of any drawing to the group as a pattern, -(either as an explicit object, or set as the source pattern).</para> -<para>The group will have a content type of <parameter>content</parameter> -. The ability to -control this content type is the only distinction between this -function and <link linkend="cairo-push-group"><function>cairo_push_group()</function></link> which you should see for a more -detailed description of group rendering.</para> -<refsect3 id="cairo-push-group-with-content.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>cr</para></entry> -<entry role="parameter_description"><para>a cairo context</para></entry> -<entry role="parameter_annotations"></entry></row> -<row><entry role="parameter_name"><para>content</para></entry> -<entry role="parameter_description"><para>a <link linkend="cairo-content-t"><type>cairo_content_t</type></link> indicating the type of group that -will be created</para></entry> -<entry role="parameter_annotations"></entry></row> -</tbody></tgroup></informaltable> -</refsect3><para role="since">Since: <link linkend="api-index-1.2">1.2</link></para></refsect2> -<refsect2 id="cairo-pop-group" role="function" condition="since:1.2"> -<title>cairo_pop_group ()</title> -<indexterm zone="cairo-pop-group" role="1.2"><primary sortas="pop_group">cairo_pop_group</primary></indexterm> -<programlisting language="C"><link linkend="cairo-pattern-t"><returnvalue>cairo_pattern_t</returnvalue></link> * -cairo_pop_group (<parameter><link linkend="cairo-t"><type>cairo_t</type></link> *cr</parameter>);</programlisting> -<para>Terminates the redirection begun by a call to <link linkend="cairo-push-group"><function>cairo_push_group()</function></link> or -<link linkend="cairo-push-group-with-content"><function>cairo_push_group_with_content()</function></link> and returns a new pattern -containing the results of all drawing operations performed to the -group.</para> -<para>The <link linkend="cairo-pop-group"><function>cairo_pop_group()</function></link> function calls <link linkend="cairo-restore"><function>cairo_restore()</function></link>, (balancing a -call to <link linkend="cairo-save"><function>cairo_save()</function></link> by the push_group function), so that any -changes to the graphics state will not be visible outside the -group.</para> -<refsect3 id="cairo-pop-group.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>cr</para></entry> -<entry role="parameter_description"><para>a cairo context</para></entry> -<entry role="parameter_annotations"></entry></row> -</tbody></tgroup></informaltable> -</refsect3><refsect3 id="cairo-pop-group.returns" role="returns"> -<title>Returns</title> -<para> a newly created (surface) pattern containing the -results of all drawing operations performed to the group. 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> -</refsect3><para role="since">Since: <link linkend="api-index-1.2">1.2</link></para></refsect2> -<refsect2 id="cairo-pop-group-to-source" role="function" condition="since:1.2"> -<title>cairo_pop_group_to_source ()</title> -<indexterm zone="cairo-pop-group-to-source" role="1.2"><primary sortas="pop_group_to_source">cairo_pop_group_to_source</primary></indexterm> -<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> -cairo_pop_group_to_source (<parameter><link linkend="cairo-t"><type>cairo_t</type></link> *cr</parameter>);</programlisting> -<para>Terminates the redirection begun by a call to <link linkend="cairo-push-group"><function>cairo_push_group()</function></link> or -<link linkend="cairo-push-group-with-content"><function>cairo_push_group_with_content()</function></link> and installs the resulting pattern -as the source pattern in the given cairo context.</para> -<para>The behavior of this function is equivalent to the sequence of -operations:</para> -<informalexample><programlisting> -cairo_pattern_t *group = cairo_pop_group (cr); -cairo_set_source (cr, group); -cairo_pattern_destroy (group); -</programlisting></informalexample> -<para>but is more convenient as their is no need for a variable to store -the short-lived pointer to the pattern.</para> -<para>The <link linkend="cairo-pop-group"><function>cairo_pop_group()</function></link> function calls <link linkend="cairo-restore"><function>cairo_restore()</function></link>, (balancing a -call to <link linkend="cairo-save"><function>cairo_save()</function></link> by the push_group function), so that any -changes to the graphics state will not be visible outside the -group.</para> -<refsect3 id="cairo-pop-group-to-source.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>cr</para></entry> -<entry role="parameter_description"><para>a cairo context</para></entry> -<entry role="parameter_annotations"></entry></row> -</tbody></tgroup></informaltable> -</refsect3><para role="since">Since: <link linkend="api-index-1.2">1.2</link></para></refsect2> -<refsect2 id="cairo-get-group-target" role="function" condition="since:1.2"> -<title>cairo_get_group_target ()</title> -<indexterm zone="cairo-get-group-target" role="1.2"><primary sortas="get_group_target">cairo_get_group_target</primary></indexterm> -<programlisting language="C"><link linkend="cairo-surface-t"><returnvalue>cairo_surface_t</returnvalue></link> * -cairo_get_group_target (<parameter><link linkend="cairo-t"><type>cairo_t</type></link> *cr</parameter>);</programlisting> -<para>Gets the current destination surface for the context. This is either -the original target surface as passed to <link linkend="cairo-create"><function>cairo_create()</function></link> or the target -surface for the current group as started by the most recent call to -<link linkend="cairo-push-group"><function>cairo_push_group()</function></link> or <link linkend="cairo-push-group-with-content"><function>cairo_push_group_with_content()</function></link>.</para> -<para>This function will always return a valid pointer, but the result -can be a "nil" surface if <parameter>cr</parameter> - is already in an error state, -(ie. <link linkend="cairo-status"><function>cairo_status()</function></link> <literal>!=</literal> <link linkend="CAIRO-STATUS-SUCCESS:CAPS"><literal>CAIRO_STATUS_SUCCESS</literal></link>). -A nil surface is indicated by <link linkend="cairo-surface-status"><function>cairo_surface_status()</function></link> -<literal>!=</literal> <link linkend="CAIRO-STATUS-SUCCESS:CAPS"><literal>CAIRO_STATUS_SUCCESS</literal></link>.</para> -<refsect3 id="cairo-get-group-target.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>cr</para></entry> -<entry role="parameter_description"><para>a cairo context</para></entry> -<entry role="parameter_annotations"></entry></row> -</tbody></tgroup></informaltable> -</refsect3><refsect3 id="cairo-get-group-target.returns" role="returns"> -<title>Returns</title> -<para> the target surface. This object is owned by cairo. To -keep a reference to it, you must call <link linkend="cairo-surface-reference"><function>cairo_surface_reference()</function></link>.</para> -</refsect3><para role="since">Since: <link linkend="api-index-1.2">1.2</link></para></refsect2> -<refsect2 id="cairo-set-source-rgb" role="function" condition="since:1.0"> -<title>cairo_set_source_rgb ()</title> -<indexterm zone="cairo-set-source-rgb" role="1.0"><primary sortas="set_source_rgb">cairo_set_source_rgb</primary></indexterm> -<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> -cairo_set_source_rgb (<parameter><link linkend="cairo-t"><type>cairo_t</type></link> *cr</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 source pattern within <parameter>cr</parameter> - to an opaque color. This opaque -color will then be used for any subsequent drawing operation until -a new source pattern is set.</para> -<para>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> -<para>The default source pattern is opaque black, (that is, it is -equivalent to cairo_set_source_rgb(cr, 0.0, 0.0, 0.0)).</para> -<refsect3 id="cairo-set-source-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>cr</para></entry> -<entry role="parameter_description"><para>a cairo context</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-set-source-rgba" role="function" condition="since:1.0"> -<title>cairo_set_source_rgba ()</title> -<indexterm zone="cairo-set-source-rgba" role="1.0"><primary sortas="set_source_rgba">cairo_set_source_rgba</primary></indexterm> -<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> -cairo_set_source_rgba (<parameter><link linkend="cairo-t"><type>cairo_t</type></link> *cr</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 source pattern within <parameter>cr</parameter> - to a translucent color. This -color will then be used for any subsequent drawing operation until -a new source pattern is set.</para> -<para>The color and alpha 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> -<para>The default source pattern is opaque black, (that is, it is -equivalent to cairo_set_source_rgba(cr, 0.0, 0.0, 0.0, 1.0)).</para> -<refsect3 id="cairo-set-source-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>cr</para></entry> -<entry role="parameter_description"><para>a cairo context</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-set-source" role="function" condition="since:1.0"> -<title>cairo_set_source ()</title> -<indexterm zone="cairo-set-source" role="1.0"><primary sortas="set_source">cairo_set_source</primary></indexterm> -<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> -cairo_set_source (<parameter><link linkend="cairo-t"><type>cairo_t</type></link> *cr</parameter>, - <parameter><link linkend="cairo-pattern-t"><type>cairo_pattern_t</type></link> *source</parameter>);</programlisting> -<para>Sets the source pattern within <parameter>cr</parameter> - to <parameter>source</parameter> -. This pattern -will then be used for any subsequent drawing operation until a new -source pattern is set.</para> -<para>Note: The pattern's transformation matrix will be locked to the -user space in effect at the time of <link linkend="cairo-set-source"><function>cairo_set_source()</function></link>. This means -that further modifications of the current transformation matrix -will not affect the source pattern. See <link linkend="cairo-pattern-set-matrix"><function>cairo_pattern_set_matrix()</function></link>.</para> -<para>The default source pattern is a solid pattern that is opaque black, -(that is, it is equivalent to cairo_set_source_rgb(cr, 0.0, 0.0, -0.0)).</para> -<refsect3 id="cairo-set-source.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>cr</para></entry> -<entry role="parameter_description"><para>a cairo context</para></entry> -<entry role="parameter_annotations"></entry></row> -<row><entry role="parameter_name"><para>source</para></entry> -<entry role="parameter_description"><para>a <link linkend="cairo-pattern-t"><type>cairo_pattern_t</type></link> to be used as the source for -subsequent drawing operations.</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-set-source-surface" role="function" condition="since:1.0"> -<title>cairo_set_source_surface ()</title> -<indexterm zone="cairo-set-source-surface" role="1.0"><primary sortas="set_source_surface">cairo_set_source_surface</primary></indexterm> -<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> -cairo_set_source_surface (<parameter><link linkend="cairo-t"><type>cairo_t</type></link> *cr</parameter>, - <parameter><link linkend="cairo-surface-t"><type>cairo_surface_t</type></link> *surface</parameter>, - <parameter><link linkend="double"><type>double</type></link> x</parameter>, - <parameter><link linkend="double"><type>double</type></link> y</parameter>);</programlisting> -<para>This is a convenience function for creating a pattern from <parameter>surface</parameter> - -and setting it as the source in <parameter>cr</parameter> - with <link linkend="cairo-set-source"><function>cairo_set_source()</function></link>.</para> -<para>The <parameter>x</parameter> - and <parameter>y</parameter> - parameters give the user-space coordinate at which -the surface origin should appear. (The surface origin is its -upper-left corner before any transformation has been applied.) The -<parameter>x</parameter> - and <parameter>y</parameter> - parameters are negated and then set as translation values -in the pattern matrix.</para> -<para>Other than the initial translation pattern matrix, as described -above, all other pattern attributes, (such as its extend mode), are -set to the default values as in <link linkend="cairo-pattern-create-for-surface"><function>cairo_pattern_create_for_surface()</function></link>. -The resulting pattern can be queried with <link linkend="cairo-get-source"><function>cairo_get_source()</function></link> so -that these attributes can be modified if desired, (eg. to create a -repeating pattern with <link linkend="cairo-pattern-set-extend"><function>cairo_pattern_set_extend()</function></link>).</para> -<refsect3 id="cairo-set-source-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>cr</para></entry> -<entry role="parameter_description"><para>a cairo context</para></entry> -<entry role="parameter_annotations"></entry></row> -<row><entry role="parameter_name"><para>surface</para></entry> -<entry role="parameter_description"><para>a surface to be used to set the source pattern</para></entry> -<entry role="parameter_annotations"></entry></row> -<row><entry role="parameter_name"><para>x</para></entry> -<entry role="parameter_description"><para>User-space X coordinate for surface origin</para></entry> -<entry role="parameter_annotations"></entry></row> -<row><entry role="parameter_name"><para>y</para></entry> -<entry role="parameter_description"><para>User-space Y coordinate for surface origin</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-get-source" role="function" condition="since:1.0"> -<title>cairo_get_source ()</title> -<indexterm zone="cairo-get-source" role="1.0"><primary sortas="get_source">cairo_get_source</primary></indexterm> -<programlisting language="C"><link linkend="cairo-pattern-t"><returnvalue>cairo_pattern_t</returnvalue></link> * -cairo_get_source (<parameter><link linkend="cairo-t"><type>cairo_t</type></link> *cr</parameter>);</programlisting> -<para>Gets the current source pattern for <parameter>cr</parameter> -.</para> -<refsect3 id="cairo-get-source.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>cr</para></entry> -<entry role="parameter_description"><para>a cairo context</para></entry> -<entry role="parameter_annotations"></entry></row> -</tbody></tgroup></informaltable> -</refsect3><refsect3 id="cairo-get-source.returns" role="returns"> -<title>Returns</title> -<para> the current source pattern. This object is owned by -cairo. To keep a reference to it, you must call -<link linkend="cairo-pattern-reference"><function>cairo_pattern_reference()</function></link>.</para> -</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> -<refsect2 id="cairo-set-antialias" role="function" condition="since:1.0"> -<title>cairo_set_antialias ()</title> -<indexterm zone="cairo-set-antialias" role="1.0"><primary sortas="set_antialias">cairo_set_antialias</primary></indexterm> -<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> -cairo_set_antialias (<parameter><link linkend="cairo-t"><type>cairo_t</type></link> *cr</parameter>, - <parameter><link linkend="cairo-antialias-t"><type>cairo_antialias_t</type></link> antialias</parameter>);</programlisting> -<para>Set the antialiasing mode of the rasterizer used for drawing shapes. -This value is a hint, and a particular backend may or may not support -a particular value. At the current time, no backend supports -<link linkend="CAIRO-ANTIALIAS-SUBPIXEL:CAPS"><literal>CAIRO_ANTIALIAS_SUBPIXEL</literal></link> when drawing shapes.</para> -<para>Note that this option does not affect text rendering, instead see -<link linkend="cairo-font-options-set-antialias"><function>cairo_font_options_set_antialias()</function></link>.</para> -<refsect3 id="cairo-set-antialias.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>cr</para></entry> -<entry role="parameter_description"><para>a <link linkend="cairo-t"><type>cairo_t</type></link></para></entry> -<entry role="parameter_annotations"></entry></row> -<row><entry role="parameter_name"><para>antialias</para></entry> -<entry role="parameter_description"><para>the new antialiasing mode</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-get-antialias" role="function" condition="since:1.0"> -<title>cairo_get_antialias ()</title> -<indexterm zone="cairo-get-antialias" role="1.0"><primary sortas="get_antialias">cairo_get_antialias</primary></indexterm> -<programlisting language="C"><link linkend="cairo-antialias-t"><returnvalue>cairo_antialias_t</returnvalue></link> -cairo_get_antialias (<parameter><link linkend="cairo-t"><type>cairo_t</type></link> *cr</parameter>);</programlisting> -<para>Gets the current shape antialiasing mode, as set by -<link linkend="cairo-set-antialias"><function>cairo_set_antialias()</function></link>.</para> -<refsect3 id="cairo-get-antialias.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>cr</para></entry> -<entry role="parameter_description"><para>a cairo context</para></entry> -<entry role="parameter_annotations"></entry></row> -</tbody></tgroup></informaltable> -</refsect3><refsect3 id="cairo-get-antialias.returns" role="returns"> -<title>Returns</title> -<para> the current shape antialiasing mode.</para> -</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> -<refsect2 id="cairo-set-dash" role="function" condition="since:1.0"> -<title>cairo_set_dash ()</title> -<indexterm zone="cairo-set-dash" role="1.0"><primary sortas="set_dash">cairo_set_dash</primary></indexterm> -<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> -cairo_set_dash (<parameter><link linkend="cairo-t"><type>cairo_t</type></link> *cr</parameter>, - <parameter>const <link linkend="double"><type>double</type></link> *dashes</parameter>, - <parameter><link linkend="int"><type>int</type></link> num_dashes</parameter>, - <parameter><link linkend="double"><type>double</type></link> offset</parameter>);</programlisting> -<para>Sets the dash pattern to be used by <link linkend="cairo-stroke"><function>cairo_stroke()</function></link>. A dash pattern -is specified by <parameter>dashes</parameter> -, an array of positive values. Each value -provides the length of alternate "on" and "off" portions of the -stroke. The <parameter>offset</parameter> - specifies an offset into the pattern at which -the stroke begins.</para> -<para>Each "on" segment will have caps applied as if the segment were a -separate sub-path. In particular, it is valid to use an "on" length -of 0.0 with <link linkend="CAIRO-LINE-CAP-ROUND:CAPS"><literal>CAIRO_LINE_CAP_ROUND</literal></link> or <link linkend="CAIRO-LINE-CAP-SQUARE:CAPS"><literal>CAIRO_LINE_CAP_SQUARE</literal></link> in order -to distributed dots or squares along a path.</para> -<para>Note: The length values are in user-space units as evaluated at the -time of stroking. This is not necessarily the same as the user -space at the time of <link linkend="cairo-set-dash"><function>cairo_set_dash()</function></link>.</para> -<para>If <parameter>num_dashes</parameter> - is 0 dashing is disabled.</para> -<para>If <parameter>num_dashes</parameter> - is 1 a symmetric pattern is assumed with alternating -on and off portions of the size specified by the single value in -<parameter>dashes</parameter> -.</para> -<para>If any value in <parameter>dashes</parameter> - is negative, or if all values are 0, then -<parameter>cr</parameter> - will be put into an error state with a status of -<link linkend="CAIRO-STATUS-INVALID-DASH:CAPS"><literal>CAIRO_STATUS_INVALID_DASH</literal></link>.</para> -<refsect3 id="cairo-set-dash.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>cr</para></entry> -<entry role="parameter_description"><para>a cairo context</para></entry> -<entry role="parameter_annotations"></entry></row> -<row><entry role="parameter_name"><para>dashes</para></entry> -<entry role="parameter_description"><para>an array specifying alternate lengths of on and off stroke portions</para></entry> -<entry role="parameter_annotations"></entry></row> -<row><entry role="parameter_name"><para>num_dashes</para></entry> -<entry role="parameter_description"><para>the length of the dashes array</para></entry> -<entry role="parameter_annotations"></entry></row> -<row><entry role="parameter_name"><para>offset</para></entry> -<entry role="parameter_description"><para>an offset into the dash pattern at which the stroke should start</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-get-dash-count" role="function" condition="since:1.4"> -<title>cairo_get_dash_count ()</title> -<indexterm zone="cairo-get-dash-count" role="1.4"><primary sortas="get_dash_count">cairo_get_dash_count</primary></indexterm> -<programlisting language="C"><link linkend="int"><returnvalue>int</returnvalue></link> -cairo_get_dash_count (<parameter><link linkend="cairo-t"><type>cairo_t</type></link> *cr</parameter>);</programlisting> -<para>This function returns the length of the dash array in <parameter>cr</parameter> - (0 if dashing -is not currently in effect).</para> -<para>See also <link linkend="cairo-set-dash"><function>cairo_set_dash()</function></link> and <link linkend="cairo-get-dash"><function>cairo_get_dash()</function></link>.</para> -<refsect3 id="cairo-get-dash-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>cr</para></entry> -<entry role="parameter_description"><para>a <link linkend="cairo-t"><type>cairo_t</type></link></para></entry> -<entry role="parameter_annotations"></entry></row> -</tbody></tgroup></informaltable> -</refsect3><refsect3 id="cairo-get-dash-count.returns" role="returns"> -<title>Returns</title> -<para> the length of the dash array, or 0 if no dash array set.</para> -</refsect3><para role="since">Since: <link linkend="api-index-1.4">1.4</link></para></refsect2> -<refsect2 id="cairo-get-dash" role="function" condition="since:1.4"> -<title>cairo_get_dash ()</title> -<indexterm zone="cairo-get-dash" role="1.4"><primary sortas="get_dash">cairo_get_dash</primary></indexterm> -<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> -cairo_get_dash (<parameter><link linkend="cairo-t"><type>cairo_t</type></link> *cr</parameter>, - <parameter><link linkend="double"><type>double</type></link> *dashes</parameter>, - <parameter><link linkend="double"><type>double</type></link> *offset</parameter>);</programlisting> -<para>Gets the current dash array. If not <link linkend="NULL:CAPS"><literal>NULL</literal></link>, <parameter>dashes</parameter> - should be big -enough to hold at least the number of values returned by -<link linkend="cairo-get-dash-count"><function>cairo_get_dash_count()</function></link>.</para> -<refsect3 id="cairo-get-dash.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>cr</para></entry> -<entry role="parameter_description"><para>a <link linkend="cairo-t"><type>cairo_t</type></link></para></entry> -<entry role="parameter_annotations"></entry></row> -<row><entry role="parameter_name"><para>dashes</para></entry> -<entry role="parameter_description"><para>return value for the dash array, or <link linkend="NULL:CAPS"><literal>NULL</literal></link></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 current dash offset, or <link linkend="NULL:CAPS"><literal>NULL</literal></link></para></entry> -<entry role="parameter_annotations"></entry></row> -</tbody></tgroup></informaltable> -</refsect3><para role="since">Since: <link linkend="api-index-1.4">1.4</link></para></refsect2> -<refsect2 id="cairo-set-fill-rule" role="function" condition="since:1.0"> -<title>cairo_set_fill_rule ()</title> -<indexterm zone="cairo-set-fill-rule" role="1.0"><primary sortas="set_fill_rule">cairo_set_fill_rule</primary></indexterm> -<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> -cairo_set_fill_rule (<parameter><link linkend="cairo-t"><type>cairo_t</type></link> *cr</parameter>, - <parameter><link linkend="cairo-fill-rule-t"><type>cairo_fill_rule_t</type></link> fill_rule</parameter>);</programlisting> -<para>Set the current fill rule within the cairo context. The fill rule -is used to determine which regions are inside or outside a complex -(potentially self-intersecting) path. The current fill rule affects -both <link linkend="cairo-fill"><function>cairo_fill()</function></link> and <link linkend="cairo-clip"><function>cairo_clip()</function></link>. See <link linkend="cairo-fill-rule-t"><type>cairo_fill_rule_t</type></link> for details -on the semantics of each available fill rule.</para> -<para>The default fill rule is <link linkend="CAIRO-FILL-RULE-WINDING:CAPS"><literal>CAIRO_FILL_RULE_WINDING</literal></link>.</para> -<refsect3 id="cairo-set-fill-rule.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>cr</para></entry> -<entry role="parameter_description"><para>a <link linkend="cairo-t"><type>cairo_t</type></link></para></entry> -<entry role="parameter_annotations"></entry></row> -<row><entry role="parameter_name"><para>fill_rule</para></entry> -<entry role="parameter_description"><para>a fill rule, specified as a <link linkend="cairo-fill-rule-t"><type>cairo_fill_rule_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-get-fill-rule" role="function" condition="since:1.0"> -<title>cairo_get_fill_rule ()</title> -<indexterm zone="cairo-get-fill-rule" role="1.0"><primary sortas="get_fill_rule">cairo_get_fill_rule</primary></indexterm> -<programlisting language="C"><link linkend="cairo-fill-rule-t"><returnvalue>cairo_fill_rule_t</returnvalue></link> -cairo_get_fill_rule (<parameter><link linkend="cairo-t"><type>cairo_t</type></link> *cr</parameter>);</programlisting> -<para>Gets the current fill rule, as set by <link linkend="cairo-set-fill-rule"><function>cairo_set_fill_rule()</function></link>.</para> -<refsect3 id="cairo-get-fill-rule.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>cr</para></entry> -<entry role="parameter_description"><para>a cairo context</para></entry> -<entry role="parameter_annotations"></entry></row> -</tbody></tgroup></informaltable> -</refsect3><refsect3 id="cairo-get-fill-rule.returns" role="returns"> -<title>Returns</title> -<para> the current fill rule.</para> -</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> -<refsect2 id="cairo-set-line-cap" role="function" condition="since:1.0"> -<title>cairo_set_line_cap ()</title> -<indexterm zone="cairo-set-line-cap" role="1.0"><primary sortas="set_line_cap">cairo_set_line_cap</primary></indexterm> -<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> -cairo_set_line_cap (<parameter><link linkend="cairo-t"><type>cairo_t</type></link> *cr</parameter>, - <parameter><link linkend="cairo-line-cap-t"><type>cairo_line_cap_t</type></link> line_cap</parameter>);</programlisting> -<para>Sets the current line cap style within the cairo context. See -<link linkend="cairo-line-cap-t"><type>cairo_line_cap_t</type></link> for details about how the available line cap -styles are drawn.</para> -<para>As with the other stroke parameters, the current line cap style is -examined by <link linkend="cairo-stroke"><function>cairo_stroke()</function></link>, <link linkend="cairo-stroke-extents"><function>cairo_stroke_extents()</function></link>, and -<link linkend="cairo-stroke-to-path"><function>cairo_stroke_to_path()</function></link>, but does not have any effect during path -construction.</para> -<para>The default line cap style is <link linkend="CAIRO-LINE-CAP-BUTT:CAPS"><literal>CAIRO_LINE_CAP_BUTT</literal></link>.</para> -<refsect3 id="cairo-set-line-cap.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>cr</para></entry> -<entry role="parameter_description"><para>a cairo context</para></entry> -<entry role="parameter_annotations"></entry></row> -<row><entry role="parameter_name"><para>line_cap</para></entry> -<entry role="parameter_description"><para>a line cap style</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-get-line-cap" role="function" condition="since:1.0"> -<title>cairo_get_line_cap ()</title> -<indexterm zone="cairo-get-line-cap" role="1.0"><primary sortas="get_line_cap">cairo_get_line_cap</primary></indexterm> -<programlisting language="C"><link linkend="cairo-line-cap-t"><returnvalue>cairo_line_cap_t</returnvalue></link> -cairo_get_line_cap (<parameter><link linkend="cairo-t"><type>cairo_t</type></link> *cr</parameter>);</programlisting> -<para>Gets the current line cap style, as set by <link linkend="cairo-set-line-cap"><function>cairo_set_line_cap()</function></link>.</para> -<refsect3 id="cairo-get-line-cap.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>cr</para></entry> -<entry role="parameter_description"><para>a cairo context</para></entry> -<entry role="parameter_annotations"></entry></row> -</tbody></tgroup></informaltable> -</refsect3><refsect3 id="cairo-get-line-cap.returns" role="returns"> -<title>Returns</title> -<para> the current line cap style.</para> -</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> -<refsect2 id="cairo-set-line-join" role="function" condition="since:1.0"> -<title>cairo_set_line_join ()</title> -<indexterm zone="cairo-set-line-join" role="1.0"><primary sortas="set_line_join">cairo_set_line_join</primary></indexterm> -<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> -cairo_set_line_join (<parameter><link linkend="cairo-t"><type>cairo_t</type></link> *cr</parameter>, - <parameter><link linkend="cairo-line-join-t"><type>cairo_line_join_t</type></link> line_join</parameter>);</programlisting> -<para>Sets the current line join style within the cairo context. See -<link linkend="cairo-line-join-t"><type>cairo_line_join_t</type></link> for details about how the available line join -styles are drawn.</para> -<para>As with the other stroke parameters, the current line join style is -examined by <link linkend="cairo-stroke"><function>cairo_stroke()</function></link>, <link linkend="cairo-stroke-extents"><function>cairo_stroke_extents()</function></link>, and -<link linkend="cairo-stroke-to-path"><function>cairo_stroke_to_path()</function></link>, but does not have any effect during path -construction.</para> -<para>The default line join style is <link linkend="CAIRO-LINE-JOIN-MITER:CAPS"><literal>CAIRO_LINE_JOIN_MITER</literal></link>.</para> -<refsect3 id="cairo-set-line-join.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>cr</para></entry> -<entry role="parameter_description"><para>a cairo context</para></entry> -<entry role="parameter_annotations"></entry></row> -<row><entry role="parameter_name"><para>line_join</para></entry> -<entry role="parameter_description"><para>a line join style</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-get-line-join" role="function" condition="since:1.0"> -<title>cairo_get_line_join ()</title> -<indexterm zone="cairo-get-line-join" role="1.0"><primary sortas="get_line_join">cairo_get_line_join</primary></indexterm> -<programlisting language="C"><link linkend="cairo-line-join-t"><returnvalue>cairo_line_join_t</returnvalue></link> -cairo_get_line_join (<parameter><link linkend="cairo-t"><type>cairo_t</type></link> *cr</parameter>);</programlisting> -<para>Gets the current line join style, as set by <link linkend="cairo-set-line-join"><function>cairo_set_line_join()</function></link>.</para> -<refsect3 id="cairo-get-line-join.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>cr</para></entry> -<entry role="parameter_description"><para>a cairo context</para></entry> -<entry role="parameter_annotations"></entry></row> -</tbody></tgroup></informaltable> -</refsect3><refsect3 id="cairo-get-line-join.returns" role="returns"> -<title>Returns</title> -<para> the current line join style.</para> -</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> -<refsect2 id="cairo-set-line-width" role="function" condition="since:1.0"> -<title>cairo_set_line_width ()</title> -<indexterm zone="cairo-set-line-width" role="1.0"><primary sortas="set_line_width">cairo_set_line_width</primary></indexterm> -<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> -cairo_set_line_width (<parameter><link linkend="cairo-t"><type>cairo_t</type></link> *cr</parameter>, - <parameter><link linkend="double"><type>double</type></link> width</parameter>);</programlisting> -<para>Sets the current line width within the cairo context. The line -width value specifies the diameter of a pen that is circular in -user space, (though device-space pen may be an ellipse in general -due to scaling/shear/rotation of the CTM).</para> -<para>Note: When the description above refers to user space and CTM it -refers to the user space and CTM in effect at the time of the -stroking operation, not the user space and CTM in effect at the -time of the call to <link linkend="cairo-set-line-width"><function>cairo_set_line_width()</function></link>. The simplest usage -makes both of these spaces identical. That is, if there is no -change to the CTM between a call to <link linkend="cairo-set-line-width"><function>cairo_set_line_width()</function></link> and the -stroking operation, then one can just pass user-space values to -<link linkend="cairo-set-line-width"><function>cairo_set_line_width()</function></link> and ignore this note.</para> -<para>As with the other stroke parameters, the current line width is -examined by <link linkend="cairo-stroke"><function>cairo_stroke()</function></link>, <link linkend="cairo-stroke-extents"><function>cairo_stroke_extents()</function></link>, and -<link linkend="cairo-stroke-to-path"><function>cairo_stroke_to_path()</function></link>, but does not have any effect during path -construction.</para> -<para>The default line width value is 2.0.</para> -<refsect3 id="cairo-set-line-width.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>cr</para></entry> -<entry role="parameter_description"><para>a <link linkend="cairo-t"><type>cairo_t</type></link></para></entry> -<entry role="parameter_annotations"></entry></row> -<row><entry role="parameter_name"><para>width</para></entry> -<entry role="parameter_description"><para>a line width</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-get-line-width" role="function" condition="since:1.0"> -<title>cairo_get_line_width ()</title> -<indexterm zone="cairo-get-line-width" role="1.0"><primary sortas="get_line_width">cairo_get_line_width</primary></indexterm> -<programlisting language="C"><link linkend="double"><returnvalue>double</returnvalue></link> -cairo_get_line_width (<parameter><link linkend="cairo-t"><type>cairo_t</type></link> *cr</parameter>);</programlisting> -<para>This function returns the current line width value exactly as set by -<link linkend="cairo-set-line-width"><function>cairo_set_line_width()</function></link>. Note that the value is unchanged even if -the CTM has changed between the calls to <link linkend="cairo-set-line-width"><function>cairo_set_line_width()</function></link> and -<link linkend="cairo-get-line-width"><function>cairo_get_line_width()</function></link>.</para> -<refsect3 id="cairo-get-line-width.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>cr</para></entry> -<entry role="parameter_description"><para>a cairo context</para></entry> -<entry role="parameter_annotations"></entry></row> -</tbody></tgroup></informaltable> -</refsect3><refsect3 id="cairo-get-line-width.returns" role="returns"> -<title>Returns</title> -<para> the current line width.</para> -</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> -<refsect2 id="cairo-set-miter-limit" role="function" condition="since:1.0"> -<title>cairo_set_miter_limit ()</title> -<indexterm zone="cairo-set-miter-limit" role="1.0"><primary sortas="set_miter_limit">cairo_set_miter_limit</primary></indexterm> -<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> -cairo_set_miter_limit (<parameter><link linkend="cairo-t"><type>cairo_t</type></link> *cr</parameter>, - <parameter><link linkend="double"><type>double</type></link> limit</parameter>);</programlisting> -<para>Sets the current miter limit within the cairo context.</para> -<para>If the current line join style is set to <link linkend="CAIRO-LINE-JOIN-MITER:CAPS"><literal>CAIRO_LINE_JOIN_MITER</literal></link> -(see <link linkend="cairo-set-line-join"><function>cairo_set_line_join()</function></link>), the miter limit is used to determine -whether the lines should be joined with a bevel instead of a miter. -Cairo divides the length of the miter by the line width. -If the result is greater than the miter limit, the style is -converted to a bevel.</para> -<para>As with the other stroke parameters, the current line miter limit is -examined by <link linkend="cairo-stroke"><function>cairo_stroke()</function></link>, <link linkend="cairo-stroke-extents"><function>cairo_stroke_extents()</function></link>, and -<link linkend="cairo-stroke-to-path"><function>cairo_stroke_to_path()</function></link>, but does not have any effect during path -construction.</para> -<para>The default miter limit value is 10.0, which will convert joins -with interior angles less than 11 degrees to bevels instead of -miters. For reference, a miter limit of 2.0 makes the miter cutoff -at 60 degrees, and a miter limit of 1.414 makes the cutoff at 90 -degrees.</para> -<para>A miter limit for a desired angle can be computed as: miter limit = -1/sin(angle/2)</para> -<refsect3 id="cairo-set-miter-limit.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>cr</para></entry> -<entry role="parameter_description"><para>a cairo context</para></entry> -<entry role="parameter_annotations"></entry></row> -<row><entry role="parameter_name"><para>limit</para></entry> -<entry role="parameter_description"><para>miter limit to set</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-get-miter-limit" role="function" condition="since:1.0"> -<title>cairo_get_miter_limit ()</title> -<indexterm zone="cairo-get-miter-limit" role="1.0"><primary sortas="get_miter_limit">cairo_get_miter_limit</primary></indexterm> -<programlisting language="C"><link linkend="double"><returnvalue>double</returnvalue></link> -cairo_get_miter_limit (<parameter><link linkend="cairo-t"><type>cairo_t</type></link> *cr</parameter>);</programlisting> -<para>Gets the current miter limit, as set by <link linkend="cairo-set-miter-limit"><function>cairo_set_miter_limit()</function></link>.</para> -<refsect3 id="cairo-get-miter-limit.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>cr</para></entry> -<entry role="parameter_description"><para>a cairo context</para></entry> -<entry role="parameter_annotations"></entry></row> -</tbody></tgroup></informaltable> -</refsect3><refsect3 id="cairo-get-miter-limit.returns" role="returns"> -<title>Returns</title> -<para> the current miter limit.</para> -</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> -<refsect2 id="cairo-set-operator" role="function" condition="since:1.0"> -<title>cairo_set_operator ()</title> -<indexterm zone="cairo-set-operator" role="1.0"><primary sortas="set_operator">cairo_set_operator</primary></indexterm> -<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> -cairo_set_operator (<parameter><link linkend="cairo-t"><type>cairo_t</type></link> *cr</parameter>, - <parameter><link linkend="cairo-operator-t"><type>cairo_operator_t</type></link> op</parameter>);</programlisting> -<para>Sets the compositing operator to be used for all drawing -operations. See <link linkend="cairo-operator-t"><type>cairo_operator_t</type></link> for details on the semantics of -each available compositing operator.</para> -<para>The default operator is <link linkend="CAIRO-OPERATOR-OVER:CAPS"><literal>CAIRO_OPERATOR_OVER</literal></link>.</para> -<refsect3 id="cairo-set-operator.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>cr</para></entry> -<entry role="parameter_description"><para>a <link linkend="cairo-t"><type>cairo_t</type></link></para></entry> -<entry role="parameter_annotations"></entry></row> -<row><entry role="parameter_name"><para>op</para></entry> -<entry role="parameter_description"><para>a compositing operator, specified as a <link linkend="cairo-operator-t"><type>cairo_operator_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-get-operator" role="function" condition="since:1.0"> -<title>cairo_get_operator ()</title> -<indexterm zone="cairo-get-operator" role="1.0"><primary sortas="get_operator">cairo_get_operator</primary></indexterm> -<programlisting language="C"><link linkend="cairo-operator-t"><returnvalue>cairo_operator_t</returnvalue></link> -cairo_get_operator (<parameter><link linkend="cairo-t"><type>cairo_t</type></link> *cr</parameter>);</programlisting> -<para>Gets the current compositing operator for a cairo context.</para> -<refsect3 id="cairo-get-operator.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>cr</para></entry> -<entry role="parameter_description"><para>a cairo context</para></entry> -<entry role="parameter_annotations"></entry></row> -</tbody></tgroup></informaltable> -</refsect3><refsect3 id="cairo-get-operator.returns" role="returns"> -<title>Returns</title> -<para> the current compositing operator.</para> -</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> -<refsect2 id="cairo-set-tolerance" role="function" condition="since:1.0"> -<title>cairo_set_tolerance ()</title> -<indexterm zone="cairo-set-tolerance" role="1.0"><primary sortas="set_tolerance">cairo_set_tolerance</primary></indexterm> -<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> -cairo_set_tolerance (<parameter><link linkend="cairo-t"><type>cairo_t</type></link> *cr</parameter>, - <parameter><link linkend="double"><type>double</type></link> tolerance</parameter>);</programlisting> -<para>Sets the tolerance used when converting paths into trapezoids. -Curved segments of the path will be subdivided until the maximum -deviation between the original path and the polygonal approximation -is less than <parameter>tolerance</parameter> -. The default value is 0.1. A larger -value will give better performance, a smaller value, better -appearance. (Reducing the value from the default value of 0.1 -is unlikely to improve appearance significantly.) The accuracy of paths -within Cairo is limited by the precision of its internal arithmetic, and -the prescribed <parameter>tolerance</parameter> - is restricted to the smallest -representable internal value.</para> -<refsect3 id="cairo-set-tolerance.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>cr</para></entry> -<entry role="parameter_description"><para>a <link linkend="cairo-t"><type>cairo_t</type></link></para></entry> -<entry role="parameter_annotations"></entry></row> -<row><entry role="parameter_name"><para>tolerance</para></entry> -<entry role="parameter_description"><para>the tolerance, in device units (typically pixels)</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-get-tolerance" role="function" condition="since:1.0"> -<title>cairo_get_tolerance ()</title> -<indexterm zone="cairo-get-tolerance" role="1.0"><primary sortas="get_tolerance">cairo_get_tolerance</primary></indexterm> -<programlisting language="C"><link linkend="double"><returnvalue>double</returnvalue></link> -cairo_get_tolerance (<parameter><link linkend="cairo-t"><type>cairo_t</type></link> *cr</parameter>);</programlisting> -<para>Gets the current tolerance value, as set by <link linkend="cairo-set-tolerance"><function>cairo_set_tolerance()</function></link>.</para> -<refsect3 id="cairo-get-tolerance.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>cr</para></entry> -<entry role="parameter_description"><para>a cairo context</para></entry> -<entry role="parameter_annotations"></entry></row> -</tbody></tgroup></informaltable> -</refsect3><refsect3 id="cairo-get-tolerance.returns" role="returns"> -<title>Returns</title> -<para> the current tolerance value.</para> -</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> -<refsect2 id="cairo-clip" role="function" condition="since:1.0"> -<title>cairo_clip ()</title> -<indexterm zone="cairo-clip" role="1.0"><primary sortas="clip">cairo_clip</primary></indexterm> -<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> -cairo_clip (<parameter><link linkend="cairo-t"><type>cairo_t</type></link> *cr</parameter>);</programlisting> -<para>Establishes a new clip region by intersecting the current clip -region with the current path as it would be filled by <link linkend="cairo-fill"><function>cairo_fill()</function></link> -and according to the current fill rule (see <link linkend="cairo-set-fill-rule"><function>cairo_set_fill_rule()</function></link>).</para> -<para>After <link linkend="cairo-clip"><function>cairo_clip()</function></link>, the current path will be cleared from the cairo -context.</para> -<para>The current clip region affects all drawing operations by -effectively masking out any changes to the surface that are outside -the current clip region.</para> -<para>Calling <link linkend="cairo-clip"><function>cairo_clip()</function></link> can only make the clip region smaller, never -larger. But the current clip is part of the graphics state, so a -temporary restriction of the clip region can be achieved by -calling <link linkend="cairo-clip"><function>cairo_clip()</function></link> within a <link linkend="cairo-save"><function>cairo_save()</function></link>/<link linkend="cairo-restore"><function>cairo_restore()</function></link> -pair. The only other means of increasing the size of the clip -region is <link linkend="cairo-reset-clip"><function>cairo_reset_clip()</function></link>.</para> -<refsect3 id="cairo-clip.parameters" role="parameters"> -<title>Parameters</title> -<informaltable role="parameters_table" pgwide="1" frame="none"> -<tgroup cols="3"> -<colspec colname="parameters_name" colwidth="150px"/> -<colspec colname="parameters_description"/> -<colspec colname="parameters_annotations" colwidth="200px"/> -<tbody> -<row><entry role="parameter_name"><para>cr</para></entry> -<entry role="parameter_description"><para>a cairo context</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-clip-preserve" role="function" condition="since:1.0"> -<title>cairo_clip_preserve ()</title> -<indexterm zone="cairo-clip-preserve" role="1.0"><primary sortas="clip_preserve">cairo_clip_preserve</primary></indexterm> -<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> -cairo_clip_preserve (<parameter><link linkend="cairo-t"><type>cairo_t</type></link> *cr</parameter>);</programlisting> -<para>Establishes a new clip region by intersecting the current clip -region with the current path as it would be filled by <link linkend="cairo-fill"><function>cairo_fill()</function></link> -and according to the current fill rule (see <link linkend="cairo-set-fill-rule"><function>cairo_set_fill_rule()</function></link>).</para> -<para>Unlike <link linkend="cairo-clip"><function>cairo_clip()</function></link>, <link linkend="cairo-clip-preserve"><function>cairo_clip_preserve()</function></link> preserves the path within -the cairo context.</para> -<para>The current clip region affects all drawing operations by -effectively masking out any changes to the surface that are outside -the current clip region.</para> -<para>Calling <link linkend="cairo-clip-preserve"><function>cairo_clip_preserve()</function></link> can only make the clip region smaller, never -larger. But the current clip is part of the graphics state, so a -temporary restriction of the clip region can be achieved by -calling <link linkend="cairo-clip-preserve"><function>cairo_clip_preserve()</function></link> within a <link linkend="cairo-save"><function>cairo_save()</function></link>/<link linkend="cairo-restore"><function>cairo_restore()</function></link> -pair. The only other means of increasing the size of the clip -region is <link linkend="cairo-reset-clip"><function>cairo_reset_clip()</function></link>.</para> -<refsect3 id="cairo-clip-preserve.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>cr</para></entry> -<entry role="parameter_description"><para>a cairo context</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-clip-extents" role="function" condition="since:1.4"> -<title>cairo_clip_extents ()</title> -<indexterm zone="cairo-clip-extents" role="1.4"><primary sortas="clip_extents">cairo_clip_extents</primary></indexterm> -<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> -cairo_clip_extents (<parameter><link linkend="cairo-t"><type>cairo_t</type></link> *cr</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>);</programlisting> -<para>Computes a bounding box in user coordinates covering the area inside the -current clip.</para> -<refsect3 id="cairo-clip-extents.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>cr</para></entry> -<entry role="parameter_description"><para>a cairo context</para></entry> -<entry role="parameter_annotations"></entry></row> -<row><entry role="parameter_name"><para>x1</para></entry> -<entry role="parameter_description"><para>left of the resulting extents</para></entry> -<entry role="parameter_annotations"></entry></row> -<row><entry role="parameter_name"><para>y1</para></entry> -<entry role="parameter_description"><para>top of the resulting extents</para></entry> -<entry role="parameter_annotations"></entry></row> -<row><entry role="parameter_name"><para>x2</para></entry> -<entry role="parameter_description"><para>right of the resulting extents</para></entry> -<entry role="parameter_annotations"></entry></row> -<row><entry role="parameter_name"><para>y2</para></entry> -<entry role="parameter_description"><para>bottom of the resulting extents</para></entry> -<entry role="parameter_annotations"></entry></row> -</tbody></tgroup></informaltable> -</refsect3><para role="since">Since: <link linkend="api-index-1.4">1.4</link></para></refsect2> -<refsect2 id="cairo-in-clip" role="function" condition="since:1.10"> -<title>cairo_in_clip ()</title> -<indexterm zone="cairo-in-clip" role="1.10"><primary sortas="in_clip">cairo_in_clip</primary></indexterm> -<programlisting language="C"><link linkend="cairo-bool-t"><returnvalue>cairo_bool_t</returnvalue></link> -cairo_in_clip (<parameter><link linkend="cairo-t"><type>cairo_t</type></link> *cr</parameter>, - <parameter><link linkend="double"><type>double</type></link> x</parameter>, - <parameter><link linkend="double"><type>double</type></link> y</parameter>);</programlisting> -<para>Tests whether the given point is inside the area that would be -visible through the current clip, i.e. the area that would be filled by -a <link linkend="cairo-paint"><function>cairo_paint()</function></link> operation.</para> -<para>See <link linkend="cairo-clip"><function>cairo_clip()</function></link>, and <link linkend="cairo-clip-preserve"><function>cairo_clip_preserve()</function></link>.</para> -<refsect3 id="cairo-in-clip.parameters" role="parameters"> -<title>Parameters</title> -<informaltable role="parameters_table" pgwide="1" frame="none"> -<tgroup cols="3"> -<colspec colname="parameters_name" colwidth="150px"/> -<colspec colname="parameters_description"/> -<colspec colname="parameters_annotations" colwidth="200px"/> -<tbody> -<row><entry role="parameter_name"><para>cr</para></entry> -<entry role="parameter_description"><para>a cairo context</para></entry> -<entry role="parameter_annotations"></entry></row> -<row><entry role="parameter_name"><para>x</para></entry> -<entry role="parameter_description"><para>X coordinate of the point to test</para></entry> -<entry role="parameter_annotations"></entry></row> -<row><entry role="parameter_name"><para>y</para></entry> -<entry role="parameter_description"><para>Y coordinate of the point to test</para></entry> -<entry role="parameter_annotations"></entry></row> -</tbody></tgroup></informaltable> -</refsect3><refsect3 id="cairo-in-clip.returns" role="returns"> -<title>Returns</title> -<para> A non-zero value if the point is inside, or zero if -outside.</para> -</refsect3><para role="since">Since: <link linkend="api-index-1.10">1.10</link></para></refsect2> -<refsect2 id="cairo-reset-clip" role="function" condition="since:1.0"> -<title>cairo_reset_clip ()</title> -<indexterm zone="cairo-reset-clip" role="1.0"><primary sortas="reset_clip">cairo_reset_clip</primary></indexterm> -<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> -cairo_reset_clip (<parameter><link linkend="cairo-t"><type>cairo_t</type></link> *cr</parameter>);</programlisting> -<para>Reset the current clip region to its original, unrestricted -state. That is, set the clip region to an infinitely large shape -containing the target surface. Equivalently, if infinity is too -hard to grasp, one can imagine the clip region being reset to the -exact bounds of the target surface.</para> -<para>Note that code meant to be reusable should not call -<link linkend="cairo-reset-clip"><function>cairo_reset_clip()</function></link> as it will cause results unexpected by -higher-level code which calls <link linkend="cairo-clip"><function>cairo_clip()</function></link>. Consider using -<link linkend="cairo-save"><function>cairo_save()</function></link> and <link linkend="cairo-restore"><function>cairo_restore()</function></link> around <link linkend="cairo-clip"><function>cairo_clip()</function></link> as a more -robust means of temporarily restricting the clip region.</para> -<refsect3 id="cairo-reset-clip.parameters" role="parameters"> -<title>Parameters</title> -<informaltable role="parameters_table" pgwide="1" frame="none"> -<tgroup cols="3"> -<colspec colname="parameters_name" colwidth="150px"/> -<colspec colname="parameters_description"/> -<colspec colname="parameters_annotations" colwidth="200px"/> -<tbody> -<row><entry role="parameter_name"><para>cr</para></entry> -<entry role="parameter_description"><para>a cairo context</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-rectangle-list-destroy" role="function" condition="since:1.4"> -<title>cairo_rectangle_list_destroy ()</title> -<indexterm zone="cairo-rectangle-list-destroy" role="1.4"><primary sortas="rectangle_list_destroy">cairo_rectangle_list_destroy</primary></indexterm> -<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> -cairo_rectangle_list_destroy (<parameter><link linkend="cairo-rectangle-list-t"><type>cairo_rectangle_list_t</type></link> *rectangle_list</parameter>);</programlisting> -<para>Unconditionally frees <parameter>rectangle_list</parameter> - and all associated -references. After this call, the <parameter>rectangle_list</parameter> - pointer must not -be dereferenced.</para> -<refsect3 id="cairo-rectangle-list-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>rectangle_list</para></entry> -<entry role="parameter_description"><para>a rectangle list, as obtained from <link linkend="cairo-copy-clip-rectangle-list"><function>cairo_copy_clip_rectangle_list()</function></link></para></entry> -<entry role="parameter_annotations"></entry></row> -</tbody></tgroup></informaltable> -</refsect3><para role="since">Since: <link linkend="api-index-1.4">1.4</link></para></refsect2> -<refsect2 id="cairo-copy-clip-rectangle-list" role="function" condition="since:1.4"> -<title>cairo_copy_clip_rectangle_list ()</title> -<indexterm zone="cairo-copy-clip-rectangle-list" role="1.4"><primary sortas="copy_clip_rectangle_list">cairo_copy_clip_rectangle_list</primary></indexterm> -<programlisting language="C"><link linkend="cairo-rectangle-list-t"><returnvalue>cairo_rectangle_list_t</returnvalue></link> * -cairo_copy_clip_rectangle_list (<parameter><link linkend="cairo-t"><type>cairo_t</type></link> *cr</parameter>);</programlisting> -<para>Gets the current clip region as a list of rectangles in user coordinates. -Never returns <link linkend="NULL:CAPS"><literal>NULL</literal></link>.</para> -<para>The status in the list may be <link linkend="CAIRO-STATUS-CLIP-NOT-REPRESENTABLE:CAPS"><literal>CAIRO_STATUS_CLIP_NOT_REPRESENTABLE</literal></link> to -indicate that the clip region cannot be represented as a list of -user-space rectangles. The status may have other values to indicate -other errors.</para> -<refsect3 id="cairo-copy-clip-rectangle-list.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>cr</para></entry> -<entry role="parameter_description"><para>a cairo context</para></entry> -<entry role="parameter_annotations"></entry></row> -</tbody></tgroup></informaltable> -</refsect3><refsect3 id="cairo-copy-clip-rectangle-list.returns" role="returns"> -<title>Returns</title> -<para> the current clip region as a list of rectangles in user coordinates, -which should be destroyed using <link linkend="cairo-rectangle-list-destroy"><function>cairo_rectangle_list_destroy()</function></link>.</para> -</refsect3><para role="since">Since: <link linkend="api-index-1.4">1.4</link></para></refsect2> -<refsect2 id="cairo-fill" role="function" condition="since:1.0"> -<title>cairo_fill ()</title> -<indexterm zone="cairo-fill" role="1.0"><primary sortas="fill">cairo_fill</primary></indexterm> -<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> -cairo_fill (<parameter><link linkend="cairo-t"><type>cairo_t</type></link> *cr</parameter>);</programlisting> -<para>A drawing operator that fills the current path according to the -current fill rule, (each sub-path is implicitly closed before being -filled). After <link linkend="cairo-fill"><function>cairo_fill()</function></link>, the current path will be cleared from -the cairo context. See <link linkend="cairo-set-fill-rule"><function>cairo_set_fill_rule()</function></link> and -<link linkend="cairo-fill-preserve"><function>cairo_fill_preserve()</function></link>.</para> -<refsect3 id="cairo-fill.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>cr</para></entry> -<entry role="parameter_description"><para>a cairo context</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-fill-preserve" role="function" condition="since:1.0"> -<title>cairo_fill_preserve ()</title> -<indexterm zone="cairo-fill-preserve" role="1.0"><primary sortas="fill_preserve">cairo_fill_preserve</primary></indexterm> -<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> -cairo_fill_preserve (<parameter><link linkend="cairo-t"><type>cairo_t</type></link> *cr</parameter>);</programlisting> -<para>A drawing operator that fills the current path according to the -current fill rule, (each sub-path is implicitly closed before being -filled). Unlike <link linkend="cairo-fill"><function>cairo_fill()</function></link>, <link linkend="cairo-fill-preserve"><function>cairo_fill_preserve()</function></link> preserves the -path within the cairo context.</para> -<para>See <link linkend="cairo-set-fill-rule"><function>cairo_set_fill_rule()</function></link> and <link linkend="cairo-fill"><function>cairo_fill()</function></link>.</para> -<refsect3 id="cairo-fill-preserve.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>cr</para></entry> -<entry role="parameter_description"><para>a cairo context</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-fill-extents" role="function" condition="since:1.0"> -<title>cairo_fill_extents ()</title> -<indexterm zone="cairo-fill-extents" role="1.0"><primary sortas="fill_extents">cairo_fill_extents</primary></indexterm> -<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> -cairo_fill_extents (<parameter><link linkend="cairo-t"><type>cairo_t</type></link> *cr</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>);</programlisting> -<para>Computes a bounding box in user coordinates covering the area that -would be affected, (the "inked" area), by a <link linkend="cairo-fill"><function>cairo_fill()</function></link> operation -given the current path and fill parameters. If the current path is -empty, returns an empty rectangle ((0,0), (0,0)). Surface -dimensions and clipping are not taken into account.</para> -<para>Contrast with <link linkend="cairo-path-extents"><function>cairo_path_extents()</function></link>, which is similar, but returns -non-zero extents for some paths with no inked area, (such as a -simple line segment).</para> -<para>Note that <link linkend="cairo-fill-extents"><function>cairo_fill_extents()</function></link> must necessarily do more work to -compute the precise inked areas in light of the fill rule, so -<link linkend="cairo-path-extents"><function>cairo_path_extents()</function></link> may be more desirable for sake of performance -if the non-inked path extents are desired.</para> -<para>See <link linkend="cairo-fill"><function>cairo_fill()</function></link>, <link linkend="cairo-set-fill-rule"><function>cairo_set_fill_rule()</function></link> and <link linkend="cairo-fill-preserve"><function>cairo_fill_preserve()</function></link>.</para> -<refsect3 id="cairo-fill-extents.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>cr</para></entry> -<entry role="parameter_description"><para>a cairo context</para></entry> -<entry role="parameter_annotations"></entry></row> -<row><entry role="parameter_name"><para>x1</para></entry> -<entry role="parameter_description"><para>left of the resulting extents</para></entry> -<entry role="parameter_annotations"></entry></row> -<row><entry role="parameter_name"><para>y1</para></entry> -<entry role="parameter_description"><para>top of the resulting extents</para></entry> -<entry role="parameter_annotations"></entry></row> -<row><entry role="parameter_name"><para>x2</para></entry> -<entry role="parameter_description"><para>right of the resulting extents</para></entry> -<entry role="parameter_annotations"></entry></row> -<row><entry role="parameter_name"><para>y2</para></entry> -<entry role="parameter_description"><para>bottom of the resulting extents</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-in-fill" role="function" condition="since:1.0"> -<title>cairo_in_fill ()</title> -<indexterm zone="cairo-in-fill" role="1.0"><primary sortas="in_fill">cairo_in_fill</primary></indexterm> -<programlisting language="C"><link linkend="cairo-bool-t"><returnvalue>cairo_bool_t</returnvalue></link> -cairo_in_fill (<parameter><link linkend="cairo-t"><type>cairo_t</type></link> *cr</parameter>, - <parameter><link linkend="double"><type>double</type></link> x</parameter>, - <parameter><link linkend="double"><type>double</type></link> y</parameter>);</programlisting> -<para>Tests whether the given point is inside the area that would be -affected by a <link linkend="cairo-fill"><function>cairo_fill()</function></link> operation given the current path and -filling parameters. Surface dimensions and clipping are not taken -into account.</para> -<para>See <link linkend="cairo-fill"><function>cairo_fill()</function></link>, <link linkend="cairo-set-fill-rule"><function>cairo_set_fill_rule()</function></link> and <link linkend="cairo-fill-preserve"><function>cairo_fill_preserve()</function></link>.</para> -<refsect3 id="cairo-in-fill.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>cr</para></entry> -<entry role="parameter_description"><para>a cairo context</para></entry> -<entry role="parameter_annotations"></entry></row> -<row><entry role="parameter_name"><para>x</para></entry> -<entry role="parameter_description"><para>X coordinate of the point to test</para></entry> -<entry role="parameter_annotations"></entry></row> -<row><entry role="parameter_name"><para>y</para></entry> -<entry role="parameter_description"><para>Y coordinate of the point to test</para></entry> -<entry role="parameter_annotations"></entry></row> -</tbody></tgroup></informaltable> -</refsect3><refsect3 id="cairo-in-fill.returns" role="returns"> -<title>Returns</title> -<para> A non-zero value if the point is inside, or zero if -outside.</para> -</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> -<refsect2 id="cairo-mask" role="function" condition="since:1.0"> -<title>cairo_mask ()</title> -<indexterm zone="cairo-mask" role="1.0"><primary sortas="mask">cairo_mask</primary></indexterm> -<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> -cairo_mask (<parameter><link linkend="cairo-t"><type>cairo_t</type></link> *cr</parameter>, - <parameter><link linkend="cairo-pattern-t"><type>cairo_pattern_t</type></link> *pattern</parameter>);</programlisting> -<para>A drawing operator that paints the current source -using the alpha channel of <parameter>pattern</parameter> - as a mask. (Opaque -areas of <parameter>pattern</parameter> - are painted with the source, transparent -areas are not painted.)</para> -<refsect3 id="cairo-mask.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>cr</para></entry> -<entry role="parameter_description"><para>a cairo context</para></entry> -<entry role="parameter_annotations"></entry></row> -<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-mask-surface" role="function" condition="since:1.0"> -<title>cairo_mask_surface ()</title> -<indexterm zone="cairo-mask-surface" role="1.0"><primary sortas="mask_surface">cairo_mask_surface</primary></indexterm> -<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> -cairo_mask_surface (<parameter><link linkend="cairo-t"><type>cairo_t</type></link> *cr</parameter>, - <parameter><link linkend="cairo-surface-t"><type>cairo_surface_t</type></link> *surface</parameter>, - <parameter><link linkend="double"><type>double</type></link> surface_x</parameter>, - <parameter><link linkend="double"><type>double</type></link> surface_y</parameter>);</programlisting> -<para>A drawing operator that paints the current source -using the alpha channel of <parameter>surface</parameter> - as a mask. (Opaque -areas of <parameter>surface</parameter> - are painted with the source, transparent -areas are not painted.)</para> -<refsect3 id="cairo-mask-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>cr</para></entry> -<entry role="parameter_description"><para>a cairo context</para></entry> -<entry role="parameter_annotations"></entry></row> -<row><entry role="parameter_name"><para>surface</para></entry> -<entry role="parameter_description"><para>a <link linkend="cairo-surface-t"><type>cairo_surface_t</type></link></para></entry> -<entry role="parameter_annotations"></entry></row> -<row><entry role="parameter_name"><para>surface_x</para></entry> -<entry role="parameter_description"><para>X coordinate at which to place the origin of <parameter>surface</parameter> -</para></entry> -<entry role="parameter_annotations"></entry></row> -<row><entry role="parameter_name"><para>surface_y</para></entry> -<entry role="parameter_description"><para>Y coordinate at which to place the origin of <parameter>surface</parameter> -</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-paint" role="function" condition="since:1.0"> -<title>cairo_paint ()</title> -<indexterm zone="cairo-paint" role="1.0"><primary sortas="paint">cairo_paint</primary></indexterm> -<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> -cairo_paint (<parameter><link linkend="cairo-t"><type>cairo_t</type></link> *cr</parameter>);</programlisting> -<para>A drawing operator that paints the current source everywhere within -the current clip region.</para> -<refsect3 id="cairo-paint.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>cr</para></entry> -<entry role="parameter_description"><para>a cairo context</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-paint-with-alpha" role="function" condition="since:1.0"> -<title>cairo_paint_with_alpha ()</title> -<indexterm zone="cairo-paint-with-alpha" role="1.0"><primary sortas="paint_with_alpha">cairo_paint_with_alpha</primary></indexterm> -<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> -cairo_paint_with_alpha (<parameter><link linkend="cairo-t"><type>cairo_t</type></link> *cr</parameter>, - <parameter><link linkend="double"><type>double</type></link> alpha</parameter>);</programlisting> -<para>A drawing operator that paints the current source everywhere within -the current clip region using a mask of constant alpha value -<parameter>alpha</parameter> -. The effect is similar to <link linkend="cairo-paint"><function>cairo_paint()</function></link>, but the drawing -is faded out using the alpha value.</para> -<refsect3 id="cairo-paint-with-alpha.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>cr</para></entry> -<entry role="parameter_description"><para>a cairo context</para></entry> -<entry role="parameter_annotations"></entry></row> -<row><entry role="parameter_name"><para>alpha</para></entry> -<entry role="parameter_description"><para>alpha value, between 0 (transparent) and 1 (opaque)</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-stroke" role="function" condition="since:1.0"> -<title>cairo_stroke ()</title> -<indexterm zone="cairo-stroke" role="1.0"><primary sortas="stroke">cairo_stroke</primary></indexterm> -<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> -cairo_stroke (<parameter><link linkend="cairo-t"><type>cairo_t</type></link> *cr</parameter>);</programlisting> -<para>A drawing operator that strokes the current path according to the -current line width, line join, line cap, and dash settings. After -<link linkend="cairo-stroke"><function>cairo_stroke()</function></link>, the current path will be cleared from the cairo -context. See <link linkend="cairo-set-line-width"><function>cairo_set_line_width()</function></link>, <link linkend="cairo-set-line-join"><function>cairo_set_line_join()</function></link>, -<link linkend="cairo-set-line-cap"><function>cairo_set_line_cap()</function></link>, <link linkend="cairo-set-dash"><function>cairo_set_dash()</function></link>, and -<link linkend="cairo-stroke-preserve"><function>cairo_stroke_preserve()</function></link>.</para> -<para>Note: Degenerate segments and sub-paths are treated specially and -provide a useful result. These can result in two different -situations:</para> -<orderedlist> -<listitem> -<para>Zero-length "on" segments set in <link linkend="cairo-set-dash"><function>cairo_set_dash()</function></link>. If the cap -style is <link linkend="CAIRO-LINE-CAP-ROUND:CAPS"><literal>CAIRO_LINE_CAP_ROUND</literal></link> or <link linkend="CAIRO-LINE-CAP-SQUARE:CAPS"><literal>CAIRO_LINE_CAP_SQUARE</literal></link> then these -segments will be drawn as circular dots or squares respectively. In -the case of <link linkend="CAIRO-LINE-CAP-SQUARE:CAPS"><literal>CAIRO_LINE_CAP_SQUARE</literal></link>, the orientation of the squares -is determined by the direction of the underlying path.</para> -</listitem> -<listitem> -<para>A sub-path created by <link linkend="cairo-move-to"><function>cairo_move_to()</function></link> followed by either a -<link linkend="cairo-close-path"><function>cairo_close_path()</function></link> or one or more calls to <link linkend="cairo-line-to"><function>cairo_line_to()</function></link> to the -same coordinate as the <link linkend="cairo-move-to"><function>cairo_move_to()</function></link>. If the cap style is -<link linkend="CAIRO-LINE-CAP-ROUND:CAPS"><literal>CAIRO_LINE_CAP_ROUND</literal></link> then these sub-paths will be drawn as circular -dots. Note that in the case of <link linkend="CAIRO-LINE-CAP-SQUARE:CAPS"><literal>CAIRO_LINE_CAP_SQUARE</literal></link> a degenerate -sub-path will not be drawn at all, (since the correct orientation -is indeterminate).</para> -</listitem> -</orderedlist> -<para>In no case will a cap style of <link linkend="CAIRO-LINE-CAP-BUTT:CAPS"><literal>CAIRO_LINE_CAP_BUTT</literal></link> cause anything -to be drawn in the case of either degenerate segments or sub-paths.</para> -<refsect3 id="cairo-stroke.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>cr</para></entry> -<entry role="parameter_description"><para>a cairo context</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-stroke-preserve" role="function" condition="since:1.0"> -<title>cairo_stroke_preserve ()</title> -<indexterm zone="cairo-stroke-preserve" role="1.0"><primary sortas="stroke_preserve">cairo_stroke_preserve</primary></indexterm> -<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> -cairo_stroke_preserve (<parameter><link linkend="cairo-t"><type>cairo_t</type></link> *cr</parameter>);</programlisting> -<para>A drawing operator that strokes the current path according to the -current line width, line join, line cap, and dash settings. Unlike -<link linkend="cairo-stroke"><function>cairo_stroke()</function></link>, <link linkend="cairo-stroke-preserve"><function>cairo_stroke_preserve()</function></link> preserves the path within the -cairo context.</para> -<para>See <link linkend="cairo-set-line-width"><function>cairo_set_line_width()</function></link>, <link linkend="cairo-set-line-join"><function>cairo_set_line_join()</function></link>, -<link linkend="cairo-set-line-cap"><function>cairo_set_line_cap()</function></link>, <link linkend="cairo-set-dash"><function>cairo_set_dash()</function></link>, and -<link linkend="cairo-stroke-preserve"><function>cairo_stroke_preserve()</function></link>.</para> -<refsect3 id="cairo-stroke-preserve.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>cr</para></entry> -<entry role="parameter_description"><para>a cairo context</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-stroke-extents" role="function" condition="since:1.0"> -<title>cairo_stroke_extents ()</title> -<indexterm zone="cairo-stroke-extents" role="1.0"><primary sortas="stroke_extents">cairo_stroke_extents</primary></indexterm> -<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> -cairo_stroke_extents (<parameter><link linkend="cairo-t"><type>cairo_t</type></link> *cr</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>);</programlisting> -<para>Computes a bounding box in user coordinates covering the area that -would be affected, (the "inked" area), by a <link linkend="cairo-stroke"><function>cairo_stroke()</function></link> -operation given the current path and stroke parameters. -If the current path is empty, returns an empty rectangle ((0,0), (0,0)). -Surface dimensions and clipping are not taken into account.</para> -<para>Note that if the line width is set to exactly zero, then -<link linkend="cairo-stroke-extents"><function>cairo_stroke_extents()</function></link> will return an empty rectangle. Contrast with -<link linkend="cairo-path-extents"><function>cairo_path_extents()</function></link> which can be used to compute the non-empty -bounds as the line width approaches zero.</para> -<para>Note that <link linkend="cairo-stroke-extents"><function>cairo_stroke_extents()</function></link> must necessarily do more work to -compute the precise inked areas in light of the stroke parameters, -so <link linkend="cairo-path-extents"><function>cairo_path_extents()</function></link> may be more desirable for sake of -performance if non-inked path extents are desired.</para> -<para>See <link linkend="cairo-stroke"><function>cairo_stroke()</function></link>, <link linkend="cairo-set-line-width"><function>cairo_set_line_width()</function></link>, <link linkend="cairo-set-line-join"><function>cairo_set_line_join()</function></link>, -<link linkend="cairo-set-line-cap"><function>cairo_set_line_cap()</function></link>, <link linkend="cairo-set-dash"><function>cairo_set_dash()</function></link>, and -<link linkend="cairo-stroke-preserve"><function>cairo_stroke_preserve()</function></link>.</para> -<refsect3 id="cairo-stroke-extents.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>cr</para></entry> -<entry role="parameter_description"><para>a cairo context</para></entry> -<entry role="parameter_annotations"></entry></row> -<row><entry role="parameter_name"><para>x1</para></entry> -<entry role="parameter_description"><para>left of the resulting extents</para></entry> -<entry role="parameter_annotations"></entry></row> -<row><entry role="parameter_name"><para>y1</para></entry> -<entry role="parameter_description"><para>top of the resulting extents</para></entry> -<entry role="parameter_annotations"></entry></row> -<row><entry role="parameter_name"><para>x2</para></entry> -<entry role="parameter_description"><para>right of the resulting extents</para></entry> -<entry role="parameter_annotations"></entry></row> -<row><entry role="parameter_name"><para>y2</para></entry> -<entry role="parameter_description"><para>bottom of the resulting extents</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-in-stroke" role="function" condition="since:1.0"> -<title>cairo_in_stroke ()</title> -<indexterm zone="cairo-in-stroke" role="1.0"><primary sortas="in_stroke">cairo_in_stroke</primary></indexterm> -<programlisting language="C"><link linkend="cairo-bool-t"><returnvalue>cairo_bool_t</returnvalue></link> -cairo_in_stroke (<parameter><link linkend="cairo-t"><type>cairo_t</type></link> *cr</parameter>, - <parameter><link linkend="double"><type>double</type></link> x</parameter>, - <parameter><link linkend="double"><type>double</type></link> y</parameter>);</programlisting> -<para>Tests whether the given point is inside the area that would be -affected by a <link linkend="cairo-stroke"><function>cairo_stroke()</function></link> operation given the current path and -stroking parameters. Surface dimensions and clipping are not taken -into account.</para> -<para>See <link linkend="cairo-stroke"><function>cairo_stroke()</function></link>, <link linkend="cairo-set-line-width"><function>cairo_set_line_width()</function></link>, <link linkend="cairo-set-line-join"><function>cairo_set_line_join()</function></link>, -<link linkend="cairo-set-line-cap"><function>cairo_set_line_cap()</function></link>, <link linkend="cairo-set-dash"><function>cairo_set_dash()</function></link>, and -<link linkend="cairo-stroke-preserve"><function>cairo_stroke_preserve()</function></link>.</para> -<refsect3 id="cairo-in-stroke.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>cr</para></entry> -<entry role="parameter_description"><para>a cairo context</para></entry> -<entry role="parameter_annotations"></entry></row> -<row><entry role="parameter_name"><para>x</para></entry> -<entry role="parameter_description"><para>X coordinate of the point to test</para></entry> -<entry role="parameter_annotations"></entry></row> -<row><entry role="parameter_name"><para>y</para></entry> -<entry role="parameter_description"><para>Y coordinate of the point to test</para></entry> -<entry role="parameter_annotations"></entry></row> -</tbody></tgroup></informaltable> -</refsect3><refsect3 id="cairo-in-stroke.returns" role="returns"> -<title>Returns</title> -<para> A non-zero value if the point is inside, or zero if -outside.</para> -</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> -<refsect2 id="cairo-copy-page" role="function" condition="since:1.0"> -<title>cairo_copy_page ()</title> -<indexterm zone="cairo-copy-page" role="1.0"><primary sortas="copy_page">cairo_copy_page</primary></indexterm> -<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> -cairo_copy_page (<parameter><link linkend="cairo-t"><type>cairo_t</type></link> *cr</parameter>);</programlisting> -<para>Emits the current page for backends that support multiple pages, but -doesn't clear it, so, the contents of the current page will be retained -for the next page too. Use <link linkend="cairo-show-page"><function>cairo_show_page()</function></link> if you want to get an -empty page after the emission.</para> -<para>This is a convenience function that simply calls -<link linkend="cairo-surface-copy-page"><function>cairo_surface_copy_page()</function></link> on <parameter>cr</parameter> -'s target.</para> -<refsect3 id="cairo-copy-page.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>cr</para></entry> -<entry role="parameter_description"><para>a cairo context</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-show-page" role="function" condition="since:1.0"> -<title>cairo_show_page ()</title> -<indexterm zone="cairo-show-page" role="1.0"><primary sortas="show_page">cairo_show_page</primary></indexterm> -<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> -cairo_show_page (<parameter><link linkend="cairo-t"><type>cairo_t</type></link> *cr</parameter>);</programlisting> -<para>Emits and clears the current page for backends that support multiple -pages. Use <link linkend="cairo-copy-page"><function>cairo_copy_page()</function></link> if you don't want to clear the page.</para> -<para>This is a convenience function that simply calls -<link linkend="cairo-surface-show-page"><function>cairo_surface_show_page()</function></link> on <parameter>cr</parameter> -'s target.</para> -<refsect3 id="cairo-show-page.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>cr</para></entry> -<entry role="parameter_description"><para>a cairo context</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-get-reference-count" role="function" condition="since:1.4"> -<title>cairo_get_reference_count ()</title> -<indexterm zone="cairo-get-reference-count" role="1.4"><primary sortas="get_reference_count">cairo_get_reference_count</primary></indexterm> -<programlisting language="C">unsigned <link linkend="int"><returnvalue>int</returnvalue></link> -cairo_get_reference_count (<parameter><link linkend="cairo-t"><type>cairo_t</type></link> *cr</parameter>);</programlisting> -<para>Returns the current reference count of <parameter>cr</parameter> -.</para> -<refsect3 id="cairo-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>cr</para></entry> -<entry role="parameter_description"><para>a <link linkend="cairo-t"><type>cairo_t</type></link></para></entry> -<entry role="parameter_annotations"></entry></row> -</tbody></tgroup></informaltable> -</refsect3><refsect3 id="cairo-get-reference-count.returns" role="returns"> -<title>Returns</title> -<para> the current reference count of <parameter>cr</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-set-user-data" role="function" condition="since:1.4"> -<title>cairo_set_user_data ()</title> -<indexterm zone="cairo-set-user-data" role="1.4"><primary sortas="set_user_data">cairo_set_user_data</primary></indexterm> -<programlisting language="C"><link linkend="cairo-status-t"><returnvalue>cairo_status_t</returnvalue></link> -cairo_set_user_data (<parameter><link linkend="cairo-t"><type>cairo_t</type></link> *cr</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>cr</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-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>cr</para></entry> -<entry role="parameter_description"><para>a <link linkend="cairo-t"><type>cairo_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-t"><type>cairo_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-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-get-user-data" role="function" condition="since:1.4"> -<title>cairo_get_user_data ()</title> -<indexterm zone="cairo-get-user-data" role="1.4"><primary sortas="get_user_data">cairo_get_user_data</primary></indexterm> -<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> * -cairo_get_user_data (<parameter><link linkend="cairo-t"><type>cairo_t</type></link> *cr</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>cr</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-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>cr</para></entry> -<entry role="parameter_description"><para>a <link linkend="cairo-t"><type>cairo_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-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-t.other_details" role="details"> -<title role="details.title">Types and Values</title> -<refsect2 id="cairo-t" role="typedef" condition="since:1.0"> -<title>cairo_t</title> -<indexterm zone="cairo-t" role="1.0"><primary sortas="t">cairo_t</primary></indexterm> -<programlisting language="C">typedef struct _cairo cairo_t; -</programlisting> -<para>A <link linkend="cairo-t"><type>cairo_t</type></link> contains the current state of the rendering device, -including coordinates of yet to be drawn shapes.</para> -<para>Cairo contexts, as <link linkend="cairo-t"><type>cairo_t</type></link> objects are named, are central to -cairo and all drawing with cairo is always done to a <link linkend="cairo-t"><type>cairo_t</type></link> -object.</para> -<para>Memory management of <link linkend="cairo-t"><type>cairo_t</type></link> is done with -<link linkend="cairo-reference"><function>cairo_reference()</function></link> and <link linkend="cairo-destroy"><function>cairo_destroy()</function></link>.</para> -<para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> -<refsect2 id="cairo-antialias-t" role="enum" condition="since:1.0"> -<title>enum cairo_antialias_t</title> -<indexterm zone="cairo-antialias-t" role="1.0"><primary sortas="antialias_t">cairo_antialias_t</primary></indexterm> -<para>Specifies the type of antialiasing to do when rendering text or shapes.</para> -<para>As it is not necessarily clear from the above what advantages a particular -antialias method provides, since 1.12, there is also a set of hints: -<parameter>CAIRO_ANTIALIAS_FAST</parameter> -: Allow the backend to degrade raster quality for speed -<parameter>CAIRO_ANTIALIAS_GOOD</parameter> -: A balance between speed and quality -<parameter>CAIRO_ANTIALIAS_BEST</parameter> -: A high-fidelity, but potentially slow, raster mode</para> -<para>These make no guarantee on how the backend will perform its rasterisation -(if it even rasterises!), nor that they have any differing effect other -than to enable some form of antialiasing. In the case of glyph rendering, -<parameter>CAIRO_ANTIALIAS_FAST</parameter> - and <parameter>CAIRO_ANTIALIAS_GOOD</parameter> - will be mapped to -<parameter>CAIRO_ANTIALIAS_GRAY</parameter> -, with <parameter>CAIRO_ANTALIAS_BEST</parameter> - being equivalent to -<parameter>CAIRO_ANTIALIAS_SUBPIXEL</parameter> -.</para> -<para>The interpretation of <parameter>CAIRO_ANTIALIAS_DEFAULT</parameter> - is left entirely up to -the backend, typically this will be similar to <parameter>CAIRO_ANTIALIAS_GOOD</parameter> -.</para> -<refsect3 id="cairo-antialias-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-ANTIALIAS-DEFAULT:CAPS">CAIRO_ANTIALIAS_DEFAULT</para></entry> -<entry role="enum_member_description"><para>Use the default antialiasing for - the subsystem and target device, since 1.0</para> -</entry> -<entry role="enum_member_annotations"></entry> -</row> -<row role="constant"><entry role="enum_member_name"><para id="CAIRO-ANTIALIAS-NONE:CAPS">CAIRO_ANTIALIAS_NONE</para></entry> -<entry role="enum_member_description"><para>Use a bilevel alpha mask, since 1.0</para> -</entry> -<entry role="enum_member_annotations"></entry> -</row> -<row role="constant"><entry role="enum_member_name"><para id="CAIRO-ANTIALIAS-GRAY:CAPS">CAIRO_ANTIALIAS_GRAY</para></entry> -<entry role="enum_member_description"><para>Perform single-color antialiasing (using - shades of gray for black text on a white background, for example), since 1.0</para> -</entry> -<entry role="enum_member_annotations"></entry> -</row> -<row role="constant"><entry role="enum_member_name"><para id="CAIRO-ANTIALIAS-SUBPIXEL:CAPS">CAIRO_ANTIALIAS_SUBPIXEL</para></entry> -<entry role="enum_member_description"><para>Perform antialiasing by taking - advantage of the order of subpixel elements on devices - such as LCD panels, since 1.0</para> -</entry> -<entry role="enum_member_annotations"></entry> -</row> -<row role="constant"><entry role="enum_member_name"><para id="CAIRO-ANTIALIAS-FAST:CAPS">CAIRO_ANTIALIAS_FAST</para></entry> -<entry role="enum_member_description"><para>Hint that the backend should perform some -antialiasing but prefer speed over quality, since 1.12</para> -</entry> -<entry role="enum_member_annotations"></entry> -</row> -<row role="constant"><entry role="enum_member_name"><para id="CAIRO-ANTIALIAS-GOOD:CAPS">CAIRO_ANTIALIAS_GOOD</para></entry> -<entry role="enum_member_description"><para>The backend should balance quality against -performance, since 1.12</para> -</entry> -<entry role="enum_member_annotations"></entry> -</row> -<row role="constant"><entry role="enum_member_name"><para id="CAIRO-ANTIALIAS-BEST:CAPS">CAIRO_ANTIALIAS_BEST</para></entry> -<entry role="enum_member_description"><para>Hint that the backend should render at the highest -quality, sacrificing speed if necessary, 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.0">1.0</link></para></refsect2> -<refsect2 id="cairo-fill-rule-t" role="enum" condition="since:1.0"> -<title>enum cairo_fill_rule_t</title> -<indexterm zone="cairo-fill-rule-t" role="1.0"><primary sortas="fill_rule_t">cairo_fill_rule_t</primary></indexterm> -<para><link linkend="cairo-fill-rule-t"><type>cairo_fill_rule_t</type></link> is used to select how paths are filled. For both -fill rules, whether or not a point is included in the fill is -determined by taking a ray from that point to infinity and looking -at intersections with the path. The ray can be in any direction, -as long as it doesn't pass through the end point of a segment -or have a tricky intersection such as intersecting tangent to the path. -(Note that filling is not actually implemented in this way. This -is just a description of the rule that is applied.)</para> -<para>The default fill rule is <link linkend="CAIRO-FILL-RULE-WINDING:CAPS"><literal>CAIRO_FILL_RULE_WINDING</literal></link>.</para> -<para>New entries may be added in future versions.</para> -<refsect3 id="cairo-fill-rule-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-FILL-RULE-WINDING:CAPS">CAIRO_FILL_RULE_WINDING</para></entry> -<entry role="enum_member_description"><para>If the path crosses the ray from -left-to-right, counts +1. If the path crosses the ray -from right to left, counts -1. (Left and right are determined -from the perspective of looking along the ray from the starting -point.) If the total count is non-zero, the point will be filled. (Since 1.0)</para> -</entry> -<entry role="enum_member_annotations"></entry> -</row> -<row role="constant"><entry role="enum_member_name"><para id="CAIRO-FILL-RULE-EVEN-ODD:CAPS">CAIRO_FILL_RULE_EVEN_ODD</para></entry> -<entry role="enum_member_description"><para>Counts the total number of -intersections, without regard to the orientation of the contour. If -the total number of intersections is odd, the point will be -filled. (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-line-cap-t" role="enum" condition="since:1.0"> -<title>enum cairo_line_cap_t</title> -<indexterm zone="cairo-line-cap-t" role="1.0"><primary sortas="line_cap_t">cairo_line_cap_t</primary></indexterm> -<para>Specifies how to render the endpoints of the path when stroking.</para> -<para>The default line cap style is <link linkend="CAIRO-LINE-CAP-BUTT:CAPS"><literal>CAIRO_LINE_CAP_BUTT</literal></link>.</para> -<refsect3 id="cairo-line-cap-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-LINE-CAP-BUTT:CAPS">CAIRO_LINE_CAP_BUTT</para></entry> -<entry role="enum_member_description"><para>start(stop) the line exactly at the start(end) point (Since 1.0)</para> -</entry> -<entry role="enum_member_annotations"></entry> -</row> -<row role="constant"><entry role="enum_member_name"><para id="CAIRO-LINE-CAP-ROUND:CAPS">CAIRO_LINE_CAP_ROUND</para></entry> -<entry role="enum_member_description"><para>use a round ending, the center of the circle is the end point (Since 1.0)</para> -</entry> -<entry role="enum_member_annotations"></entry> -</row> -<row role="constant"><entry role="enum_member_name"><para id="CAIRO-LINE-CAP-SQUARE:CAPS">CAIRO_LINE_CAP_SQUARE</para></entry> -<entry role="enum_member_description"><para>use squared ending, the center of the square is the end point (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-line-join-t" role="enum" condition="since:1.0"> -<title>enum cairo_line_join_t</title> -<indexterm zone="cairo-line-join-t" role="1.0"><primary sortas="line_join_t">cairo_line_join_t</primary></indexterm> -<para>Specifies how to render the junction of two lines when stroking.</para> -<para>The default line join style is <link linkend="CAIRO-LINE-JOIN-MITER:CAPS"><literal>CAIRO_LINE_JOIN_MITER</literal></link>.</para> -<refsect3 id="cairo-line-join-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-LINE-JOIN-MITER:CAPS">CAIRO_LINE_JOIN_MITER</para></entry> -<entry role="enum_member_description"><para>use a sharp (angled) corner, see -<link linkend="cairo-set-miter-limit"><function>cairo_set_miter_limit()</function></link> (Since 1.0)</para> -</entry> -<entry role="enum_member_annotations"></entry> -</row> -<row role="constant"><entry role="enum_member_name"><para id="CAIRO-LINE-JOIN-ROUND:CAPS">CAIRO_LINE_JOIN_ROUND</para></entry> -<entry role="enum_member_description"><para>use a rounded join, the center of the circle is the -joint point (Since 1.0)</para> -</entry> -<entry role="enum_member_annotations"></entry> -</row> -<row role="constant"><entry role="enum_member_name"><para id="CAIRO-LINE-JOIN-BEVEL:CAPS">CAIRO_LINE_JOIN_BEVEL</para></entry> -<entry role="enum_member_description"><para>use a cut-off join, the join is cut off at half -the line width from the joint point (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-operator-t" role="enum" condition="since:1.0"> -<title>enum cairo_operator_t</title> -<indexterm zone="cairo-operator-t" role="1.0"><primary sortas="operator_t">cairo_operator_t</primary></indexterm> -<para><link linkend="cairo-operator-t"><type>cairo_operator_t</type></link> is used to set the compositing operator for all cairo -drawing operations.</para> -<para>The default operator is <link linkend="CAIRO-OPERATOR-OVER:CAPS"><literal>CAIRO_OPERATOR_OVER</literal></link>.</para> -<para>The operators marked as <firstterm>unbounded</firstterm> modify their -destination even outside of the mask layer (that is, their effect is not -bound by the mask layer). However, their effect can still be limited by -way of clipping.</para> -<para>To keep things simple, the operator descriptions here -document the behavior for when both source and destination are either fully -transparent or fully opaque. The actual implementation works for -translucent layers too. -For a more detailed explanation of the effects of each operator, including -the mathematical definitions, see</para> -<ulink url="https://cairographics.org/operators/">https://cairographics.org/operators/</ulink>. -<refsect3 id="cairo-operator-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-OPERATOR-CLEAR:CAPS">CAIRO_OPERATOR_CLEAR</para></entry> -<entry role="enum_member_description"><para>clear destination layer (bounded) (Since 1.0)</para> -</entry> -<entry role="enum_member_annotations"></entry> -</row> -<row role="constant"><entry role="enum_member_name"><para id="CAIRO-OPERATOR-SOURCE:CAPS">CAIRO_OPERATOR_SOURCE</para></entry> -<entry role="enum_member_description"><para>replace destination layer (bounded) (Since 1.0)</para> -</entry> -<entry role="enum_member_annotations"></entry> -</row> -<row role="constant"><entry role="enum_member_name"><para id="CAIRO-OPERATOR-OVER:CAPS">CAIRO_OPERATOR_OVER</para></entry> -<entry role="enum_member_description"><para>draw source layer on top of destination layer -(bounded) (Since 1.0)</para> -</entry> -<entry role="enum_member_annotations"></entry> -</row> -<row role="constant"><entry role="enum_member_name"><para id="CAIRO-OPERATOR-IN:CAPS">CAIRO_OPERATOR_IN</para></entry> -<entry role="enum_member_description"><para>draw source where there was destination content -(unbounded) (Since 1.0)</para> -</entry> -<entry role="enum_member_annotations"></entry> -</row> -<row role="constant"><entry role="enum_member_name"><para id="CAIRO-OPERATOR-OUT:CAPS">CAIRO_OPERATOR_OUT</para></entry> -<entry role="enum_member_description"><para>draw source where there was no destination -content (unbounded) (Since 1.0)</para> -</entry> -<entry role="enum_member_annotations"></entry> -</row> -<row role="constant"><entry role="enum_member_name"><para id="CAIRO-OPERATOR-ATOP:CAPS">CAIRO_OPERATOR_ATOP</para></entry> -<entry role="enum_member_description"><para>draw source on top of destination content and -only there (Since 1.0)</para> -</entry> -<entry role="enum_member_annotations"></entry> -</row> -<row role="constant"><entry role="enum_member_name"><para id="CAIRO-OPERATOR-DEST:CAPS">CAIRO_OPERATOR_DEST</para></entry> -<entry role="enum_member_description"><para>ignore the source (Since 1.0)</para> -</entry> -<entry role="enum_member_annotations"></entry> -</row> -<row role="constant"><entry role="enum_member_name"><para id="CAIRO-OPERATOR-DEST-OVER:CAPS">CAIRO_OPERATOR_DEST_OVER</para></entry> -<entry role="enum_member_description"><para>draw destination on top of source (Since 1.0)</para> -</entry> -<entry role="enum_member_annotations"></entry> -</row> -<row role="constant"><entry role="enum_member_name"><para id="CAIRO-OPERATOR-DEST-IN:CAPS">CAIRO_OPERATOR_DEST_IN</para></entry> -<entry role="enum_member_description"><para>leave destination only where there was -source content (unbounded) (Since 1.0)</para> -</entry> -<entry role="enum_member_annotations"></entry> -</row> -<row role="constant"><entry role="enum_member_name"><para id="CAIRO-OPERATOR-DEST-OUT:CAPS">CAIRO_OPERATOR_DEST_OUT</para></entry> -<entry role="enum_member_description"><para>leave destination only where there was no -source content (Since 1.0)</para> -</entry> -<entry role="enum_member_annotations"></entry> -</row> -<row role="constant"><entry role="enum_member_name"><para id="CAIRO-OPERATOR-DEST-ATOP:CAPS">CAIRO_OPERATOR_DEST_ATOP</para></entry> -<entry role="enum_member_description"><para>leave destination on top of source content -and only there (unbounded) (Since 1.0)</para> -</entry> -<entry role="enum_member_annotations"></entry> -</row> -<row role="constant"><entry role="enum_member_name"><para id="CAIRO-OPERATOR-XOR:CAPS">CAIRO_OPERATOR_XOR</para></entry> -<entry role="enum_member_description"><para>source and destination are shown where there is only -one of them (Since 1.0)</para> -</entry> -<entry role="enum_member_annotations"></entry> -</row> -<row role="constant"><entry role="enum_member_name"><para id="CAIRO-OPERATOR-ADD:CAPS">CAIRO_OPERATOR_ADD</para></entry> -<entry role="enum_member_description"><para>source and destination layers are accumulated (Since 1.0)</para> -</entry> -<entry role="enum_member_annotations"></entry> -</row> -<row role="constant"><entry role="enum_member_name"><para id="CAIRO-OPERATOR-SATURATE:CAPS">CAIRO_OPERATOR_SATURATE</para></entry> -<entry role="enum_member_description"><para>like over, but assuming source and dest are -disjoint geometries (Since 1.0)</para> -</entry> -<entry role="enum_member_annotations"></entry> -</row> -<row role="constant"><entry role="enum_member_name"><para id="CAIRO-OPERATOR-MULTIPLY:CAPS">CAIRO_OPERATOR_MULTIPLY</para></entry> -<entry role="enum_member_description"><para>source and destination layers are multiplied. -This causes the result to be at least as dark as the darker inputs. (Since 1.10)</para> -</entry> -<entry role="enum_member_annotations"></entry> -</row> -<row role="constant"><entry role="enum_member_name"><para id="CAIRO-OPERATOR-SCREEN:CAPS">CAIRO_OPERATOR_SCREEN</para></entry> -<entry role="enum_member_description"><para>source and destination are complemented and -multiplied. This causes the result to be at least as light as the lighter -inputs. (Since 1.10)</para> -</entry> -<entry role="enum_member_annotations"></entry> -</row> -<row role="constant"><entry role="enum_member_name"><para id="CAIRO-OPERATOR-OVERLAY:CAPS">CAIRO_OPERATOR_OVERLAY</para></entry> -<entry role="enum_member_description"><para>multiplies or screens, depending on the -lightness of the destination color. (Since 1.10)</para> -</entry> -<entry role="enum_member_annotations"></entry> -</row> -<row role="constant"><entry role="enum_member_name"><para id="CAIRO-OPERATOR-DARKEN:CAPS">CAIRO_OPERATOR_DARKEN</para></entry> -<entry role="enum_member_description"><para>replaces the destination with the source if it -is darker, otherwise keeps the source. (Since 1.10)</para> -</entry> -<entry role="enum_member_annotations"></entry> -</row> -<row role="constant"><entry role="enum_member_name"><para id="CAIRO-OPERATOR-LIGHTEN:CAPS">CAIRO_OPERATOR_LIGHTEN</para></entry> -<entry role="enum_member_description"><para>replaces the destination with the source if it -is lighter, otherwise keeps the source. (Since 1.10)</para> -</entry> -<entry role="enum_member_annotations"></entry> -</row> -<row role="constant"><entry role="enum_member_name"><para id="CAIRO-OPERATOR-COLOR-DODGE:CAPS">CAIRO_OPERATOR_COLOR_DODGE</para></entry> -<entry role="enum_member_description"><para>brightens the destination color to reflect -the source color. (Since 1.10)</para> -</entry> -<entry role="enum_member_annotations"></entry> -</row> -<row role="constant"><entry role="enum_member_name"><para id="CAIRO-OPERATOR-COLOR-BURN:CAPS">CAIRO_OPERATOR_COLOR_BURN</para></entry> -<entry role="enum_member_description"><para>darkens the destination color to reflect -the source color. (Since 1.10)</para> -</entry> -<entry role="enum_member_annotations"></entry> -</row> -<row role="constant"><entry role="enum_member_name"><para id="CAIRO-OPERATOR-HARD-LIGHT:CAPS">CAIRO_OPERATOR_HARD_LIGHT</para></entry> -<entry role="enum_member_description"><para>Multiplies or screens, dependent on source -color. (Since 1.10)</para> -</entry> -<entry role="enum_member_annotations"></entry> -</row> -<row role="constant"><entry role="enum_member_name"><para id="CAIRO-OPERATOR-SOFT-LIGHT:CAPS">CAIRO_OPERATOR_SOFT_LIGHT</para></entry> -<entry role="enum_member_description"><para>Darkens or lightens, dependent on source -color. (Since 1.10)</para> -</entry> -<entry role="enum_member_annotations"></entry> -</row> -<row role="constant"><entry role="enum_member_name"><para id="CAIRO-OPERATOR-DIFFERENCE:CAPS">CAIRO_OPERATOR_DIFFERENCE</para></entry> -<entry role="enum_member_description"><para>Takes the difference of the source and -destination color. (Since 1.10)</para> -</entry> -<entry role="enum_member_annotations"></entry> -</row> -<row role="constant"><entry role="enum_member_name"><para id="CAIRO-OPERATOR-EXCLUSION:CAPS">CAIRO_OPERATOR_EXCLUSION</para></entry> -<entry role="enum_member_description"><para>Produces an effect similar to difference, but -with lower contrast. (Since 1.10)</para> -</entry> -<entry role="enum_member_annotations"></entry> -</row> -<row role="constant"><entry role="enum_member_name"><para id="CAIRO-OPERATOR-HSL-HUE:CAPS">CAIRO_OPERATOR_HSL_HUE</para></entry> -<entry role="enum_member_description"><para>Creates a color with the hue of the source -and the saturation and luminosity of the target. (Since 1.10)</para> -</entry> -<entry role="enum_member_annotations"></entry> -</row> -<row role="constant"><entry role="enum_member_name"><para id="CAIRO-OPERATOR-HSL-SATURATION:CAPS">CAIRO_OPERATOR_HSL_SATURATION</para></entry> -<entry role="enum_member_description"><para>Creates a color with the saturation -of the source and the hue and luminosity of the target. Painting with -this mode onto a gray area produces no change. (Since 1.10)</para> -</entry> -<entry role="enum_member_annotations"></entry> -</row> -<row role="constant"><entry role="enum_member_name"><para id="CAIRO-OPERATOR-HSL-COLOR:CAPS">CAIRO_OPERATOR_HSL_COLOR</para></entry> -<entry role="enum_member_description"><para>Creates a color with the hue and saturation -of the source and the luminosity of the target. This preserves the gray -levels of the target and is useful for coloring monochrome images or -tinting color images. (Since 1.10)</para> -</entry> -<entry role="enum_member_annotations"></entry> -</row> -<row role="constant"><entry role="enum_member_name"><para id="CAIRO-OPERATOR-HSL-LUMINOSITY:CAPS">CAIRO_OPERATOR_HSL_LUMINOSITY</para></entry> -<entry role="enum_member_description"><para>Creates a color with the luminosity of -the source and the hue and saturation of the target. This produces an -inverse effect to <parameter>CAIRO_OPERATOR_HSL_COLOR</parameter> -. (Since 1.10)</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-rectangle-t" role="struct" condition="since:1.4"> -<title>cairo_rectangle_t</title> -<indexterm zone="cairo-rectangle-t" role="1.4"><primary sortas="rectangle_t">cairo_rectangle_t</primary></indexterm> -<programlisting language="C">typedef struct { - double x, y, width, height; -} cairo_rectangle_t; -</programlisting> -<para>A data structure for holding a rectangle.</para> -<refsect3 id="cairo-rectangle-t.members" role="struct_members"> -<title>Members</title> -<informaltable role="struct_members_table" pgwide="1" frame="none"> -<tgroup cols="3"> -<colspec colname="struct_members_name" colwidth="300px"/> -<colspec colname="struct_members_description"/> -<colspec colname="struct_members_annotations" colwidth="200px"/> -<tbody> -<row role="member"><entry role="struct_member_name"><para><link linkend="double"><type>double</type></link> <structfield id="cairo-rectangle-t.x">x</structfield>;</para></entry> -<entry role="struct_member_description"><para>X coordinate of the left side of the rectangle</para></entry> -<entry role="struct_member_annotations"></entry> -</row> -<row role="member"><entry role="struct_member_name"><para><link linkend="double"><type>double</type></link> <structfield id="cairo-rectangle-t.y">y</structfield>;</para></entry> -<entry role="struct_member_description"><para>Y coordinate of the the top side of the rectangle</para></entry> -<entry role="struct_member_annotations"></entry> -</row> -<row role="member"><entry role="struct_member_name"><para><link linkend="double"><type>double</type></link> <structfield id="cairo-rectangle-t.width">width</structfield>;</para></entry> -<entry role="struct_member_description"><para>width of the rectangle</para></entry> -<entry role="struct_member_annotations"></entry> -</row> -<row role="member"><entry role="struct_member_name"><para><link linkend="double"><type>double</type></link> <structfield id="cairo-rectangle-t.height">height</structfield>;</para></entry> -<entry role="struct_member_description"><para>height of the rectangle</para></entry> -<entry role="struct_member_annotations"></entry> -</row> -</tbody></tgroup></informaltable> -</refsect3> -<para role="since">Since: <link linkend="api-index-1.4">1.4</link></para></refsect2> -<refsect2 id="cairo-rectangle-list-t" role="struct" condition="since:1.4"> -<title>cairo_rectangle_list_t</title> -<indexterm zone="cairo-rectangle-list-t" role="1.4"><primary sortas="rectangle_list_t">cairo_rectangle_list_t</primary></indexterm> -<programlisting language="C">typedef struct { - cairo_status_t status; - cairo_rectangle_t *rectangles; - int num_rectangles; -} cairo_rectangle_list_t; -</programlisting> -<para>A data structure for holding a dynamically allocated -array of rectangles.</para> -<refsect3 id="cairo-rectangle-list-t.members" role="struct_members"> -<title>Members</title> -<informaltable role="struct_members_table" pgwide="1" frame="none"> -<tgroup cols="3"> -<colspec colname="struct_members_name" colwidth="300px"/> -<colspec colname="struct_members_description"/> -<colspec colname="struct_members_annotations" colwidth="200px"/> -<tbody> -<row role="member"><entry role="struct_member_name"><para><link linkend="cairo-status-t"><type>cairo_status_t</type></link> <structfield id="cairo-rectangle-list-t.status">status</structfield>;</para></entry> -<entry role="struct_member_description"><para>Error status of the rectangle list</para></entry> -<entry role="struct_member_annotations"></entry> -</row> -<row role="member"><entry role="struct_member_name"><para><link linkend="cairo-rectangle-t"><type>cairo_rectangle_t</type></link> *<structfield id="cairo-rectangle-list-t.rectangles">rectangles</structfield>;</para></entry> -<entry role="struct_member_description"><para>Array containing the rectangles</para></entry> -<entry role="struct_member_annotations"></entry> -</row> -<row role="member"><entry role="struct_member_name"><para><link linkend="int"><type>int</type></link> <structfield id="cairo-rectangle-list-t.num-rectangles">num_rectangles</structfield>;</para></entry> -<entry role="struct_member_description"><para>Number of rectangles in this list</para></entry> -<entry role="struct_member_annotations"></entry> -</row> -</tbody></tgroup></informaltable> -</refsect3> -<para role="since">Since: <link linkend="api-index-1.4">1.4</link></para></refsect2> - -</refsect1> -<refsect1 id="cairo-cairo-t.see-also"> -<title>See Also</title> -<para><link linkend="cairo-surface-t"><type>cairo_surface_t</type></link></para> - -</refsect1> - -</refentry> |