summaryrefslogtreecommitdiff
path: root/doc/public/xml/cairo-region.xml
diff options
context:
space:
mode:
Diffstat (limited to 'doc/public/xml/cairo-region.xml')
-rw-r--r--doc/public/xml/cairo-region.xml819
1 files changed, 819 insertions, 0 deletions
diff --git a/doc/public/xml/cairo-region.xml b/doc/public/xml/cairo-region.xml
new file mode 100644
index 000000000..02a8de0a9
--- /dev/null
+++ b/doc/public/xml/cairo-region.xml
@@ -0,0 +1,819 @@
+<?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-Regions">
+<refmeta>
+<refentrytitle role="top_of_page" id="cairo-Regions.top_of_page">Regions</refentrytitle>
+<manvolnum>3</manvolnum>
+<refmiscinfo>
+ CAIRO Library
+</refmiscinfo>
+</refmeta>
+<refnamediv>
+<refname>Regions</refname>
+<refpurpose>Representing a pixel-aligned area</refpurpose>
+</refnamediv>
+
+<refsect1 id="cairo-Regions.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-region-t"><returnvalue>cairo_region_t</returnvalue></link>&#160;*
+</entry><entry role="function_name"><link linkend="cairo-region-create">cairo_region_create</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
+<row><entry role="function_type"><link linkend="cairo-region-t"><returnvalue>cairo_region_t</returnvalue></link>&#160;*
+</entry><entry role="function_name"><link linkend="cairo-region-create-rectangle">cairo_region_create_rectangle</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
+<row><entry role="function_type"><link linkend="cairo-region-t"><returnvalue>cairo_region_t</returnvalue></link>&#160;*
+</entry><entry role="function_name"><link linkend="cairo-region-create-rectangles">cairo_region_create_rectangles</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
+<row><entry role="function_type"><link linkend="cairo-region-t"><returnvalue>cairo_region_t</returnvalue></link>&#160;*
+</entry><entry role="function_name"><link linkend="cairo-region-copy">cairo_region_copy</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
+<row><entry role="function_type"><link linkend="cairo-region-t"><returnvalue>cairo_region_t</returnvalue></link>&#160;*
+</entry><entry role="function_name"><link linkend="cairo-region-reference">cairo_region_reference</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
+<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
+</entry><entry role="function_name"><link linkend="cairo-region-destroy">cairo_region_destroy</link>&#160;<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-region-status">cairo_region_status</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
+<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
+</entry><entry role="function_name"><link linkend="cairo-region-get-extents">cairo_region_get_extents</link>&#160;<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-region-num-rectangles">cairo_region_num_rectangles</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
+<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
+</entry><entry role="function_name"><link linkend="cairo-region-get-rectangle">cairo_region_get_rectangle</link>&#160;<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-region-is-empty">cairo_region_is_empty</link>&#160;<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-region-contains-point">cairo_region_contains_point</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
+<row><entry role="function_type"><link linkend="cairo-region-overlap-t"><returnvalue>cairo_region_overlap_t</returnvalue></link>
+</entry><entry role="function_name"><link linkend="cairo-region-contains-rectangle">cairo_region_contains_rectangle</link>&#160;<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-region-equal">cairo_region_equal</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
+<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
+</entry><entry role="function_name"><link linkend="cairo-region-translate">cairo_region_translate</link>&#160;<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-region-intersect">cairo_region_intersect</link>&#160;<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-region-intersect-rectangle">cairo_region_intersect_rectangle</link>&#160;<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-region-subtract">cairo_region_subtract</link>&#160;<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-region-subtract-rectangle">cairo_region_subtract_rectangle</link>&#160;<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-region-union">cairo_region_union</link>&#160;<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-region-union-rectangle">cairo_region_union_rectangle</link>&#160;<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-region-xor">cairo_region_xor</link>&#160;<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-region-xor-rectangle">cairo_region_xor_rectangle</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
+
+</tbody>
+</tgroup>
+</informaltable>
+</refsect1>
+<refsect1 id="cairo-Regions.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-region-t">cairo_region_t</link></entry></row>
+<row><entry role="datatype_keyword">enum</entry><entry role="function_name"><link linkend="cairo-region-overlap-t">cairo_region_overlap_t</link></entry></row>
+
+</tbody>
+</tgroup>
+</informaltable>
+</refsect1>
+<refsect1 id="cairo-Regions.object-hierarchy" role="object_hierarchy">
+<title role="object_hierarchy.title">Object Hierarchy</title>
+<screen>
+</screen>
+</refsect1>
+
+
+<refsect1 id="cairo-Regions.description" role="desc">
+<title role="desc.title">Description</title>
+<para>Regions are a simple graphical data type representing an area of
+integer-aligned rectangles. They are often used on raster surfaces
+to track areas of interest, such as change or clip areas.</para>
+
+</refsect1>
+<refsect1 id="cairo-Regions.functions_details" role="details">
+<title role="details.title">Functions</title>
+<refsect2 id="cairo-region-create" role="function" condition="since:1.10">
+<title>cairo_region_create&#160;()</title>
+<indexterm zone="cairo-region-create" role="1.10"><primary sortas="region_create">cairo_region_create</primary></indexterm>
+<programlisting language="C"><link linkend="cairo-region-t"><returnvalue>cairo_region_t</returnvalue></link>&#160;*
+cairo_region_create (<parameter><type>void</type></parameter>);</programlisting>
+<para>Allocates a new empty region object.</para>
+<refsect3 role="returns">
+<title>Returns</title>
+<para> A newly allocated <link linkend="cairo-region-t"><type>cairo_region_t</type></link>. Free with
+<link linkend="cairo-region-destroy"><function>cairo_region_destroy()</function></link>. This function always returns a
+valid pointer; if memory cannot be allocated, then a special
+error object is returned where all operations on the object do nothing.
+You can check for this with <link linkend="cairo-region-status"><function>cairo_region_status()</function></link>.</para>
+<para></para>
+</refsect3><para role="since">Since 1.10</para></refsect2>
+<refsect2 id="cairo-region-create-rectangle" role="function" condition="since:1.10">
+<title>cairo_region_create_rectangle&#160;()</title>
+<indexterm zone="cairo-region-create-rectangle" role="1.10"><primary sortas="region_create_rectangle">cairo_region_create_rectangle</primary></indexterm>
+<programlisting language="C"><link linkend="cairo-region-t"><returnvalue>cairo_region_t</returnvalue></link>&#160;*
+cairo_region_create_rectangle (<parameter>const <link linkend="cairo-rectangle-int-t"><type>cairo_rectangle_int_t</type></link> *rectangle</parameter>);</programlisting>
+<para>Allocates a new region object containing <parameter>rectangle</parameter>
+.</para>
+<refsect3 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</para></entry>
+<entry role="parameter_description"><para>a <link linkend="cairo-rectangle-int-t"><type>cairo_rectangle_int_t</type></link></para></entry>
+<entry role="parameter_annotations"></entry></row>
+</tbody></tgroup></informaltable>
+</refsect3><refsect3 role="returns">
+<title>Returns</title>
+<para> A newly allocated <link linkend="cairo-region-t"><type>cairo_region_t</type></link>. Free with
+<link linkend="cairo-region-destroy"><function>cairo_region_destroy()</function></link>. This function always returns a
+valid pointer; if memory cannot be allocated, then a special
+error object is returned where all operations on the object do nothing.
+You can check for this with <link linkend="cairo-region-status"><function>cairo_region_status()</function></link>.</para>
+<para></para>
+</refsect3><para role="since">Since 1.10</para></refsect2>
+<refsect2 id="cairo-region-create-rectangles" role="function" condition="since:1.10">
+<title>cairo_region_create_rectangles&#160;()</title>
+<indexterm zone="cairo-region-create-rectangles" role="1.10"><primary sortas="region_create_rectangles">cairo_region_create_rectangles</primary></indexterm>
+<programlisting language="C"><link linkend="cairo-region-t"><returnvalue>cairo_region_t</returnvalue></link>&#160;*
+cairo_region_create_rectangles (<parameter>const <link linkend="cairo-rectangle-int-t"><type>cairo_rectangle_int_t</type></link> *rects</parameter>,
+ <parameter><link linkend="int"><type>int</type></link> count</parameter>);</programlisting>
+<para>Allocates a new region object containing the union of all given <parameter>rects</parameter>
+.</para>
+<refsect3 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>rects</para></entry>
+<entry role="parameter_description"><para>an array of <parameter>count</parameter>
+rectangles</para></entry>
+<entry role="parameter_annotations"></entry></row>
+<row><entry role="parameter_name"><para>count</para></entry>
+<entry role="parameter_description"><para>number of rectangles</para></entry>
+<entry role="parameter_annotations"></entry></row>
+</tbody></tgroup></informaltable>
+</refsect3><refsect3 role="returns">
+<title>Returns</title>
+<para> A newly allocated <link linkend="cairo-region-t"><type>cairo_region_t</type></link>. Free with
+<link linkend="cairo-region-destroy"><function>cairo_region_destroy()</function></link>. This function always returns a
+valid pointer; if memory cannot be allocated, then a special
+error object is returned where all operations on the object do nothing.
+You can check for this with <link linkend="cairo-region-status"><function>cairo_region_status()</function></link>.</para>
+<para></para>
+</refsect3><para role="since">Since 1.10</para></refsect2>
+<refsect2 id="cairo-region-copy" role="function" condition="since:1.10">
+<title>cairo_region_copy&#160;()</title>
+<indexterm zone="cairo-region-copy" role="1.10"><primary sortas="region_copy">cairo_region_copy</primary></indexterm>
+<programlisting language="C"><link linkend="cairo-region-t"><returnvalue>cairo_region_t</returnvalue></link>&#160;*
+cairo_region_copy (<parameter>const <link linkend="cairo-region-t"><type>cairo_region_t</type></link> *original</parameter>);</programlisting>
+<para>Allocates a new region object copying the area from <parameter>original</parameter>
+.</para>
+<refsect3 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>original</para></entry>
+<entry role="parameter_description"><para>a <link linkend="cairo-region-t"><type>cairo_region_t</type></link></para></entry>
+<entry role="parameter_annotations"></entry></row>
+</tbody></tgroup></informaltable>
+</refsect3><refsect3 role="returns">
+<title>Returns</title>
+<para> A newly allocated <link linkend="cairo-region-t"><type>cairo_region_t</type></link>. Free with
+<link linkend="cairo-region-destroy"><function>cairo_region_destroy()</function></link>. This function always returns a
+valid pointer; if memory cannot be allocated, then a special
+error object is returned where all operations on the object do nothing.
+You can check for this with <link linkend="cairo-region-status"><function>cairo_region_status()</function></link>.</para>
+<para></para>
+</refsect3><para role="since">Since 1.10</para></refsect2>
+<refsect2 id="cairo-region-reference" role="function" condition="since:1.10">
+<title>cairo_region_reference&#160;()</title>
+<indexterm zone="cairo-region-reference" role="1.10"><primary sortas="region_reference">cairo_region_reference</primary></indexterm>
+<programlisting language="C"><link linkend="cairo-region-t"><returnvalue>cairo_region_t</returnvalue></link>&#160;*
+cairo_region_reference (<parameter><link linkend="cairo-region-t"><type>cairo_region_t</type></link> *region</parameter>);</programlisting>
+<para>Increases the reference count on <parameter>region</parameter>
+ by one. This prevents
+<parameter>region</parameter>
+ from being destroyed until a matching call to
+<link linkend="cairo-region-destroy"><function>cairo_region_destroy()</function></link> is made.</para>
+<refsect3 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>region</para></entry>
+<entry role="parameter_description"><para>a <link linkend="cairo-region-t"><type>cairo_region_t</type></link></para></entry>
+<entry role="parameter_annotations"></entry></row>
+</tbody></tgroup></informaltable>
+</refsect3><refsect3 role="returns">
+<title>Returns</title>
+<para> the referenced <link linkend="cairo-region-t"><type>cairo_region_t</type></link>.</para>
+<para></para>
+</refsect3><para role="since">Since 1.10</para></refsect2>
+<refsect2 id="cairo-region-destroy" role="function" condition="since:1.10">
+<title>cairo_region_destroy&#160;()</title>
+<indexterm zone="cairo-region-destroy" role="1.10"><primary sortas="region_destroy">cairo_region_destroy</primary></indexterm>
+<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
+cairo_region_destroy (<parameter><link linkend="cairo-region-t"><type>cairo_region_t</type></link> *region</parameter>);</programlisting>
+<para>Destroys a <link linkend="cairo-region-t"><type>cairo_region_t</type></link> object created with
+<link linkend="cairo-region-create"><function>cairo_region_create()</function></link>, <link linkend="cairo-region-copy"><function>cairo_region_copy()</function></link>, or
+or <link linkend="cairo-region-create-rectangle"><function>cairo_region_create_rectangle()</function></link>.</para>
+<refsect3 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>region</para></entry>
+<entry role="parameter_description"><para>a <link linkend="cairo-region-t"><type>cairo_region_t</type></link></para></entry>
+<entry role="parameter_annotations"></entry></row>
+</tbody></tgroup></informaltable>
+</refsect3><para role="since">Since 1.10</para></refsect2>
+<refsect2 id="cairo-region-status" role="function" condition="since:1.10">
+<title>cairo_region_status&#160;()</title>
+<indexterm zone="cairo-region-status" role="1.10"><primary sortas="region_status">cairo_region_status</primary></indexterm>
+<programlisting language="C"><link linkend="cairo-status-t"><returnvalue>cairo_status_t</returnvalue></link>
+cairo_region_status (<parameter>const <link linkend="cairo-region-t"><type>cairo_region_t</type></link> *region</parameter>);</programlisting>
+<para>Checks whether an error has previous occurred for this
+region object.</para>
+<refsect3 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>region</para></entry>
+<entry role="parameter_description"><para>a <link linkend="cairo-region-t"><type>cairo_region_t</type></link></para></entry>
+<entry role="parameter_annotations"></entry></row>
+</tbody></tgroup></informaltable>
+</refsect3><refsect3 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></para>
+<para></para>
+</refsect3><para role="since">Since 1.10</para></refsect2>
+<refsect2 id="cairo-region-get-extents" role="function" condition="since:1.10">
+<title>cairo_region_get_extents&#160;()</title>
+<indexterm zone="cairo-region-get-extents" role="1.10"><primary sortas="region_get_extents">cairo_region_get_extents</primary></indexterm>
+<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
+cairo_region_get_extents (<parameter>const <link linkend="cairo-region-t"><type>cairo_region_t</type></link> *region</parameter>,
+ <parameter><link linkend="cairo-rectangle-int-t"><type>cairo_rectangle_int_t</type></link> *extents</parameter>);</programlisting>
+<para>Gets the bounding rectangle of <parameter>region</parameter>
+ as a <link linkend="cairo-rectangle-int-t"><type>cairo_rectangle_int_t</type></link></para>
+<refsect3 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>region</para></entry>
+<entry role="parameter_description"><para>a <link linkend="cairo-region-t"><type>cairo_region_t</type></link></para></entry>
+<entry role="parameter_annotations"></entry></row>
+<row><entry role="parameter_name"><para>extents</para></entry>
+<entry role="parameter_description"><para>rectangle into which to store the extents</para></entry>
+<entry role="parameter_annotations"></entry></row>
+</tbody></tgroup></informaltable>
+</refsect3><para role="since">Since 1.10</para></refsect2>
+<refsect2 id="cairo-region-num-rectangles" role="function" condition="since:1.10">
+<title>cairo_region_num_rectangles&#160;()</title>
+<indexterm zone="cairo-region-num-rectangles" role="1.10"><primary sortas="region_num_rectangles">cairo_region_num_rectangles</primary></indexterm>
+<programlisting language="C"><link linkend="int"><returnvalue>int</returnvalue></link>
+cairo_region_num_rectangles (<parameter>const <link linkend="cairo-region-t"><type>cairo_region_t</type></link> *region</parameter>);</programlisting>
+<para>Returns the number of rectangles contained in <parameter>region</parameter>
+.</para>
+<refsect3 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>region</para></entry>
+<entry role="parameter_description"><para>a <link linkend="cairo-region-t"><type>cairo_region_t</type></link></para></entry>
+<entry role="parameter_annotations"></entry></row>
+</tbody></tgroup></informaltable>
+</refsect3><refsect3 role="returns">
+<title>Returns</title>
+<para> The number of rectangles contained in <parameter>region</parameter>
+.</para>
+<para></para>
+</refsect3><para role="since">Since 1.10</para></refsect2>
+<refsect2 id="cairo-region-get-rectangle" role="function" condition="since:1.10">
+<title>cairo_region_get_rectangle&#160;()</title>
+<indexterm zone="cairo-region-get-rectangle" role="1.10"><primary sortas="region_get_rectangle">cairo_region_get_rectangle</primary></indexterm>
+<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
+cairo_region_get_rectangle (<parameter>const <link linkend="cairo-region-t"><type>cairo_region_t</type></link> *region</parameter>,
+ <parameter><link linkend="int"><type>int</type></link> nth</parameter>,
+ <parameter><link linkend="cairo-rectangle-int-t"><type>cairo_rectangle_int_t</type></link> *rectangle</parameter>);</programlisting>
+<para>Stores the <parameter>nth</parameter>
+ rectangle from the region in <parameter>rectangle</parameter>
+.</para>
+<refsect3 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>region</para></entry>
+<entry role="parameter_description"><para>a <link linkend="cairo-region-t"><type>cairo_region_t</type></link></para></entry>
+<entry role="parameter_annotations"></entry></row>
+<row><entry role="parameter_name"><para>nth</para></entry>
+<entry role="parameter_description"><para>a number indicating which rectangle should be returned</para></entry>
+<entry role="parameter_annotations"></entry></row>
+<row><entry role="parameter_name"><para>rectangle</para></entry>
+<entry role="parameter_description"><para>return location for a <link linkend="cairo-rectangle-int-t"><type>cairo_rectangle_int_t</type></link></para></entry>
+<entry role="parameter_annotations"></entry></row>
+</tbody></tgroup></informaltable>
+</refsect3><para role="since">Since 1.10</para></refsect2>
+<refsect2 id="cairo-region-is-empty" role="function" condition="since:1.10">
+<title>cairo_region_is_empty&#160;()</title>
+<indexterm zone="cairo-region-is-empty" role="1.10"><primary sortas="region_is_empty">cairo_region_is_empty</primary></indexterm>
+<programlisting language="C"><link linkend="cairo-bool-t"><returnvalue>cairo_bool_t</returnvalue></link>
+cairo_region_is_empty (<parameter>const <link linkend="cairo-region-t"><type>cairo_region_t</type></link> *region</parameter>);</programlisting>
+<para>Checks whether <parameter>region</parameter>
+ is empty.</para>
+<refsect3 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>region</para></entry>
+<entry role="parameter_description"><para>a <link linkend="cairo-region-t"><type>cairo_region_t</type></link></para></entry>
+<entry role="parameter_annotations"></entry></row>
+</tbody></tgroup></informaltable>
+</refsect3><refsect3 role="returns">
+<title>Returns</title>
+<para> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if <parameter>region</parameter>
+is empty, <link linkend="FALSE:CAPS"><literal>FALSE</literal></link> if it isn't.</para>
+<para></para>
+</refsect3><para role="since">Since 1.10</para></refsect2>
+<refsect2 id="cairo-region-contains-point" role="function" condition="since:1.10">
+<title>cairo_region_contains_point&#160;()</title>
+<indexterm zone="cairo-region-contains-point" role="1.10"><primary sortas="region_contains_point">cairo_region_contains_point</primary></indexterm>
+<programlisting language="C"><link linkend="cairo-bool-t"><returnvalue>cairo_bool_t</returnvalue></link>
+cairo_region_contains_point (<parameter>const <link linkend="cairo-region-t"><type>cairo_region_t</type></link> *region</parameter>,
+ <parameter><link linkend="int"><type>int</type></link> x</parameter>,
+ <parameter><link linkend="int"><type>int</type></link> y</parameter>);</programlisting>
+<para>Checks whether (<parameter>x</parameter>
+, <parameter>y</parameter>
+) is contained in <parameter>region</parameter>
+.</para>
+<refsect3 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>region</para></entry>
+<entry role="parameter_description"><para>a <link linkend="cairo-region-t"><type>cairo_region_t</type></link></para></entry>
+<entry role="parameter_annotations"></entry></row>
+<row><entry role="parameter_name"><para>x</para></entry>
+<entry role="parameter_description"><para>the x coordinate of a point</para></entry>
+<entry role="parameter_annotations"></entry></row>
+<row><entry role="parameter_name"><para>y</para></entry>
+<entry role="parameter_description"><para>the y coordinate of a point</para></entry>
+<entry role="parameter_annotations"></entry></row>
+</tbody></tgroup></informaltable>
+</refsect3><refsect3 role="returns">
+<title>Returns</title>
+<para> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if (<parameter>x</parameter>
+, <parameter>y</parameter>
+) is contained in <parameter>region</parameter>
+, <link linkend="FALSE:CAPS"><literal>FALSE</literal></link> if it is not.</para>
+<para></para>
+</refsect3><para role="since">Since 1.10</para></refsect2>
+<refsect2 id="cairo-region-contains-rectangle" role="function" condition="since:1.10">
+<title>cairo_region_contains_rectangle&#160;()</title>
+<indexterm zone="cairo-region-contains-rectangle" role="1.10"><primary sortas="region_contains_rectangle">cairo_region_contains_rectangle</primary></indexterm>
+<programlisting language="C"><link linkend="cairo-region-overlap-t"><returnvalue>cairo_region_overlap_t</returnvalue></link>
+cairo_region_contains_rectangle (<parameter>const <link linkend="cairo-region-t"><type>cairo_region_t</type></link> *region</parameter>,
+ <parameter>const <link linkend="cairo-rectangle-int-t"><type>cairo_rectangle_int_t</type></link> *rectangle</parameter>);</programlisting>
+<para>Checks whether <parameter>rectangle</parameter>
+ is inside, outside or partially contained
+in <parameter>region</parameter>
+</para>
+<refsect3 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>region</para></entry>
+<entry role="parameter_description"><para>a <link linkend="cairo-region-t"><type>cairo_region_t</type></link></para></entry>
+<entry role="parameter_annotations"></entry></row>
+<row><entry role="parameter_name"><para>rectangle</para></entry>
+<entry role="parameter_description"><para>a <link linkend="cairo-rectangle-int-t"><type>cairo_rectangle_int_t</type></link></para></entry>
+<entry role="parameter_annotations"></entry></row>
+</tbody></tgroup></informaltable>
+</refsect3><refsect3 role="returns">
+<title>Returns</title>
+<para> <link linkend="CAIRO-REGION-OVERLAP-IN:CAPS"><literal>CAIRO_REGION_OVERLAP_IN</literal></link> if <parameter>rectangle</parameter>
+is entirely inside <parameter>region</parameter>
+,
+<link linkend="CAIRO-REGION-OVERLAP-OUT:CAPS"><literal>CAIRO_REGION_OVERLAP_OUT</literal></link> if <parameter>rectangle</parameter>
+is entirely outside <parameter>region</parameter>
+, or
+<link linkend="CAIRO-REGION-OVERLAP-PART:CAPS"><literal>CAIRO_REGION_OVERLAP_PART</literal></link> if <parameter>rectangle</parameter>
+is partially inside and partially outside <parameter>region</parameter>
+.</para>
+<para></para>
+</refsect3><para role="since">Since 1.10</para></refsect2>
+<refsect2 id="cairo-region-equal" role="function" condition="since:1.10">
+<title>cairo_region_equal&#160;()</title>
+<indexterm zone="cairo-region-equal" role="1.10"><primary sortas="region_equal">cairo_region_equal</primary></indexterm>
+<programlisting language="C"><link linkend="cairo-bool-t"><returnvalue>cairo_bool_t</returnvalue></link>
+cairo_region_equal (<parameter>const <link linkend="cairo-region-t"><type>cairo_region_t</type></link> *a</parameter>,
+ <parameter>const <link linkend="cairo-region-t"><type>cairo_region_t</type></link> *b</parameter>);</programlisting>
+<para>Compares whether region_a is equivalent to region_b. <link linkend="NULL:CAPS"><literal>NULL</literal></link> as an argument
+is equal to itself, but not to any non-<link linkend="NULL:CAPS"><literal>NULL</literal></link> region.</para>
+<refsect3 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>a</para></entry>
+<entry role="parameter_description"><para>a <link linkend="cairo-region-t"><type>cairo_region_t</type></link> or <link linkend="NULL:CAPS"><literal>NULL</literal></link></para></entry>
+<entry role="parameter_annotations"></entry></row>
+<row><entry role="parameter_name"><para>b</para></entry>
+<entry role="parameter_description"><para>a <link linkend="cairo-region-t"><type>cairo_region_t</type></link> or <link linkend="NULL:CAPS"><literal>NULL</literal></link></para></entry>
+<entry role="parameter_annotations"></entry></row>
+</tbody></tgroup></informaltable>
+</refsect3><refsect3 role="returns">
+<title>Returns</title>
+<para> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if both regions contained the same coverage,
+<link linkend="FALSE:CAPS"><literal>FALSE</literal></link> if it is not or any region is in an error status.</para>
+<para></para>
+</refsect3><para role="since">Since 1.10</para></refsect2>
+<refsect2 id="cairo-region-translate" role="function" condition="since:1.10">
+<title>cairo_region_translate&#160;()</title>
+<indexterm zone="cairo-region-translate" role="1.10"><primary sortas="region_translate">cairo_region_translate</primary></indexterm>
+<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
+cairo_region_translate (<parameter><link linkend="cairo-region-t"><type>cairo_region_t</type></link> *region</parameter>,
+ <parameter><link linkend="int"><type>int</type></link> dx</parameter>,
+ <parameter><link linkend="int"><type>int</type></link> dy</parameter>);</programlisting>
+<para>Translates <parameter>region</parameter>
+ by (<parameter>dx</parameter>
+, <parameter>dy</parameter>
+).</para>
+<refsect3 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>region</para></entry>
+<entry role="parameter_description"><para>a <link linkend="cairo-region-t"><type>cairo_region_t</type></link></para></entry>
+<entry role="parameter_annotations"></entry></row>
+<row><entry role="parameter_name"><para>dx</para></entry>
+<entry role="parameter_description"><para>Amount to translate in the x direction</para></entry>
+<entry role="parameter_annotations"></entry></row>
+<row><entry role="parameter_name"><para>dy</para></entry>
+<entry role="parameter_description"><para>Amount to translate in the y direction</para></entry>
+<entry role="parameter_annotations"></entry></row>
+</tbody></tgroup></informaltable>
+</refsect3><para role="since">Since 1.10</para></refsect2>
+<refsect2 id="cairo-region-intersect" role="function" condition="since:1.10">
+<title>cairo_region_intersect&#160;()</title>
+<indexterm zone="cairo-region-intersect" role="1.10"><primary sortas="region_intersect">cairo_region_intersect</primary></indexterm>
+<programlisting language="C"><link linkend="cairo-status-t"><returnvalue>cairo_status_t</returnvalue></link>
+cairo_region_intersect (<parameter><link linkend="cairo-region-t"><type>cairo_region_t</type></link> *dst</parameter>,
+ <parameter>const <link linkend="cairo-region-t"><type>cairo_region_t</type></link> *other</parameter>);</programlisting>
+<para>Computes the intersection of <parameter>dst</parameter>
+ with <parameter>other</parameter>
+ and places the result in <parameter>dst</parameter>
+</para>
+<refsect3 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>dst</para></entry>
+<entry role="parameter_description"><para>a <link linkend="cairo-region-t"><type>cairo_region_t</type></link></para></entry>
+<entry role="parameter_annotations"></entry></row>
+<row><entry role="parameter_name"><para>other</para></entry>
+<entry role="parameter_description"><para>another <link linkend="cairo-region-t"><type>cairo_region_t</type></link></para></entry>
+<entry role="parameter_annotations"></entry></row>
+</tbody></tgroup></informaltable>
+</refsect3><refsect3 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></para>
+<para></para>
+</refsect3><para role="since">Since 1.10</para></refsect2>
+<refsect2 id="cairo-region-intersect-rectangle" role="function" condition="since:1.10">
+<title>cairo_region_intersect_rectangle&#160;()</title>
+<indexterm zone="cairo-region-intersect-rectangle" role="1.10"><primary sortas="region_intersect_rectangle">cairo_region_intersect_rectangle</primary></indexterm>
+<programlisting language="C"><link linkend="cairo-status-t"><returnvalue>cairo_status_t</returnvalue></link>
+cairo_region_intersect_rectangle (<parameter><link linkend="cairo-region-t"><type>cairo_region_t</type></link> *dst</parameter>,
+ <parameter>const <link linkend="cairo-rectangle-int-t"><type>cairo_rectangle_int_t</type></link> *rectangle</parameter>);</programlisting>
+<para>Computes the intersection of <parameter>dst</parameter>
+ with <parameter>rectangle</parameter>
+ and places the
+result in <parameter>dst</parameter>
+</para>
+<refsect3 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>dst</para></entry>
+<entry role="parameter_description"><para>a <link linkend="cairo-region-t"><type>cairo_region_t</type></link></para></entry>
+<entry role="parameter_annotations"></entry></row>
+<row><entry role="parameter_name"><para>rectangle</para></entry>
+<entry role="parameter_description"><para>a <link linkend="cairo-rectangle-int-t"><type>cairo_rectangle_int_t</type></link></para></entry>
+<entry role="parameter_annotations"></entry></row>
+</tbody></tgroup></informaltable>
+</refsect3><refsect3 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></para>
+<para></para>
+</refsect3><para role="since">Since 1.10</para></refsect2>
+<refsect2 id="cairo-region-subtract" role="function" condition="since:1.10">
+<title>cairo_region_subtract&#160;()</title>
+<indexterm zone="cairo-region-subtract" role="1.10"><primary sortas="region_subtract">cairo_region_subtract</primary></indexterm>
+<programlisting language="C"><link linkend="cairo-status-t"><returnvalue>cairo_status_t</returnvalue></link>
+cairo_region_subtract (<parameter><link linkend="cairo-region-t"><type>cairo_region_t</type></link> *dst</parameter>,
+ <parameter>const <link linkend="cairo-region-t"><type>cairo_region_t</type></link> *other</parameter>);</programlisting>
+<para>Subtracts <parameter>other</parameter>
+ from <parameter>dst</parameter>
+ and places the result in <parameter>dst</parameter>
+</para>
+<refsect3 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>dst</para></entry>
+<entry role="parameter_description"><para>a <link linkend="cairo-region-t"><type>cairo_region_t</type></link></para></entry>
+<entry role="parameter_annotations"></entry></row>
+<row><entry role="parameter_name"><para>other</para></entry>
+<entry role="parameter_description"><para>another <link linkend="cairo-region-t"><type>cairo_region_t</type></link></para></entry>
+<entry role="parameter_annotations"></entry></row>
+</tbody></tgroup></informaltable>
+</refsect3><refsect3 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></para>
+<para></para>
+</refsect3><para role="since">Since 1.10</para></refsect2>
+<refsect2 id="cairo-region-subtract-rectangle" role="function" condition="since:1.10">
+<title>cairo_region_subtract_rectangle&#160;()</title>
+<indexterm zone="cairo-region-subtract-rectangle" role="1.10"><primary sortas="region_subtract_rectangle">cairo_region_subtract_rectangle</primary></indexterm>
+<programlisting language="C"><link linkend="cairo-status-t"><returnvalue>cairo_status_t</returnvalue></link>
+cairo_region_subtract_rectangle (<parameter><link linkend="cairo-region-t"><type>cairo_region_t</type></link> *dst</parameter>,
+ <parameter>const <link linkend="cairo-rectangle-int-t"><type>cairo_rectangle_int_t</type></link> *rectangle</parameter>);</programlisting>
+<para>Subtracts <parameter>rectangle</parameter>
+ from <parameter>dst</parameter>
+ and places the result in <parameter>dst</parameter>
+</para>
+<refsect3 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>dst</para></entry>
+<entry role="parameter_description"><para>a <link linkend="cairo-region-t"><type>cairo_region_t</type></link></para></entry>
+<entry role="parameter_annotations"></entry></row>
+<row><entry role="parameter_name"><para>rectangle</para></entry>
+<entry role="parameter_description"><para>a <link linkend="cairo-rectangle-int-t"><type>cairo_rectangle_int_t</type></link></para></entry>
+<entry role="parameter_annotations"></entry></row>
+</tbody></tgroup></informaltable>
+</refsect3><refsect3 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></para>
+<para></para>
+</refsect3><para role="since">Since 1.10</para></refsect2>
+<refsect2 id="cairo-region-union" role="function" condition="since:1.10">
+<title>cairo_region_union&#160;()</title>
+<indexterm zone="cairo-region-union" role="1.10"><primary sortas="region_union">cairo_region_union</primary></indexterm>
+<programlisting language="C"><link linkend="cairo-status-t"><returnvalue>cairo_status_t</returnvalue></link>
+cairo_region_union (<parameter><link linkend="cairo-region-t"><type>cairo_region_t</type></link> *dst</parameter>,
+ <parameter>const <link linkend="cairo-region-t"><type>cairo_region_t</type></link> *other</parameter>);</programlisting>
+<para>Computes the union of <parameter>dst</parameter>
+ with <parameter>other</parameter>
+ and places the result in <parameter>dst</parameter>
+</para>
+<refsect3 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>dst</para></entry>
+<entry role="parameter_description"><para>a <link linkend="cairo-region-t"><type>cairo_region_t</type></link></para></entry>
+<entry role="parameter_annotations"></entry></row>
+<row><entry role="parameter_name"><para>other</para></entry>
+<entry role="parameter_description"><para>another <link linkend="cairo-region-t"><type>cairo_region_t</type></link></para></entry>
+<entry role="parameter_annotations"></entry></row>
+</tbody></tgroup></informaltable>
+</refsect3><refsect3 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></para>
+<para></para>
+</refsect3><para role="since">Since 1.10</para></refsect2>
+<refsect2 id="cairo-region-union-rectangle" role="function" condition="since:1.10">
+<title>cairo_region_union_rectangle&#160;()</title>
+<indexterm zone="cairo-region-union-rectangle" role="1.10"><primary sortas="region_union_rectangle">cairo_region_union_rectangle</primary></indexterm>
+<programlisting language="C"><link linkend="cairo-status-t"><returnvalue>cairo_status_t</returnvalue></link>
+cairo_region_union_rectangle (<parameter><link linkend="cairo-region-t"><type>cairo_region_t</type></link> *dst</parameter>,
+ <parameter>const <link linkend="cairo-rectangle-int-t"><type>cairo_rectangle_int_t</type></link> *rectangle</parameter>);</programlisting>
+<para>Computes the union of <parameter>dst</parameter>
+ with <parameter>rectangle</parameter>
+ and places the result in <parameter>dst</parameter>
+.</para>
+<refsect3 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>dst</para></entry>
+<entry role="parameter_description"><para>a <link linkend="cairo-region-t"><type>cairo_region_t</type></link></para></entry>
+<entry role="parameter_annotations"></entry></row>
+<row><entry role="parameter_name"><para>rectangle</para></entry>
+<entry role="parameter_description"><para>a <link linkend="cairo-rectangle-int-t"><type>cairo_rectangle_int_t</type></link></para></entry>
+<entry role="parameter_annotations"></entry></row>
+</tbody></tgroup></informaltable>
+</refsect3><refsect3 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></para>
+<para></para>
+</refsect3><para role="since">Since 1.10</para></refsect2>
+<refsect2 id="cairo-region-xor" role="function" condition="since:1.10">
+<title>cairo_region_xor&#160;()</title>
+<indexterm zone="cairo-region-xor" role="1.10"><primary sortas="region_xor">cairo_region_xor</primary></indexterm>
+<programlisting language="C"><link linkend="cairo-status-t"><returnvalue>cairo_status_t</returnvalue></link>
+cairo_region_xor (<parameter><link linkend="cairo-region-t"><type>cairo_region_t</type></link> *dst</parameter>,
+ <parameter>const <link linkend="cairo-region-t"><type>cairo_region_t</type></link> *other</parameter>);</programlisting>
+<para>Computes the exclusive difference of <parameter>dst</parameter>
+ with <parameter>other</parameter>
+ and places the
+result in <parameter>dst</parameter>
+. That is, <parameter>dst</parameter>
+ will be set to contain all areas that
+are either in <parameter>dst</parameter>
+ or in <parameter>other</parameter>
+, but not in both.</para>
+<refsect3 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>dst</para></entry>
+<entry role="parameter_description"><para>a <link linkend="cairo-region-t"><type>cairo_region_t</type></link></para></entry>
+<entry role="parameter_annotations"></entry></row>
+<row><entry role="parameter_name"><para>other</para></entry>
+<entry role="parameter_description"><para>another <link linkend="cairo-region-t"><type>cairo_region_t</type></link></para></entry>
+<entry role="parameter_annotations"></entry></row>
+</tbody></tgroup></informaltable>
+</refsect3><refsect3 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></para>
+<para></para>
+</refsect3><para role="since">Since 1.10</para></refsect2>
+<refsect2 id="cairo-region-xor-rectangle" role="function" condition="since:1.10">
+<title>cairo_region_xor_rectangle&#160;()</title>
+<indexterm zone="cairo-region-xor-rectangle" role="1.10"><primary sortas="region_xor_rectangle">cairo_region_xor_rectangle</primary></indexterm>
+<programlisting language="C"><link linkend="cairo-status-t"><returnvalue>cairo_status_t</returnvalue></link>
+cairo_region_xor_rectangle (<parameter><link linkend="cairo-region-t"><type>cairo_region_t</type></link> *dst</parameter>,
+ <parameter>const <link linkend="cairo-rectangle-int-t"><type>cairo_rectangle_int_t</type></link> *rectangle</parameter>);</programlisting>
+<para>Computes the exclusive difference of <parameter>dst</parameter>
+ with <parameter>rectangle</parameter>
+ and places the
+result in <parameter>dst</parameter>
+. That is, <parameter>dst</parameter>
+ will be set to contain all areas that are
+either in <parameter>dst</parameter>
+ or in <parameter>rectangle</parameter>
+, but not in both.</para>
+<refsect3 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>dst</para></entry>
+<entry role="parameter_description"><para>a <link linkend="cairo-region-t"><type>cairo_region_t</type></link></para></entry>
+<entry role="parameter_annotations"></entry></row>
+<row><entry role="parameter_name"><para>rectangle</para></entry>
+<entry role="parameter_description"><para>a <link linkend="cairo-rectangle-int-t"><type>cairo_rectangle_int_t</type></link></para></entry>
+<entry role="parameter_annotations"></entry></row>
+</tbody></tgroup></informaltable>
+</refsect3><refsect3 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></para>
+<para></para>
+</refsect3><para role="since">Since 1.10</para></refsect2>
+
+</refsect1>
+<refsect1 id="cairo-Regions.other_details" role="details">
+<title role="details.title">Types and Values</title>
+<refsect2 id="cairo-region-t" role="typedef" condition="since:1.10">
+<title>cairo_region_t</title>
+<indexterm zone="cairo-region-t" role="1.10"><primary sortas="region_t">cairo_region_t</primary></indexterm>
+<programlisting language="C">typedef struct _cairo_region cairo_region_t;
+</programlisting>
+<para>A <link linkend="cairo-region-t"><type>cairo_region_t</type></link> represents a set of integer-aligned rectangles.</para>
+<para>It allows set-theoretical operations like <link linkend="cairo-region-union"><function>cairo_region_union()</function></link> and
+<link linkend="cairo-region-intersect"><function>cairo_region_intersect()</function></link> to be performed on them.</para>
+<para>Memory management of <link linkend="cairo-region-t"><type>cairo_region_t</type></link> is done with
+<link linkend="cairo-region-reference"><function>cairo_region_reference()</function></link> and <link linkend="cairo-region-destroy"><function>cairo_region_destroy()</function></link>.</para>
+<para role="since">Since 1.10</para></refsect2>
+<refsect2 id="cairo-region-overlap-t" role="enum" condition="since:1.10">
+<title>enum cairo_region_overlap_t</title>
+<indexterm zone="cairo-region-overlap-t" role="1.10"><primary sortas="region_overlap_t">cairo_region_overlap_t</primary></indexterm>
+<para>Used as the return value for <link linkend="cairo-region-contains-rectangle"><function>cairo_region_contains_rectangle()</function></link>.</para>
+<refsect3 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-REGION-OVERLAP-IN:CAPS">CAIRO_REGION_OVERLAP_IN</para></entry>
+<entry role="enum_member_description"><para>The contents are entirely inside the region. (Since 1.10)</para>
+</entry>
+<entry role="enum_member_annotations"></entry>
+</row>
+<row role="constant"><entry role="enum_member_name"><para id="CAIRO-REGION-OVERLAP-OUT:CAPS">CAIRO_REGION_OVERLAP_OUT</para></entry>
+<entry role="enum_member_description"><para>The contents are entirely outside the region. (Since 1.10)</para>
+</entry>
+<entry role="enum_member_annotations"></entry>
+</row>
+<row role="constant"><entry role="enum_member_name"><para id="CAIRO-REGION-OVERLAP-PART:CAPS">CAIRO_REGION_OVERLAP_PART</para></entry>
+<entry role="enum_member_description"><para>The contents are partially inside and
+ partially outside the region. (Since 1.10)</para>
+</entry>
+<entry role="enum_member_annotations"></entry>
+</row>
+</tbody></tgroup></informaltable>
+</refsect3><para role="since">Since 1.10</para></refsect2>
+
+</refsect1>
+
+</refentry>