summaryrefslogtreecommitdiff
path: root/libs/cairo-1.16.0/doc/public/html/cairo-cairo-surface-t.html
diff options
context:
space:
mode:
Diffstat (limited to 'libs/cairo-1.16.0/doc/public/html/cairo-cairo-surface-t.html')
-rw-r--r--libs/cairo-1.16.0/doc/public/html/cairo-cairo-surface-t.html2130
1 files changed, 0 insertions, 2130 deletions
diff --git a/libs/cairo-1.16.0/doc/public/html/cairo-cairo-surface-t.html b/libs/cairo-1.16.0/doc/public/html/cairo-cairo-surface-t.html
deleted file mode 100644
index edfd7c3..0000000
--- a/libs/cairo-1.16.0/doc/public/html/cairo-cairo-surface-t.html
+++ /dev/null
@@ -1,2130 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>cairo_surface_t: Cairo: A Vector Graphics Library</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
-<link rel="home" href="index.html" title="Cairo: A Vector Graphics Library">
-<link rel="up" href="cairo-surfaces.html" title="Surfaces">
-<link rel="prev" href="cairo-cairo-device-t.html" title="cairo_device_t">
-<link rel="next" href="cairo-Image-Surfaces.html" title="Image Surfaces">
-<meta name="generator" content="GTK-Doc V1.27 (XML mode)">
-<link rel="stylesheet" href="style.css" type="text/css">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
-<td width="100%" align="left" class="shortcuts">
-<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
- <a href="#cairo-cairo-surface-t.description" class="shortcut">Description</a></span>
-</td>
-<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
-<td><a accesskey="u" href="cairo-surfaces.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
-<td><a accesskey="p" href="cairo-cairo-device-t.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="n" href="cairo-Image-Surfaces.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
-</tr></table>
-<div class="refentry">
-<a name="cairo-cairo-surface-t"></a><div class="titlepage"></div>
-<div class="refnamediv"><table width="100%"><tr>
-<td valign="top">
-<h2><span class="refentrytitle"><a name="cairo-cairo-surface-t.top_of_page"></a>cairo_surface_t</span></h2>
-<p>cairo_surface_t — Base class for surfaces</p>
-</td>
-<td class="gallery_image" valign="top" align="right"></td>
-</tr></table></div>
-<div class="refsect1">
-<a name="cairo-cairo-surface-t.functions"></a><h2>Functions</h2>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="150px" class="functions_return">
-<col class="functions_name">
-</colgroup>
-<tbody>
-<tr>
-<td class="function_type">
-<a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="returnvalue">cairo_surface_t</span></a> *
-</td>
-<td class="function_name">
-<a class="link" href="cairo-cairo-surface-t.html#cairo-surface-create-similar" title="cairo_surface_create_similar ()">cairo_surface_create_similar</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="returnvalue">cairo_surface_t</span></a> *
-</td>
-<td class="function_name">
-<a class="link" href="cairo-cairo-surface-t.html#cairo-surface-create-similar-image" title="cairo_surface_create_similar_image ()">cairo_surface_create_similar_image</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="returnvalue">cairo_surface_t</span></a> *
-</td>
-<td class="function_name">
-<a class="link" href="cairo-cairo-surface-t.html#cairo-surface-create-for-rectangle" title="cairo_surface_create_for_rectangle ()">cairo_surface_create_for_rectangle</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="returnvalue">cairo_surface_t</span></a> *
-</td>
-<td class="function_name">
-<a class="link" href="cairo-cairo-surface-t.html#cairo-surface-reference" title="cairo_surface_reference ()">cairo_surface_reference</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<span class="returnvalue">void</span>
-</td>
-<td class="function_name">
-<a class="link" href="cairo-cairo-surface-t.html#cairo-surface-destroy" title="cairo_surface_destroy ()">cairo_surface_destroy</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<a class="link" href="cairo-Error-handling.html#cairo-status-t" title="enum cairo_status_t"><span class="returnvalue">cairo_status_t</span></a>
-</td>
-<td class="function_name">
-<a class="link" href="cairo-cairo-surface-t.html#cairo-surface-status" title="cairo_surface_status ()">cairo_surface_status</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<span class="returnvalue">void</span>
-</td>
-<td class="function_name">
-<a class="link" href="cairo-cairo-surface-t.html#cairo-surface-finish" title="cairo_surface_finish ()">cairo_surface_finish</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<span class="returnvalue">void</span>
-</td>
-<td class="function_name">
-<a class="link" href="cairo-cairo-surface-t.html#cairo-surface-flush" title="cairo_surface_flush ()">cairo_surface_flush</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<a class="link" href="cairo-cairo-device-t.html#cairo-device-t" title="cairo_device_t"><span class="returnvalue">cairo_device_t</span></a> *
-</td>
-<td class="function_name">
-<a class="link" href="cairo-cairo-surface-t.html#cairo-surface-get-device" title="cairo_surface_get_device ()">cairo_surface_get_device</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<span class="returnvalue">void</span>
-</td>
-<td class="function_name">
-<a class="link" href="cairo-cairo-surface-t.html#cairo-surface-get-font-options" title="cairo_surface_get_font_options ()">cairo_surface_get_font_options</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<a class="link" href="cairo-cairo-surface-t.html#cairo-content-t" title="enum cairo_content_t"><span class="returnvalue">cairo_content_t</span></a>
-</td>
-<td class="function_name">
-<a class="link" href="cairo-cairo-surface-t.html#cairo-surface-get-content" title="cairo_surface_get_content ()">cairo_surface_get_content</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<span class="returnvalue">void</span>
-</td>
-<td class="function_name">
-<a class="link" href="cairo-cairo-surface-t.html#cairo-surface-mark-dirty" title="cairo_surface_mark_dirty ()">cairo_surface_mark_dirty</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<span class="returnvalue">void</span>
-</td>
-<td class="function_name">
-<a class="link" href="cairo-cairo-surface-t.html#cairo-surface-mark-dirty-rectangle" title="cairo_surface_mark_dirty_rectangle ()">cairo_surface_mark_dirty_rectangle</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<span class="returnvalue">void</span>
-</td>
-<td class="function_name">
-<a class="link" href="cairo-cairo-surface-t.html#cairo-surface-set-device-offset" title="cairo_surface_set_device_offset ()">cairo_surface_set_device_offset</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<span class="returnvalue">void</span>
-</td>
-<td class="function_name">
-<a class="link" href="cairo-cairo-surface-t.html#cairo-surface-get-device-offset" title="cairo_surface_get_device_offset ()">cairo_surface_get_device_offset</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<span class="returnvalue">void</span>
-</td>
-<td class="function_name">
-<a class="link" href="cairo-cairo-surface-t.html#cairo-surface-get-device-scale" title="cairo_surface_get_device_scale ()">cairo_surface_get_device_scale</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<span class="returnvalue">void</span>
-</td>
-<td class="function_name">
-<a class="link" href="cairo-cairo-surface-t.html#cairo-surface-set-device-scale" title="cairo_surface_set_device_scale ()">cairo_surface_set_device_scale</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<span class="returnvalue">void</span>
-</td>
-<td class="function_name">
-<a class="link" href="cairo-cairo-surface-t.html#cairo-surface-set-fallback-resolution" title="cairo_surface_set_fallback_resolution ()">cairo_surface_set_fallback_resolution</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<span class="returnvalue">void</span>
-</td>
-<td class="function_name">
-<a class="link" href="cairo-cairo-surface-t.html#cairo-surface-get-fallback-resolution" title="cairo_surface_get_fallback_resolution ()">cairo_surface_get_fallback_resolution</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<a class="link" href="cairo-cairo-surface-t.html#cairo-surface-type-t" title="enum cairo_surface_type_t"><span class="returnvalue">cairo_surface_type_t</span></a>
-</td>
-<td class="function_name">
-<a class="link" href="cairo-cairo-surface-t.html#cairo-surface-get-type" title="cairo_surface_get_type ()">cairo_surface_get_type</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">unsigned <span class="returnvalue">int</span>
-</td>
-<td class="function_name">
-<a class="link" href="cairo-cairo-surface-t.html#cairo-surface-get-reference-count" title="cairo_surface_get_reference_count ()">cairo_surface_get_reference_count</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<a class="link" href="cairo-Error-handling.html#cairo-status-t" title="enum cairo_status_t"><span class="returnvalue">cairo_status_t</span></a>
-</td>
-<td class="function_name">
-<a class="link" href="cairo-cairo-surface-t.html#cairo-surface-set-user-data" title="cairo_surface_set_user_data ()">cairo_surface_set_user_data</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<span class="returnvalue">void</span> *
-</td>
-<td class="function_name">
-<a class="link" href="cairo-cairo-surface-t.html#cairo-surface-get-user-data" title="cairo_surface_get_user_data ()">cairo_surface_get_user_data</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<span class="returnvalue">void</span>
-</td>
-<td class="function_name">
-<a class="link" href="cairo-cairo-surface-t.html#cairo-surface-copy-page" title="cairo_surface_copy_page ()">cairo_surface_copy_page</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<span class="returnvalue">void</span>
-</td>
-<td class="function_name">
-<a class="link" href="cairo-cairo-surface-t.html#cairo-surface-show-page" title="cairo_surface_show_page ()">cairo_surface_show_page</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<a class="link" href="cairo-Types.html#cairo-bool-t" title="cairo_bool_t"><span class="returnvalue">cairo_bool_t</span></a>
-</td>
-<td class="function_name">
-<a class="link" href="cairo-cairo-surface-t.html#cairo-surface-has-show-text-glyphs" title="cairo_surface_has_show_text_glyphs ()">cairo_surface_has_show_text_glyphs</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<a class="link" href="cairo-Error-handling.html#cairo-status-t" title="enum cairo_status_t"><span class="returnvalue">cairo_status_t</span></a>
-</td>
-<td class="function_name">
-<a class="link" href="cairo-cairo-surface-t.html#cairo-surface-set-mime-data" title="cairo_surface_set_mime_data ()">cairo_surface_set_mime_data</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<span class="returnvalue">void</span>
-</td>
-<td class="function_name">
-<a class="link" href="cairo-cairo-surface-t.html#cairo-surface-get-mime-data" title="cairo_surface_get_mime_data ()">cairo_surface_get_mime_data</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<a class="link" href="cairo-Types.html#cairo-bool-t" title="cairo_bool_t"><span class="returnvalue">cairo_bool_t</span></a>
-</td>
-<td class="function_name">
-<a class="link" href="cairo-cairo-surface-t.html#cairo-surface-supports-mime-type" title="cairo_surface_supports_mime_type ()">cairo_surface_supports_mime_type</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="returnvalue">cairo_surface_t</span></a> *
-</td>
-<td class="function_name">
-<a class="link" href="cairo-cairo-surface-t.html#cairo-surface-map-to-image" title="cairo_surface_map_to_image ()">cairo_surface_map_to_image</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<span class="returnvalue">void</span>
-</td>
-<td class="function_name">
-<a class="link" href="cairo-cairo-surface-t.html#cairo-surface-unmap-image" title="cairo_surface_unmap_image ()">cairo_surface_unmap_image</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect1">
-<a name="cairo-cairo-surface-t.other"></a><h2>Types and Values</h2>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="150px" class="name">
-<col class="description">
-</colgroup>
-<tbody>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name"><a class="link" href="cairo-cairo-surface-t.html#CAIRO-HAS-MIME-SURFACE:CAPS" title="CAIRO_HAS_MIME_SURFACE">CAIRO_HAS_MIME_SURFACE</a></td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name"><a class="link" href="cairo-cairo-surface-t.html#CAIRO-MIME-TYPE-CCITT-FAX:CAPS" title="CAIRO_MIME_TYPE_CCITT_FAX">CAIRO_MIME_TYPE_CCITT_FAX</a></td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name"><a class="link" href="cairo-cairo-surface-t.html#CAIRO-MIME-TYPE-CCITT-FAX-PARAMS:CAPS" title="CAIRO_MIME_TYPE_CCITT_FAX_PARAMS">CAIRO_MIME_TYPE_CCITT_FAX_PARAMS</a></td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name"><a class="link" href="cairo-cairo-surface-t.html#CAIRO-MIME-TYPE-EPS:CAPS" title="CAIRO_MIME_TYPE_EPS">CAIRO_MIME_TYPE_EPS</a></td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name"><a class="link" href="cairo-cairo-surface-t.html#CAIRO-MIME-TYPE-EPS-PARAMS:CAPS" title="CAIRO_MIME_TYPE_EPS_PARAMS">CAIRO_MIME_TYPE_EPS_PARAMS</a></td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name"><a class="link" href="cairo-cairo-surface-t.html#CAIRO-MIME-TYPE-JBIG2:CAPS" title="CAIRO_MIME_TYPE_JBIG2">CAIRO_MIME_TYPE_JBIG2</a></td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name"><a class="link" href="cairo-cairo-surface-t.html#CAIRO-MIME-TYPE-JBIG2-GLOBAL:CAPS" title="CAIRO_MIME_TYPE_JBIG2_GLOBAL">CAIRO_MIME_TYPE_JBIG2_GLOBAL</a></td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name"><a class="link" href="cairo-cairo-surface-t.html#CAIRO-MIME-TYPE-JBIG2-GLOBAL-ID:CAPS" title="CAIRO_MIME_TYPE_JBIG2_GLOBAL_ID">CAIRO_MIME_TYPE_JBIG2_GLOBAL_ID</a></td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name"><a class="link" href="cairo-cairo-surface-t.html#CAIRO-MIME-TYPE-JP2:CAPS" title="CAIRO_MIME_TYPE_JP2">CAIRO_MIME_TYPE_JP2</a></td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name"><a class="link" href="cairo-cairo-surface-t.html#CAIRO-MIME-TYPE-JPEG:CAPS" title="CAIRO_MIME_TYPE_JPEG">CAIRO_MIME_TYPE_JPEG</a></td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name"><a class="link" href="cairo-cairo-surface-t.html#CAIRO-MIME-TYPE-PNG:CAPS" title="CAIRO_MIME_TYPE_PNG">CAIRO_MIME_TYPE_PNG</a></td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name"><a class="link" href="cairo-cairo-surface-t.html#CAIRO-MIME-TYPE-URI:CAPS" title="CAIRO_MIME_TYPE_URI">CAIRO_MIME_TYPE_URI</a></td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name"><a class="link" href="cairo-cairo-surface-t.html#CAIRO-MIME-TYPE-UNIQUE-ID:CAPS" title="CAIRO_MIME_TYPE_UNIQUE_ID">CAIRO_MIME_TYPE_UNIQUE_ID</a></td>
-</tr>
-<tr>
-<td class="typedef_keyword">typedef</td>
-<td class="function_name"><a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t">cairo_surface_t</a></td>
-</tr>
-<tr>
-<td class="datatype_keyword">enum</td>
-<td class="function_name"><a class="link" href="cairo-cairo-surface-t.html#cairo-content-t" title="enum cairo_content_t">cairo_content_t</a></td>
-</tr>
-<tr>
-<td class="datatype_keyword">enum</td>
-<td class="function_name"><a class="link" href="cairo-cairo-surface-t.html#cairo-surface-type-t" title="enum cairo_surface_type_t">cairo_surface_type_t</a></td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect1">
-<a name="cairo-cairo-surface-t.description"></a><h2>Description</h2>
-<p><a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a> is the abstract type representing all different drawing
-targets that cairo can render to. The actual drawings are
-performed using a cairo <em class="firstterm">context</em>.</p>
-<p>A cairo surface is created by using <em class="firstterm">backend</em>-specific
-constructors, typically of the form
-<code class="function">cairo_<span class="emphasis"><em>backend</em></span>_surface_create()</code>.</p>
-<p>Most surface types allow accessing the surface without using Cairo
-functions. If you do this, keep in mind that it is mandatory that you call
-<a class="link" href="cairo-cairo-surface-t.html#cairo-surface-flush" title="cairo_surface_flush ()"><code class="function">cairo_surface_flush()</code></a> before reading from or writing to the surface and that
-you must use <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-mark-dirty" title="cairo_surface_mark_dirty ()"><code class="function">cairo_surface_mark_dirty()</code></a> after modifying it.</p>
-<div class="example">
-<a name="id-1.5.3.5.5"></a><p class="title"><b>Example 1. Directly modifying an image surface</b></p>
-<div class="example-contents">
- <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
- <tbody>
- <tr>
- <td class="listing_lines" align="right"><pre>1
-2
-3
-4
-5
-6
-7
-8
-9
-10
-11
-12
-13
-14
-15
-16
-17
-18
-19</pre></td>
- <td class="listing_code"><pre class="programlisting"><span class="gtkdoc kwb">void</span>
-<span class="function">modify_image_surface</span> <span class="gtkdoc opt">(</span>cairo_surface_t <span class="gtkdoc opt">*</span>surface<span class="gtkdoc opt">)</span>
-<span class="gtkdoc opt">{</span>
- <span class="gtkdoc kwb">unsigned char</span> <span class="gtkdoc opt">*</span>data<span class="gtkdoc opt">;</span>
- <span class="gtkdoc kwb">int</span> width<span class="gtkdoc opt">,</span> height<span class="gtkdoc opt">,</span> stride<span class="gtkdoc opt">;</span>
-
- <span class="gtkdoc slc">// flush to ensure all writing to the image was done</span>
- <span class="function"><a href="cairo-cairo-surface-t.html#cairo-surface-flush">cairo_surface_flush</a></span> <span class="gtkdoc opt">(</span>surface<span class="gtkdoc opt">);</span>
-
- <span class="gtkdoc slc">// modify the image</span>
- data <span class="gtkdoc opt">=</span> <span class="function"><a href="cairo-Image-Surfaces.html#cairo-image-surface-get-data">cairo_image_surface_get_data</a></span> <span class="gtkdoc opt">(</span>surface<span class="gtkdoc opt">);</span>
- width <span class="gtkdoc opt">=</span> <span class="function"><a href="cairo-Image-Surfaces.html#cairo-image-surface-get-width">cairo_image_surface_get_width</a></span> <span class="gtkdoc opt">(</span>surface<span class="gtkdoc opt">);</span>
- height <span class="gtkdoc opt">=</span> <span class="function"><a href="cairo-Image-Surfaces.html#cairo-image-surface-get-height">cairo_image_surface_get_height</a></span> <span class="gtkdoc opt">(</span>surface<span class="gtkdoc opt">);</span>
- stride <span class="gtkdoc opt">=</span> <span class="function"><a href="cairo-Image-Surfaces.html#cairo-image-surface-get-stride">cairo_image_surface_get_stride</a></span> <span class="gtkdoc opt">(</span>surface<span class="gtkdoc opt">);</span>
- <span class="function">modify_image_data</span> <span class="gtkdoc opt">(</span>data<span class="gtkdoc opt">,</span> width<span class="gtkdoc opt">,</span> height<span class="gtkdoc opt">,</span> stride<span class="gtkdoc opt">);</span>
-
- <span class="gtkdoc slc">// mark the image dirty so Cairo clears its caches.</span>
- <span class="function"><a href="cairo-cairo-surface-t.html#cairo-surface-mark-dirty">cairo_surface_mark_dirty</a></span> <span class="gtkdoc opt">(</span>surface<span class="gtkdoc opt">);</span>
-<span class="gtkdoc opt">}</span></pre></td>
- </tr>
- </tbody>
- </table>
-</div>
-
-</div>
-<br class="example-break"><p>Note that for other surface types it might be necessary to acquire the
-surface's device first. See <a class="link" href="cairo-cairo-device-t.html#cairo-device-acquire" title="cairo_device_acquire ()"><code class="function">cairo_device_acquire()</code></a> for a discussion of
-devices.</p>
-</div>
-<div class="refsect1">
-<a name="cairo-cairo-surface-t.functions_details"></a><h2>Functions</h2>
-<div class="refsect2">
-<a name="cairo-surface-create-similar"></a><h3>cairo_surface_create_similar ()</h3>
-<pre class="programlisting"><a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="returnvalue">cairo_surface_t</span></a> *
-cairo_surface_create_similar (<em class="parameter"><code><a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a> *other</code></em>,
- <em class="parameter"><code><a class="link" href="cairo-cairo-surface-t.html#cairo-content-t" title="enum cairo_content_t"><span class="type">cairo_content_t</span></a> content</code></em>,
- <em class="parameter"><code><span class="type">int</span> width</code></em>,
- <em class="parameter"><code><span class="type">int</span> height</code></em>);</pre>
-<p>Create a new surface that is as compatible as possible with an
-existing surface. For example the new surface will have the same
-device scale, fallback resolution and font options as
-<em class="parameter"><code>other</code></em>
-. Generally, the new surface will also use the same backend
-as <em class="parameter"><code>other</code></em>
-, unless that is not possible for some reason. The type of
-the returned surface may be examined with
-<a class="link" href="cairo-cairo-surface-t.html#cairo-surface-get-type" title="cairo_surface_get_type ()"><code class="function">cairo_surface_get_type()</code></a>.</p>
-<p>Initially the surface contents are all 0 (transparent if contents
-have transparency, black otherwise.)</p>
-<p>Use <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-create-similar-image" title="cairo_surface_create_similar_image ()"><code class="function">cairo_surface_create_similar_image()</code></a> if you need an image surface
-which can be painted quickly to the target surface.</p>
-<div class="refsect3">
-<a name="cairo-surface-create-similar.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="150px" class="parameters_name">
-<col class="parameters_description">
-<col width="200px" class="parameters_annotations">
-</colgroup>
-<tbody>
-<tr>
-<td class="parameter_name"><p>other</p></td>
-<td class="parameter_description"><p>an existing surface used to select the backend of the new surface</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>content</p></td>
-<td class="parameter_description"><p>the content for the new surface</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>width</p></td>
-<td class="parameter_description"><p>width of the new surface, (in device-space units)</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>height</p></td>
-<td class="parameter_description"><p>height of the new surface (in device-space units)</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="cairo-surface-create-similar.returns"></a><h4>Returns</h4>
-<p> a pointer to the newly allocated surface. The caller
-owns the surface and should call <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-destroy" title="cairo_surface_destroy ()"><code class="function">cairo_surface_destroy()</code></a> when done
-with it.</p>
-<p>This function always returns a valid pointer, but it will return a
-pointer to a "nil" surface if <em class="parameter"><code>other</code></em>
-is already in an error state
-or any other error occurs.</p>
-</div>
-<p class="since">Since: 1.0</p>
-</div>
-<hr>
-<div class="refsect2">
-<a name="cairo-surface-create-similar-image"></a><h3>cairo_surface_create_similar_image ()</h3>
-<pre class="programlisting"><a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="returnvalue">cairo_surface_t</span></a> *
-cairo_surface_create_similar_image (<em class="parameter"><code><a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a> *other</code></em>,
- <em class="parameter"><code><a class="link" href="cairo-Image-Surfaces.html#cairo-format-t" title="enum cairo_format_t"><span class="type">cairo_format_t</span></a> format</code></em>,
- <em class="parameter"><code><span class="type">int</span> width</code></em>,
- <em class="parameter"><code><span class="type">int</span> height</code></em>);</pre>
-<p>Create a new image surface that is as compatible as possible for uploading
-to and the use in conjunction with an existing surface. However, this surface
-can still be used like any normal image surface. Unlike
-<a class="link" href="cairo-cairo-surface-t.html#cairo-surface-create-similar" title="cairo_surface_create_similar ()"><code class="function">cairo_surface_create_similar()</code></a> the new image surface won't inherit
-the device scale from <em class="parameter"><code>other</code></em>
-.</p>
-<p>Initially the surface contents are all 0 (transparent if contents
-have transparency, black otherwise.)</p>
-<p>Use <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-create-similar" title="cairo_surface_create_similar ()"><code class="function">cairo_surface_create_similar()</code></a> if you don't need an image surface.</p>
-<div class="refsect3">
-<a name="cairo-surface-create-similar-image.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="150px" class="parameters_name">
-<col class="parameters_description">
-<col width="200px" class="parameters_annotations">
-</colgroup>
-<tbody>
-<tr>
-<td class="parameter_name"><p>other</p></td>
-<td class="parameter_description"><p>an existing surface used to select the preference of the new surface</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>format</p></td>
-<td class="parameter_description"><p>the format for the new surface</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>width</p></td>
-<td class="parameter_description"><p>width of the new surface, (in pixels)</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>height</p></td>
-<td class="parameter_description"><p>height of the new surface (in pixels)</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="cairo-surface-create-similar-image.returns"></a><h4>Returns</h4>
-<p> a pointer to the newly allocated image surface. The caller
-owns the surface and should call <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-destroy" title="cairo_surface_destroy ()"><code class="function">cairo_surface_destroy()</code></a> when done
-with it.</p>
-<p>This function always returns a valid pointer, but it will return a
-pointer to a "nil" surface if <em class="parameter"><code>other</code></em>
-is already in an error state
-or any other error occurs.</p>
-</div>
-<p class="since">Since: 1.12</p>
-</div>
-<hr>
-<div class="refsect2">
-<a name="cairo-surface-create-for-rectangle"></a><h3>cairo_surface_create_for_rectangle ()</h3>
-<pre class="programlisting"><a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="returnvalue">cairo_surface_t</span></a> *
-cairo_surface_create_for_rectangle (<em class="parameter"><code><a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a> *target</code></em>,
- <em class="parameter"><code><span class="type">double</span> x</code></em>,
- <em class="parameter"><code><span class="type">double</span> y</code></em>,
- <em class="parameter"><code><span class="type">double</span> width</code></em>,
- <em class="parameter"><code><span class="type">double</span> height</code></em>);</pre>
-<p>Create a new surface that is a rectangle within the target surface.
-All operations drawn to this surface are then clipped and translated
-onto the target surface. Nothing drawn via this sub-surface outside of
-its bounds is drawn onto the target surface, making this a useful method
-for passing constrained child surfaces to library routines that draw
-directly onto the parent surface, i.e. with no further backend allocations,
-double buffering or copies.</p>
-<div class="note"><p>The semantics of subsurfaces have not been finalized yet
-unless the rectangle is in full device units, is contained within
-the extents of the target surface, and the target or subsurface's
-device transforms are not changed.</p></div>
-<div class="refsect3">
-<a name="cairo-surface-create-for-rectangle.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="150px" class="parameters_name">
-<col class="parameters_description">
-<col width="200px" class="parameters_annotations">
-</colgroup>
-<tbody>
-<tr>
-<td class="parameter_name"><p>target</p></td>
-<td class="parameter_description"><p>an existing surface for which the sub-surface will point to</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>x</p></td>
-<td class="parameter_description"><p>the x-origin of the sub-surface from the top-left of the target surface (in device-space units)</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>y</p></td>
-<td class="parameter_description"><p>the y-origin of the sub-surface from the top-left of the target surface (in device-space units)</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>width</p></td>
-<td class="parameter_description"><p>width of the sub-surface (in device-space units)</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>height</p></td>
-<td class="parameter_description"><p>height of the sub-surface (in device-space units)</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="cairo-surface-create-for-rectangle.returns"></a><h4>Returns</h4>
-<p> a pointer to the newly allocated surface. The caller
-owns the surface and should call <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-destroy" title="cairo_surface_destroy ()"><code class="function">cairo_surface_destroy()</code></a> when done
-with it.</p>
-<p>This function always returns a valid pointer, but it will return a
-pointer to a "nil" surface if <em class="parameter"><code>other</code></em>
-is already in an error state
-or any other error occurs.</p>
-</div>
-<p class="since">Since: 1.10</p>
-</div>
-<hr>
-<div class="refsect2">
-<a name="cairo-surface-reference"></a><h3>cairo_surface_reference ()</h3>
-<pre class="programlisting"><a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="returnvalue">cairo_surface_t</span></a> *
-cairo_surface_reference (<em class="parameter"><code><a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a> *surface</code></em>);</pre>
-<p>Increases the reference count on <em class="parameter"><code>surface</code></em>
- by one. This prevents
-<em class="parameter"><code>surface</code></em>
- from being destroyed until a matching call to
-<a class="link" href="cairo-cairo-surface-t.html#cairo-surface-destroy" title="cairo_surface_destroy ()"><code class="function">cairo_surface_destroy()</code></a> is made.</p>
-<p>Use <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-get-reference-count" title="cairo_surface_get_reference_count ()"><code class="function">cairo_surface_get_reference_count()</code></a> to get the number of
-references to a <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a>.</p>
-<div class="refsect3">
-<a name="cairo-surface-reference.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="150px" class="parameters_name">
-<col class="parameters_description">
-<col width="200px" class="parameters_annotations">
-</colgroup>
-<tbody><tr>
-<td class="parameter_name"><p>surface</p></td>
-<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="cairo-surface-reference.returns"></a><h4>Returns</h4>
-<p> the referenced <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a>.</p>
-</div>
-<p class="since">Since: 1.0</p>
-</div>
-<hr>
-<div class="refsect2">
-<a name="cairo-surface-destroy"></a><h3>cairo_surface_destroy ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span>
-cairo_surface_destroy (<em class="parameter"><code><a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a> *surface</code></em>);</pre>
-<p>Decreases the reference count on <em class="parameter"><code>surface</code></em>
- by one. If the result is
-zero, then <em class="parameter"><code>surface</code></em>
- and all associated resources are freed. See
-<a class="link" href="cairo-cairo-surface-t.html#cairo-surface-reference" title="cairo_surface_reference ()"><code class="function">cairo_surface_reference()</code></a>.</p>
-<div class="refsect3">
-<a name="cairo-surface-destroy.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="150px" class="parameters_name">
-<col class="parameters_description">
-<col width="200px" class="parameters_annotations">
-</colgroup>
-<tbody><tr>
-<td class="parameter_name"><p>surface</p></td>
-<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<p class="since">Since: 1.0</p>
-</div>
-<hr>
-<div class="refsect2">
-<a name="cairo-surface-status"></a><h3>cairo_surface_status ()</h3>
-<pre class="programlisting"><a class="link" href="cairo-Error-handling.html#cairo-status-t" title="enum cairo_status_t"><span class="returnvalue">cairo_status_t</span></a>
-cairo_surface_status (<em class="parameter"><code><a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a> *surface</code></em>);</pre>
-<p>Checks whether an error has previously occurred for this
-surface.</p>
-<div class="refsect3">
-<a name="cairo-surface-status.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="150px" class="parameters_name">
-<col class="parameters_description">
-<col width="200px" class="parameters_annotations">
-</colgroup>
-<tbody><tr>
-<td class="parameter_name"><p>surface</p></td>
-<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="cairo-surface-status.returns"></a><h4>Returns</h4>
-<p> <a class="link" href="cairo-Error-handling.html#CAIRO-STATUS-SUCCESS:CAPS"><code class="literal">CAIRO_STATUS_SUCCESS</code></a>, <a class="link" href="cairo-Error-handling.html#CAIRO-STATUS-NULL-POINTER:CAPS"><code class="literal">CAIRO_STATUS_NULL_POINTER</code></a>,
-<a class="link" href="cairo-Error-handling.html#CAIRO-STATUS-NO-MEMORY:CAPS"><code class="literal">CAIRO_STATUS_NO_MEMORY</code></a>, <a class="link" href="cairo-Error-handling.html#CAIRO-STATUS-READ-ERROR:CAPS"><code class="literal">CAIRO_STATUS_READ_ERROR</code></a>,
-<a class="link" href="cairo-Error-handling.html#CAIRO-STATUS-INVALID-CONTENT:CAPS"><code class="literal">CAIRO_STATUS_INVALID_CONTENT</code></a>, <a class="link" href="cairo-Error-handling.html#CAIRO-STATUS-INVALID-FORMAT:CAPS"><code class="literal">CAIRO_STATUS_INVALID_FORMAT</code></a>, or
-<a class="link" href="cairo-Error-handling.html#CAIRO-STATUS-INVALID-VISUAL:CAPS"><code class="literal">CAIRO_STATUS_INVALID_VISUAL</code></a>.</p>
-</div>
-<p class="since">Since: 1.0</p>
-</div>
-<hr>
-<div class="refsect2">
-<a name="cairo-surface-finish"></a><h3>cairo_surface_finish ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span>
-cairo_surface_finish (<em class="parameter"><code><a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a> *surface</code></em>);</pre>
-<p>This function finishes the surface and drops all references to
-external resources. For example, for the Xlib backend it means
-that cairo will no longer access the drawable, which can be freed.
-After calling <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-finish" title="cairo_surface_finish ()"><code class="function">cairo_surface_finish()</code></a> the only valid operations on a
-surface are getting and setting user, referencing and
-destroying, and flushing and finishing it.
-Further drawing to the surface will not affect the
-surface but will instead trigger a <a class="link" href="cairo-Error-handling.html#CAIRO-STATUS-SURFACE-FINISHED:CAPS"><code class="literal">CAIRO_STATUS_SURFACE_FINISHED</code></a>
-error.</p>
-<p>When the last call to <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-destroy" title="cairo_surface_destroy ()"><code class="function">cairo_surface_destroy()</code></a> decreases the
-reference count to zero, cairo will call <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-finish" title="cairo_surface_finish ()"><code class="function">cairo_surface_finish()</code></a> if
-it hasn't been called already, before freeing the resources
-associated with the surface.</p>
-<div class="refsect3">
-<a name="cairo-surface-finish.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="150px" class="parameters_name">
-<col class="parameters_description">
-<col width="200px" class="parameters_annotations">
-</colgroup>
-<tbody><tr>
-<td class="parameter_name"><p>surface</p></td>
-<td class="parameter_description"><p>the <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a> to finish</p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<p class="since">Since: 1.0</p>
-</div>
-<hr>
-<div class="refsect2">
-<a name="cairo-surface-flush"></a><h3>cairo_surface_flush ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span>
-cairo_surface_flush (<em class="parameter"><code><a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a> *surface</code></em>);</pre>
-<p>Do any pending drawing for the surface and also restore any temporary
-modifications cairo has made to the surface's state. This function
-must be called before switching from drawing on the surface with
-cairo to drawing on it directly with native APIs, or accessing its
-memory outside of Cairo. If the surface doesn't support direct
-access, then this function does nothing.</p>
-<div class="refsect3">
-<a name="cairo-surface-flush.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="150px" class="parameters_name">
-<col class="parameters_description">
-<col width="200px" class="parameters_annotations">
-</colgroup>
-<tbody><tr>
-<td class="parameter_name"><p>surface</p></td>
-<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<p class="since">Since: 1.0</p>
-</div>
-<hr>
-<div class="refsect2">
-<a name="cairo-surface-get-device"></a><h3>cairo_surface_get_device ()</h3>
-<pre class="programlisting"><a class="link" href="cairo-cairo-device-t.html#cairo-device-t" title="cairo_device_t"><span class="returnvalue">cairo_device_t</span></a> *
-cairo_surface_get_device (<em class="parameter"><code><a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a> *surface</code></em>);</pre>
-<p>This function returns the device for a <em class="parameter"><code>surface</code></em>
-.
-See <a class="link" href="cairo-cairo-device-t.html#cairo-device-t" title="cairo_device_t"><span class="type">cairo_device_t</span></a>.</p>
-<div class="refsect3">
-<a name="cairo-surface-get-device.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="150px" class="parameters_name">
-<col class="parameters_description">
-<col width="200px" class="parameters_annotations">
-</colgroup>
-<tbody><tr>
-<td class="parameter_name"><p>surface</p></td>
-<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="cairo-surface-get-device.returns"></a><h4>Returns</h4>
-<p> The device for <em class="parameter"><code>surface</code></em>
-or <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the surface does
-not have an associated device.</p>
-</div>
-<p class="since">Since: 1.10</p>
-</div>
-<hr>
-<div class="refsect2">
-<a name="cairo-surface-get-font-options"></a><h3>cairo_surface_get_font_options ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span>
-cairo_surface_get_font_options (<em class="parameter"><code><a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a> *surface</code></em>,
- <em class="parameter"><code><a class="link" href="cairo-cairo-font-options-t.html#cairo-font-options-t" title="cairo_font_options_t"><span class="type">cairo_font_options_t</span></a> *options</code></em>);</pre>
-<p>Retrieves the default font rendering options for the surface.
-This allows display surfaces to report the correct subpixel order
-for rendering on them, print surfaces to disable hinting of
-metrics and so forth. The result can then be used with
-<a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-create" title="cairo_scaled_font_create ()"><code class="function">cairo_scaled_font_create()</code></a>.</p>
-<div class="refsect3">
-<a name="cairo-surface-get-font-options.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="150px" class="parameters_name">
-<col class="parameters_description">
-<col width="200px" class="parameters_annotations">
-</colgroup>
-<tbody>
-<tr>
-<td class="parameter_name"><p>surface</p></td>
-<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>options</p></td>
-<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-font-options-t.html#cairo-font-options-t" title="cairo_font_options_t"><span class="type">cairo_font_options_t</span></a> object into which to store
-the retrieved options. All existing values are overwritten</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<p class="since">Since: 1.0</p>
-</div>
-<hr>
-<div class="refsect2">
-<a name="cairo-surface-get-content"></a><h3>cairo_surface_get_content ()</h3>
-<pre class="programlisting"><a class="link" href="cairo-cairo-surface-t.html#cairo-content-t" title="enum cairo_content_t"><span class="returnvalue">cairo_content_t</span></a>
-cairo_surface_get_content (<em class="parameter"><code><a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a> *surface</code></em>);</pre>
-<p>This function returns the content type of <em class="parameter"><code>surface</code></em>
- which indicates
-whether the surface contains color and/or alpha information. See
-<a class="link" href="cairo-cairo-surface-t.html#cairo-content-t" title="enum cairo_content_t"><span class="type">cairo_content_t</span></a>.</p>
-<div class="refsect3">
-<a name="cairo-surface-get-content.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="150px" class="parameters_name">
-<col class="parameters_description">
-<col width="200px" class="parameters_annotations">
-</colgroup>
-<tbody><tr>
-<td class="parameter_name"><p>surface</p></td>
-<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="cairo-surface-get-content.returns"></a><h4>Returns</h4>
-<p> The content type of <em class="parameter"><code>surface</code></em>
-.</p>
-</div>
-<p class="since">Since: 1.2</p>
-</div>
-<hr>
-<div class="refsect2">
-<a name="cairo-surface-mark-dirty"></a><h3>cairo_surface_mark_dirty ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span>
-cairo_surface_mark_dirty (<em class="parameter"><code><a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a> *surface</code></em>);</pre>
-<p>Tells cairo that drawing has been done to surface using means other
-than cairo, and that cairo should reread any cached areas. Note
-that you must call <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-flush" title="cairo_surface_flush ()"><code class="function">cairo_surface_flush()</code></a> before doing such drawing.</p>
-<div class="refsect3">
-<a name="cairo-surface-mark-dirty.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="150px" class="parameters_name">
-<col class="parameters_description">
-<col width="200px" class="parameters_annotations">
-</colgroup>
-<tbody><tr>
-<td class="parameter_name"><p>surface</p></td>
-<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<p class="since">Since: 1.0</p>
-</div>
-<hr>
-<div class="refsect2">
-<a name="cairo-surface-mark-dirty-rectangle"></a><h3>cairo_surface_mark_dirty_rectangle ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span>
-cairo_surface_mark_dirty_rectangle (<em class="parameter"><code><a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a> *surface</code></em>,
- <em class="parameter"><code><span class="type">int</span> x</code></em>,
- <em class="parameter"><code><span class="type">int</span> y</code></em>,
- <em class="parameter"><code><span class="type">int</span> width</code></em>,
- <em class="parameter"><code><span class="type">int</span> height</code></em>);</pre>
-<p>Like <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-mark-dirty" title="cairo_surface_mark_dirty ()"><code class="function">cairo_surface_mark_dirty()</code></a>, but drawing has been done only to
-the specified rectangle, so that cairo can retain cached contents
-for other parts of the surface.</p>
-<p>Any cached clip set on the surface will be reset by this function,
-to make sure that future cairo calls have the clip set that they
-expect.</p>
-<div class="refsect3">
-<a name="cairo-surface-mark-dirty-rectangle.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="150px" class="parameters_name">
-<col class="parameters_description">
-<col width="200px" class="parameters_annotations">
-</colgroup>
-<tbody>
-<tr>
-<td class="parameter_name"><p>surface</p></td>
-<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>x</p></td>
-<td class="parameter_description"><p>X coordinate of dirty rectangle</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>y</p></td>
-<td class="parameter_description"><p>Y coordinate of dirty rectangle</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>width</p></td>
-<td class="parameter_description"><p>width of dirty rectangle</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>height</p></td>
-<td class="parameter_description"><p>height of dirty rectangle</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<p class="since">Since: 1.0</p>
-</div>
-<hr>
-<div class="refsect2">
-<a name="cairo-surface-set-device-offset"></a><h3>cairo_surface_set_device_offset ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span>
-cairo_surface_set_device_offset (<em class="parameter"><code><a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a> *surface</code></em>,
- <em class="parameter"><code><span class="type">double</span> x_offset</code></em>,
- <em class="parameter"><code><span class="type">double</span> y_offset</code></em>);</pre>
-<p>Sets an offset that is added to the device coordinates determined
-by the CTM when drawing to <em class="parameter"><code>surface</code></em>
-. One use case for this function
-is when we want to create a <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a> that redirects drawing
-for a portion of an onscreen surface to an offscreen surface in a
-way that is completely invisible to the user of the cairo
-API. Setting a transformation via <a class="link" href="cairo-Transformations.html#cairo-translate" title="cairo_translate ()"><code class="function">cairo_translate()</code></a> isn't
-sufficient to do this, since functions like
-<a class="link" href="cairo-Transformations.html#cairo-device-to-user" title="cairo_device_to_user ()"><code class="function">cairo_device_to_user()</code></a> will expose the hidden offset.</p>
-<p>Note that the offset affects drawing to the surface as well as
-using the surface in a source pattern.</p>
-<div class="refsect3">
-<a name="cairo-surface-set-device-offset.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="150px" class="parameters_name">
-<col class="parameters_description">
-<col width="200px" class="parameters_annotations">
-</colgroup>
-<tbody>
-<tr>
-<td class="parameter_name"><p>surface</p></td>
-<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>x_offset</p></td>
-<td class="parameter_description"><p>the offset in the X direction, in device units</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>y_offset</p></td>
-<td class="parameter_description"><p>the offset in the Y direction, in device units</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<p class="since">Since: 1.0</p>
-</div>
-<hr>
-<div class="refsect2">
-<a name="cairo-surface-get-device-offset"></a><h3>cairo_surface_get_device_offset ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span>
-cairo_surface_get_device_offset (<em class="parameter"><code><a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a> *surface</code></em>,
- <em class="parameter"><code><span class="type">double</span> *x_offset</code></em>,
- <em class="parameter"><code><span class="type">double</span> *y_offset</code></em>);</pre>
-<p>This function returns the previous device offset set by
-<a class="link" href="cairo-cairo-surface-t.html#cairo-surface-set-device-offset" title="cairo_surface_set_device_offset ()"><code class="function">cairo_surface_set_device_offset()</code></a>.</p>
-<div class="refsect3">
-<a name="cairo-surface-get-device-offset.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="150px" class="parameters_name">
-<col class="parameters_description">
-<col width="200px" class="parameters_annotations">
-</colgroup>
-<tbody>
-<tr>
-<td class="parameter_name"><p>surface</p></td>
-<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>x_offset</p></td>
-<td class="parameter_description"><p>the offset in the X direction, in device units</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>y_offset</p></td>
-<td class="parameter_description"><p>the offset in the Y direction, in device units</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<p class="since">Since: 1.2</p>
-</div>
-<hr>
-<div class="refsect2">
-<a name="cairo-surface-get-device-scale"></a><h3>cairo_surface_get_device_scale ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span>
-cairo_surface_get_device_scale (<em class="parameter"><code><a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a> *surface</code></em>,
- <em class="parameter"><code><span class="type">double</span> *x_scale</code></em>,
- <em class="parameter"><code><span class="type">double</span> *y_scale</code></em>);</pre>
-<p>This function returns the previous device offset set by
-<a class="link" href="cairo-cairo-surface-t.html#cairo-surface-set-device-scale" title="cairo_surface_set_device_scale ()"><code class="function">cairo_surface_set_device_scale()</code></a>.</p>
-<div class="refsect3">
-<a name="cairo-surface-get-device-scale.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="150px" class="parameters_name">
-<col class="parameters_description">
-<col width="200px" class="parameters_annotations">
-</colgroup>
-<tbody>
-<tr>
-<td class="parameter_name"><p>surface</p></td>
-<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>x_scale</p></td>
-<td class="parameter_description"><p>the scale in the X direction, in device units</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>y_scale</p></td>
-<td class="parameter_description"><p>the scale in the Y direction, in device units</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<p class="since">Since: 1.14</p>
-</div>
-<hr>
-<div class="refsect2">
-<a name="cairo-surface-set-device-scale"></a><h3>cairo_surface_set_device_scale ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span>
-cairo_surface_set_device_scale (<em class="parameter"><code><a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a> *surface</code></em>,
- <em class="parameter"><code><span class="type">double</span> x_scale</code></em>,
- <em class="parameter"><code><span class="type">double</span> y_scale</code></em>);</pre>
-<p>Sets a scale that is multiplied to the device coordinates determined
-by the CTM when drawing to <em class="parameter"><code>surface</code></em>
-. One common use for this is to
-render to very high resolution display devices at a scale factor, so
-that code that assumes 1 pixel will be a certain size will still work.
-Setting a transformation via <a class="link" href="cairo-Transformations.html#cairo-translate" title="cairo_translate ()"><code class="function">cairo_translate()</code></a> isn't
-sufficient to do this, since functions like
-<a class="link" href="cairo-Transformations.html#cairo-device-to-user" title="cairo_device_to_user ()"><code class="function">cairo_device_to_user()</code></a> will expose the hidden scale.</p>
-<p>Note that the scale affects drawing to the surface as well as
-using the surface in a source pattern.</p>
-<div class="refsect3">
-<a name="cairo-surface-set-device-scale.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="150px" class="parameters_name">
-<col class="parameters_description">
-<col width="200px" class="parameters_annotations">
-</colgroup>
-<tbody>
-<tr>
-<td class="parameter_name"><p>surface</p></td>
-<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>x_scale</p></td>
-<td class="parameter_description"><p>a scale factor in the X direction</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>y_scale</p></td>
-<td class="parameter_description"><p>a scale factor in the Y direction</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<p class="since">Since: 1.14</p>
-</div>
-<hr>
-<div class="refsect2">
-<a name="cairo-surface-set-fallback-resolution"></a><h3>cairo_surface_set_fallback_resolution ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span>
-cairo_surface_set_fallback_resolution (<em class="parameter"><code><a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a> *surface</code></em>,
- <em class="parameter"><code><span class="type">double</span> x_pixels_per_inch</code></em>,
- <em class="parameter"><code><span class="type">double</span> y_pixels_per_inch</code></em>);</pre>
-<p>Set the horizontal and vertical resolution for image fallbacks.</p>
-<p>When certain operations aren't supported natively by a backend,
-cairo will fallback by rendering operations to an image and then
-overlaying that image onto the output. For backends that are
-natively vector-oriented, this function can be used to set the
-resolution used for these image fallbacks, (larger values will
-result in more detailed images, but also larger file sizes).</p>
-<p>Some examples of natively vector-oriented backends are the ps, pdf,
-and svg backends.</p>
-<p>For backends that are natively raster-oriented, image fallbacks are
-still possible, but they are always performed at the native
-device resolution. So this function has no effect on those
-backends.</p>
-<p>Note: The fallback resolution only takes effect at the time of
-completing a page (with <a class="link" href="cairo-cairo-t.html#cairo-show-page" title="cairo_show_page ()"><code class="function">cairo_show_page()</code></a> or <a class="link" href="cairo-cairo-t.html#cairo-copy-page" title="cairo_copy_page ()"><code class="function">cairo_copy_page()</code></a>) so
-there is currently no way to have more than one fallback resolution
-in effect on a single page.</p>
-<p>The default fallback resoultion is 300 pixels per inch in both
-dimensions.</p>
-<div class="refsect3">
-<a name="cairo-surface-set-fallback-resolution.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="150px" class="parameters_name">
-<col class="parameters_description">
-<col width="200px" class="parameters_annotations">
-</colgroup>
-<tbody>
-<tr>
-<td class="parameter_name"><p>surface</p></td>
-<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>x_pixels_per_inch</p></td>
-<td class="parameter_description"><p>horizontal setting for pixels per inch</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>y_pixels_per_inch</p></td>
-<td class="parameter_description"><p>vertical setting for pixels per inch</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<p class="since">Since: 1.2</p>
-</div>
-<hr>
-<div class="refsect2">
-<a name="cairo-surface-get-fallback-resolution"></a><h3>cairo_surface_get_fallback_resolution ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span>
-cairo_surface_get_fallback_resolution (<em class="parameter"><code><a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a> *surface</code></em>,
- <em class="parameter"><code><span class="type">double</span> *x_pixels_per_inch</code></em>,
- <em class="parameter"><code><span class="type">double</span> *y_pixels_per_inch</code></em>);</pre>
-<p>This function returns the previous fallback resolution set by
-<a class="link" href="cairo-cairo-surface-t.html#cairo-surface-set-fallback-resolution" title="cairo_surface_set_fallback_resolution ()"><code class="function">cairo_surface_set_fallback_resolution()</code></a>, or default fallback
-resolution if never set.</p>
-<div class="refsect3">
-<a name="cairo-surface-get-fallback-resolution.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="150px" class="parameters_name">
-<col class="parameters_description">
-<col width="200px" class="parameters_annotations">
-</colgroup>
-<tbody>
-<tr>
-<td class="parameter_name"><p>surface</p></td>
-<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>x_pixels_per_inch</p></td>
-<td class="parameter_description"><p>horizontal pixels per inch</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>y_pixels_per_inch</p></td>
-<td class="parameter_description"><p>vertical pixels per inch</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<p class="since">Since: 1.8</p>
-</div>
-<hr>
-<div class="refsect2">
-<a name="cairo-surface-get-type"></a><h3>cairo_surface_get_type ()</h3>
-<pre class="programlisting"><a class="link" href="cairo-cairo-surface-t.html#cairo-surface-type-t" title="enum cairo_surface_type_t"><span class="returnvalue">cairo_surface_type_t</span></a>
-cairo_surface_get_type (<em class="parameter"><code><a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a> *surface</code></em>);</pre>
-<p>This function returns the type of the backend used to create
-a surface. See <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-type-t" title="enum cairo_surface_type_t"><span class="type">cairo_surface_type_t</span></a> for available types.</p>
-<div class="refsect3">
-<a name="cairo-surface-get-type.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="150px" class="parameters_name">
-<col class="parameters_description">
-<col width="200px" class="parameters_annotations">
-</colgroup>
-<tbody><tr>
-<td class="parameter_name"><p>surface</p></td>
-<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="cairo-surface-get-type.returns"></a><h4>Returns</h4>
-<p> The type of <em class="parameter"><code>surface</code></em>
-.</p>
-</div>
-<p class="since">Since: 1.2</p>
-</div>
-<hr>
-<div class="refsect2">
-<a name="cairo-surface-get-reference-count"></a><h3>cairo_surface_get_reference_count ()</h3>
-<pre class="programlisting">unsigned <span class="returnvalue">int</span>
-cairo_surface_get_reference_count (<em class="parameter"><code><a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a> *surface</code></em>);</pre>
-<p>Returns the current reference count of <em class="parameter"><code>surface</code></em>
-.</p>
-<div class="refsect3">
-<a name="cairo-surface-get-reference-count.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="150px" class="parameters_name">
-<col class="parameters_description">
-<col width="200px" class="parameters_annotations">
-</colgroup>
-<tbody><tr>
-<td class="parameter_name"><p>surface</p></td>
-<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="cairo-surface-get-reference-count.returns"></a><h4>Returns</h4>
-<p> the current reference count of <em class="parameter"><code>surface</code></em>
-. If the
-object is a nil object, 0 will be returned.</p>
-</div>
-<p class="since">Since: 1.4</p>
-</div>
-<hr>
-<div class="refsect2">
-<a name="cairo-surface-set-user-data"></a><h3>cairo_surface_set_user_data ()</h3>
-<pre class="programlisting"><a class="link" href="cairo-Error-handling.html#cairo-status-t" title="enum cairo_status_t"><span class="returnvalue">cairo_status_t</span></a>
-cairo_surface_set_user_data (<em class="parameter"><code><a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a> *surface</code></em>,
- <em class="parameter"><code>const <a class="link" href="cairo-Types.html#cairo-user-data-key-t" title="cairo_user_data_key_t"><span class="type">cairo_user_data_key_t</span></a> *key</code></em>,
- <em class="parameter"><code><span class="type">void</span> *user_data</code></em>,
- <em class="parameter"><code><a class="link" href="cairo-Types.html#cairo-destroy-func-t" title="cairo_destroy_func_t ()"><span class="type">cairo_destroy_func_t</span></a> destroy</code></em>);</pre>
-<p>Attach user data to <em class="parameter"><code>surface</code></em>
-. To remove user data from a surface,
-call this function with the key that was used to set it and <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>
-for <em class="parameter"><code>data</code></em>
-.</p>
-<div class="refsect3">
-<a name="cairo-surface-set-user-data.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="150px" class="parameters_name">
-<col class="parameters_description">
-<col width="200px" class="parameters_annotations">
-</colgroup>
-<tbody>
-<tr>
-<td class="parameter_name"><p>surface</p></td>
-<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>key</p></td>
-<td class="parameter_description"><p>the address of a <a class="link" href="cairo-Types.html#cairo-user-data-key-t" title="cairo_user_data_key_t"><span class="type">cairo_user_data_key_t</span></a> to attach the user data to</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>user_data</p></td>
-<td class="parameter_description"><p>the user data to attach to the surface</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>destroy</p></td>
-<td class="parameter_description"><p>a <a class="link" href="cairo-Types.html#cairo-destroy-func-t" title="cairo_destroy_func_t ()"><span class="type">cairo_destroy_func_t</span></a> which will be called when the
-surface is destroyed or when new user data is attached using the
-same key.</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="cairo-surface-set-user-data.returns"></a><h4>Returns</h4>
-<p> <a class="link" href="cairo-Error-handling.html#CAIRO-STATUS-SUCCESS:CAPS"><code class="literal">CAIRO_STATUS_SUCCESS</code></a> or <a class="link" href="cairo-Error-handling.html#CAIRO-STATUS-NO-MEMORY:CAPS"><code class="literal">CAIRO_STATUS_NO_MEMORY</code></a> if a
-slot could not be allocated for the user data.</p>
-</div>
-<p class="since">Since: 1.0</p>
-</div>
-<hr>
-<div class="refsect2">
-<a name="cairo-surface-get-user-data"></a><h3>cairo_surface_get_user_data ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span> *
-cairo_surface_get_user_data (<em class="parameter"><code><a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a> *surface</code></em>,
- <em class="parameter"><code>const <a class="link" href="cairo-Types.html#cairo-user-data-key-t" title="cairo_user_data_key_t"><span class="type">cairo_user_data_key_t</span></a> *key</code></em>);</pre>
-<p>Return user data previously attached to <em class="parameter"><code>surface</code></em>
- using the specified
-key. If no user data has been attached with the given key this
-function returns <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p>
-<div class="refsect3">
-<a name="cairo-surface-get-user-data.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="150px" class="parameters_name">
-<col class="parameters_description">
-<col width="200px" class="parameters_annotations">
-</colgroup>
-<tbody>
-<tr>
-<td class="parameter_name"><p>surface</p></td>
-<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>key</p></td>
-<td class="parameter_description"><p>the address of the <a class="link" href="cairo-Types.html#cairo-user-data-key-t" title="cairo_user_data_key_t"><span class="type">cairo_user_data_key_t</span></a> the user data was
-attached to</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="cairo-surface-get-user-data.returns"></a><h4>Returns</h4>
-<p> the user data previously attached or <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p>
-</div>
-<p class="since">Since: 1.0</p>
-</div>
-<hr>
-<div class="refsect2">
-<a name="cairo-surface-copy-page"></a><h3>cairo_surface_copy_page ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span>
-cairo_surface_copy_page (<em class="parameter"><code><a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a> *surface</code></em>);</pre>
-<p>Emits the current page for backends that support multiple pages,
-but doesn't clear it, so that the contents of the current page will
-be retained for the next page. Use <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-show-page" title="cairo_surface_show_page ()"><code class="function">cairo_surface_show_page()</code></a> if you
-want to get an empty page after the emission.</p>
-<p>There is a convenience function for this that takes a <a class="link" href="cairo-cairo-t.html#cairo-t" title="cairo_t"><span class="type">cairo_t</span></a>,
-namely <a class="link" href="cairo-cairo-t.html#cairo-copy-page" title="cairo_copy_page ()"><code class="function">cairo_copy_page()</code></a>.</p>
-<div class="refsect3">
-<a name="cairo-surface-copy-page.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="150px" class="parameters_name">
-<col class="parameters_description">
-<col width="200px" class="parameters_annotations">
-</colgroup>
-<tbody><tr>
-<td class="parameter_name"><p>surface</p></td>
-<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<p class="since">Since: 1.6</p>
-</div>
-<hr>
-<div class="refsect2">
-<a name="cairo-surface-show-page"></a><h3>cairo_surface_show_page ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span>
-cairo_surface_show_page (<em class="parameter"><code><a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a> *surface</code></em>);</pre>
-<p>Emits and clears the current page for backends that support multiple
-pages. Use <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-copy-page" title="cairo_surface_copy_page ()"><code class="function">cairo_surface_copy_page()</code></a> if you don't want to clear the page.</p>
-<p>There is a convenience function for this that takes a <a class="link" href="cairo-cairo-t.html#cairo-t" title="cairo_t"><span class="type">cairo_t</span></a>,
-namely <a class="link" href="cairo-cairo-t.html#cairo-show-page" title="cairo_show_page ()"><code class="function">cairo_show_page()</code></a>.</p>
-<div class="refsect3">
-<a name="cairo-surface-show-page.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="150px" class="parameters_name">
-<col class="parameters_description">
-<col width="200px" class="parameters_annotations">
-</colgroup>
-<tbody><tr>
-<td class="parameter_name"><p>surface</p></td>
-<td class="parameter_description"><p>a <span class="type">cairo_Surface_t</span></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<p class="since">Since: 1.6</p>
-</div>
-<hr>
-<div class="refsect2">
-<a name="cairo-surface-has-show-text-glyphs"></a><h3>cairo_surface_has_show_text_glyphs ()</h3>
-<pre class="programlisting"><a class="link" href="cairo-Types.html#cairo-bool-t" title="cairo_bool_t"><span class="returnvalue">cairo_bool_t</span></a>
-cairo_surface_has_show_text_glyphs (<em class="parameter"><code><a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a> *surface</code></em>);</pre>
-<p>Returns whether the surface supports
-sophisticated <a class="link" href="cairo-text.html#cairo-show-text-glyphs" title="cairo_show_text_glyphs ()"><code class="function">cairo_show_text_glyphs()</code></a> operations. That is,
-whether it actually uses the provided text and cluster data
-to a <a class="link" href="cairo-text.html#cairo-show-text-glyphs" title="cairo_show_text_glyphs ()"><code class="function">cairo_show_text_glyphs()</code></a> call.</p>
-<p>Note: Even if this function returns <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a>, a
-<a class="link" href="cairo-text.html#cairo-show-text-glyphs" title="cairo_show_text_glyphs ()"><code class="function">cairo_show_text_glyphs()</code></a> operation targeted at <em class="parameter"><code>surface</code></em>
- will
-still succeed. It just will
-act like a <a class="link" href="cairo-text.html#cairo-show-glyphs" title="cairo_show_glyphs ()"><code class="function">cairo_show_glyphs()</code></a> operation. Users can use this
-function to avoid computing UTF-8 text and cluster mapping if the
-target surface does not use it.</p>
-<div class="refsect3">
-<a name="cairo-surface-has-show-text-glyphs.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="150px" class="parameters_name">
-<col class="parameters_description">
-<col width="200px" class="parameters_annotations">
-</colgroup>
-<tbody><tr>
-<td class="parameter_name"><p>surface</p></td>
-<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="cairo-surface-has-show-text-glyphs.returns"></a><h4>Returns</h4>
-<p> <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if <em class="parameter"><code>surface</code></em>
-supports
-<a class="link" href="cairo-text.html#cairo-show-text-glyphs" title="cairo_show_text_glyphs ()"><code class="function">cairo_show_text_glyphs()</code></a>, <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise</p>
-</div>
-<p class="since">Since: 1.8</p>
-</div>
-<hr>
-<div class="refsect2">
-<a name="cairo-surface-set-mime-data"></a><h3>cairo_surface_set_mime_data ()</h3>
-<pre class="programlisting"><a class="link" href="cairo-Error-handling.html#cairo-status-t" title="enum cairo_status_t"><span class="returnvalue">cairo_status_t</span></a>
-cairo_surface_set_mime_data (<em class="parameter"><code><a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a> *surface</code></em>,
- <em class="parameter"><code>const <span class="type">char</span> *mime_type</code></em>,
- <em class="parameter"><code>const unsigned <span class="type">char</span> *data</code></em>,
- <em class="parameter"><code><span class="type">unsigned long </span> length</code></em>,
- <em class="parameter"><code><a class="link" href="cairo-Types.html#cairo-destroy-func-t" title="cairo_destroy_func_t ()"><span class="type">cairo_destroy_func_t</span></a> destroy</code></em>,
- <em class="parameter"><code><span class="type">void</span> *closure</code></em>);</pre>
-<p>Attach an image in the format <em class="parameter"><code>mime_type</code></em>
- to <em class="parameter"><code>surface</code></em>
-. To remove
-the data from a surface, call this function with same mime type
-and <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> for <em class="parameter"><code>data</code></em>
-.</p>
-<p>The attached image (or filename) data can later be used by backends
-which support it (currently: PDF, PS, SVG and Win32 Printing
-surfaces) to emit this data instead of making a snapshot of the
-<em class="parameter"><code>surface</code></em>
-. This approach tends to be faster and requires less
-memory and disk space.</p>
-<p>The recognized MIME types are the following: <a class="link" href="cairo-cairo-surface-t.html#CAIRO-MIME-TYPE-JPEG:CAPS" title="CAIRO_MIME_TYPE_JPEG"><code class="literal">CAIRO_MIME_TYPE_JPEG</code></a>,
-<a class="link" href="cairo-cairo-surface-t.html#CAIRO-MIME-TYPE-PNG:CAPS" title="CAIRO_MIME_TYPE_PNG"><code class="literal">CAIRO_MIME_TYPE_PNG</code></a>, <a class="link" href="cairo-cairo-surface-t.html#CAIRO-MIME-TYPE-JP2:CAPS" title="CAIRO_MIME_TYPE_JP2"><code class="literal">CAIRO_MIME_TYPE_JP2</code></a>, <a class="link" href="cairo-cairo-surface-t.html#CAIRO-MIME-TYPE-URI:CAPS" title="CAIRO_MIME_TYPE_URI"><code class="literal">CAIRO_MIME_TYPE_URI</code></a>,
-<a class="link" href="cairo-cairo-surface-t.html#CAIRO-MIME-TYPE-UNIQUE-ID:CAPS" title="CAIRO_MIME_TYPE_UNIQUE_ID"><code class="literal">CAIRO_MIME_TYPE_UNIQUE_ID</code></a>, <a class="link" href="cairo-cairo-surface-t.html#CAIRO-MIME-TYPE-JBIG2:CAPS" title="CAIRO_MIME_TYPE_JBIG2"><code class="literal">CAIRO_MIME_TYPE_JBIG2</code></a>,
-<a class="link" href="cairo-cairo-surface-t.html#CAIRO-MIME-TYPE-JBIG2-GLOBAL:CAPS" title="CAIRO_MIME_TYPE_JBIG2_GLOBAL"><code class="literal">CAIRO_MIME_TYPE_JBIG2_GLOBAL</code></a>, <a class="link" href="cairo-cairo-surface-t.html#CAIRO-MIME-TYPE-JBIG2-GLOBAL-ID:CAPS" title="CAIRO_MIME_TYPE_JBIG2_GLOBAL_ID"><code class="literal">CAIRO_MIME_TYPE_JBIG2_GLOBAL_ID</code></a>,
-<a class="link" href="cairo-cairo-surface-t.html#CAIRO-MIME-TYPE-CCITT-FAX:CAPS" title="CAIRO_MIME_TYPE_CCITT_FAX"><code class="literal">CAIRO_MIME_TYPE_CCITT_FAX</code></a>, <a class="link" href="cairo-cairo-surface-t.html#CAIRO-MIME-TYPE-CCITT-FAX-PARAMS:CAPS" title="CAIRO_MIME_TYPE_CCITT_FAX_PARAMS"><code class="literal">CAIRO_MIME_TYPE_CCITT_FAX_PARAMS</code></a>.</p>
-<p>See corresponding backend surface docs for details about which MIME
-types it can handle. Caution: the associated MIME data will be
-discarded if you draw on the surface afterwards. Use this function
-with care.</p>
-<p>Even if a backend supports a MIME type, that does not mean cairo
-will always be able to use the attached MIME data. For example, if
-the backend does not natively support the compositing operation used
-to apply the MIME data to the backend. In that case, the MIME data
-will be ignored. Therefore, to apply an image in all cases, it is best
-to create an image surface which contains the decoded image data and
-then attach the MIME data to that. This ensures the image will always
-be used while still allowing the MIME data to be used whenever
-possible.</p>
-<div class="refsect3">
-<a name="cairo-surface-set-mime-data.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="150px" class="parameters_name">
-<col class="parameters_description">
-<col width="200px" class="parameters_annotations">
-</colgroup>
-<tbody>
-<tr>
-<td class="parameter_name"><p>surface</p></td>
-<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>mime_type</p></td>
-<td class="parameter_description"><p>the MIME type of the image data</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>data</p></td>
-<td class="parameter_description"><p>the image data to attach to the surface</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>length</p></td>
-<td class="parameter_description"><p>the length of the image data</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>destroy</p></td>
-<td class="parameter_description"><p>a <a class="link" href="cairo-Types.html#cairo-destroy-func-t" title="cairo_destroy_func_t ()"><span class="type">cairo_destroy_func_t</span></a> which will be called when the
-surface is destroyed or when new image data is attached using the
-same mime type.</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>closure</p></td>
-<td class="parameter_description"><p>the data to be passed to the <em class="parameter"><code>destroy</code></em>
-notifier</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="cairo-surface-set-mime-data.returns"></a><h4>Returns</h4>
-<p> <a class="link" href="cairo-Error-handling.html#CAIRO-STATUS-SUCCESS:CAPS"><code class="literal">CAIRO_STATUS_SUCCESS</code></a> or <a class="link" href="cairo-Error-handling.html#CAIRO-STATUS-NO-MEMORY:CAPS"><code class="literal">CAIRO_STATUS_NO_MEMORY</code></a> if a
-slot could not be allocated for the user data.</p>
-</div>
-<p class="since">Since: 1.10</p>
-</div>
-<hr>
-<div class="refsect2">
-<a name="cairo-surface-get-mime-data"></a><h3>cairo_surface_get_mime_data ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span>
-cairo_surface_get_mime_data (<em class="parameter"><code><a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a> *surface</code></em>,
- <em class="parameter"><code>const <span class="type">char</span> *mime_type</code></em>,
- <em class="parameter"><code>const unsigned <span class="type">char</span> **data</code></em>,
- <em class="parameter"><code>unsigned <span class="type">long</span> *length</code></em>);</pre>
-<p>Return mime data previously attached to <em class="parameter"><code>surface</code></em>
- using the
-specified mime type. If no data has been attached with the given
-mime type, <em class="parameter"><code>data</code></em>
- is set <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p>
-<div class="refsect3">
-<a name="cairo-surface-get-mime-data.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="150px" class="parameters_name">
-<col class="parameters_description">
-<col width="200px" class="parameters_annotations">
-</colgroup>
-<tbody>
-<tr>
-<td class="parameter_name"><p>surface</p></td>
-<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>mime_type</p></td>
-<td class="parameter_description"><p>the mime type of the image data</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>data</p></td>
-<td class="parameter_description"><p>the image data to attached to the surface</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>length</p></td>
-<td class="parameter_description"><p>the length of the image data</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<p class="since">Since: 1.10</p>
-</div>
-<hr>
-<div class="refsect2">
-<a name="cairo-surface-supports-mime-type"></a><h3>cairo_surface_supports_mime_type ()</h3>
-<pre class="programlisting"><a class="link" href="cairo-Types.html#cairo-bool-t" title="cairo_bool_t"><span class="returnvalue">cairo_bool_t</span></a>
-cairo_surface_supports_mime_type (<em class="parameter"><code><a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a> *surface</code></em>,
- <em class="parameter"><code>const <span class="type">char</span> *mime_type</code></em>);</pre>
-<p>Return whether <em class="parameter"><code>surface</code></em>
- supports <em class="parameter"><code>mime_type</code></em>
-.</p>
-<div class="refsect3">
-<a name="cairo-surface-supports-mime-type.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="150px" class="parameters_name">
-<col class="parameters_description">
-<col width="200px" class="parameters_annotations">
-</colgroup>
-<tbody>
-<tr>
-<td class="parameter_name"><p>surface</p></td>
-<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>mime_type</p></td>
-<td class="parameter_description"><p>the mime type</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="cairo-surface-supports-mime-type.returns"></a><h4>Returns</h4>
-<p> <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if <em class="parameter"><code>surface</code></em>
-supports
-<em class="parameter"><code>mime_type</code></em>
-, <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise</p>
-</div>
-<p class="since">Since: 1.12</p>
-</div>
-<hr>
-<div class="refsect2">
-<a name="cairo-surface-map-to-image"></a><h3>cairo_surface_map_to_image ()</h3>
-<pre class="programlisting"><a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="returnvalue">cairo_surface_t</span></a> *
-cairo_surface_map_to_image (<em class="parameter"><code><a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a> *surface</code></em>,
- <em class="parameter"><code>const <a class="link" href="cairo-Types.html#cairo-rectangle-int-t" title="cairo_rectangle_int_t"><span class="type">cairo_rectangle_int_t</span></a> *extents</code></em>);</pre>
-<p>Returns an image surface that is the most efficient mechanism for
-modifying the backing store of the target surface. The region retrieved
-may be limited to the <em class="parameter"><code>extents</code></em>
- or <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> for the whole surface</p>
-<p>Note, the use of the original surface as a target or source whilst
-it is mapped is undefined. The result of mapping the surface
-multiple times is undefined. Calling <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-destroy" title="cairo_surface_destroy ()"><code class="function">cairo_surface_destroy()</code></a> or
-<a class="link" href="cairo-cairo-surface-t.html#cairo-surface-finish" title="cairo_surface_finish ()"><code class="function">cairo_surface_finish()</code></a> on the resulting image surface results in
-undefined behavior. Changing the device transform of the image
-surface or of <em class="parameter"><code>surface</code></em>
- before the image surface is unmapped results
-in undefined behavior.</p>
-<div class="refsect3">
-<a name="cairo-surface-map-to-image.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="150px" class="parameters_name">
-<col class="parameters_description">
-<col width="200px" class="parameters_annotations">
-</colgroup>
-<tbody>
-<tr>
-<td class="parameter_name"><p>surface</p></td>
-<td class="parameter_description"><p>an existing surface used to extract the image from</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>extents</p></td>
-<td class="parameter_description"><p>limit the extraction to an rectangular region</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="cairo-surface-map-to-image.returns"></a><h4>Returns</h4>
-<p> a pointer to the newly allocated image surface. The caller
-must use <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-unmap-image" title="cairo_surface_unmap_image ()"><code class="function">cairo_surface_unmap_image()</code></a> to destroy this image surface.</p>
-<p>This function always returns a valid pointer, but it will return a
-pointer to a "nil" surface if <em class="parameter"><code>other</code></em>
-is already in an error state
-or any other error occurs. If the returned pointer does not have an
-error status, it is guaranteed to be an image surface whose format
-is not <a class="link" href="cairo-Image-Surfaces.html#CAIRO-FORMAT-INVALID:CAPS"><code class="literal">CAIRO_FORMAT_INVALID</code></a>.</p>
-</div>
-<p class="since">Since: 1.12</p>
-</div>
-<hr>
-<div class="refsect2">
-<a name="cairo-surface-unmap-image"></a><h3>cairo_surface_unmap_image ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span>
-cairo_surface_unmap_image (<em class="parameter"><code><a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a> *surface</code></em>,
- <em class="parameter"><code><a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a> *image</code></em>);</pre>
-<p>Unmaps the image surface as returned from <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-map-to-image" title="cairo_surface_map_to_image ()"><code class="function">cairo_surface_map_to_image()</code></a>.</p>
-<p>The content of the image will be uploaded to the target surface.
-Afterwards, the image is destroyed.</p>
-<p>Using an image surface which wasn't returned by <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-map-to-image" title="cairo_surface_map_to_image ()"><code class="function">cairo_surface_map_to_image()</code></a>
-results in undefined behavior.</p>
-<div class="refsect3">
-<a name="cairo-surface-unmap-image.parameters"></a><h4>Parameters</h4>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="150px" class="parameters_name">
-<col class="parameters_description">
-<col width="200px" class="parameters_annotations">
-</colgroup>
-<tbody>
-<tr>
-<td class="parameter_name"><p>surface</p></td>
-<td class="parameter_description"><p>the surface passed to <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-map-to-image" title="cairo_surface_map_to_image ()"><code class="function">cairo_surface_map_to_image()</code></a>.</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>image</p></td>
-<td class="parameter_description"><p>the currently mapped image</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<p class="since">Since: 1.12</p>
-</div>
-</div>
-<div class="refsect1">
-<a name="cairo-cairo-surface-t.other_details"></a><h2>Types and Values</h2>
-<div class="refsect2">
-<a name="CAIRO-HAS-MIME-SURFACE:CAPS"></a><h3>CAIRO_HAS_MIME_SURFACE</h3>
-<pre class="programlisting">#define CAIRO_HAS_MIME_SURFACE 1
-</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="CAIRO-MIME-TYPE-CCITT-FAX:CAPS"></a><h3>CAIRO_MIME_TYPE_CCITT_FAX</h3>
-<pre class="programlisting">#define CAIRO_MIME_TYPE_CCITT_FAX "image/g3fax"
-</pre>
-<p>Group 3 or Group 4 CCITT facsimile encoding (International
-Telecommunication Union, Recommendations T.4 and T.6.)</p>
-<p class="since">Since: 1.16</p>
-</div>
-<hr>
-<div class="refsect2">
-<a name="CAIRO-MIME-TYPE-CCITT-FAX-PARAMS:CAPS"></a><h3>CAIRO_MIME_TYPE_CCITT_FAX_PARAMS</h3>
-<pre class="programlisting">#define CAIRO_MIME_TYPE_CCITT_FAX_PARAMS "application/x-cairo.ccitt.params"
-</pre>
-<p>Decode parameters for Group 3 or Group 4 CCITT facsimile encoding.
-See <a class="link" href="cairo-PDF-Surfaces.html#ccitt" title="CCITT Fax Images">CCITT Fax Images</a>.</p>
-<p class="since">Since: 1.16</p>
-</div>
-<hr>
-<div class="refsect2">
-<a name="CAIRO-MIME-TYPE-EPS:CAPS"></a><h3>CAIRO_MIME_TYPE_EPS</h3>
-<pre class="programlisting">#define CAIRO_MIME_TYPE_EPS "application/postscript"
-</pre>
-<p>Encapsulated PostScript file.
-<a class="ulink" href="http://wwwimages.adobe.com/content/dam/Adobe/endevnet/postscript/pdfs/5002.EPSF_Spec.pdf" target="_top">Encapsulated PostScript File Format Specification</a></p>
-<p class="since">Since: 1.16</p>
-</div>
-<hr>
-<div class="refsect2">
-<a name="CAIRO-MIME-TYPE-EPS-PARAMS:CAPS"></a><h3>CAIRO_MIME_TYPE_EPS_PARAMS</h3>
-<pre class="programlisting">#define CAIRO_MIME_TYPE_EPS_PARAMS "application/x-cairo.eps.params"
-</pre>
-<p>Embedding parameters Encapsulated PostScript data.
-See <a class="link" href="cairo-PostScript-Surfaces.html#eps" title="Embedding EPS files">Embedding EPS files</a>.</p>
-<p class="since">Since: 1.16</p>
-</div>
-<hr>
-<div class="refsect2">
-<a name="CAIRO-MIME-TYPE-JBIG2:CAPS"></a><h3>CAIRO_MIME_TYPE_JBIG2</h3>
-<pre class="programlisting">#define CAIRO_MIME_TYPE_JBIG2 "application/x-cairo.jbig2"
-</pre>
-<p>Joint Bi-level Image Experts Group image coding standard (ISO/IEC 11544).</p>
-<p class="since">Since: 1.14</p>
-</div>
-<hr>
-<div class="refsect2">
-<a name="CAIRO-MIME-TYPE-JBIG2-GLOBAL:CAPS"></a><h3>CAIRO_MIME_TYPE_JBIG2_GLOBAL</h3>
-<pre class="programlisting">#define CAIRO_MIME_TYPE_JBIG2_GLOBAL "application/x-cairo.jbig2-global"
-</pre>
-<p>Joint Bi-level Image Experts Group image coding standard (ISO/IEC 11544) global segment.</p>
-<p class="since">Since: 1.14</p>
-</div>
-<hr>
-<div class="refsect2">
-<a name="CAIRO-MIME-TYPE-JBIG2-GLOBAL-ID:CAPS"></a><h3>CAIRO_MIME_TYPE_JBIG2_GLOBAL_ID</h3>
-<pre class="programlisting">#define CAIRO_MIME_TYPE_JBIG2_GLOBAL_ID "application/x-cairo.jbig2-global-id"
-</pre>
-<p>An unique identifier shared by a JBIG2 global segment and all JBIG2 images
-that depend on the global segment.</p>
-<p class="since">Since: 1.14</p>
-</div>
-<hr>
-<div class="refsect2">
-<a name="CAIRO-MIME-TYPE-JP2:CAPS"></a><h3>CAIRO_MIME_TYPE_JP2</h3>
-<pre class="programlisting">#define CAIRO_MIME_TYPE_JP2 "image/jp2"
-</pre>
-<p>The Joint Photographic Experts Group (JPEG) 2000 image coding standard (ISO/IEC 15444-1).</p>
-<p class="since">Since: 1.10</p>
-</div>
-<hr>
-<div class="refsect2">
-<a name="CAIRO-MIME-TYPE-JPEG:CAPS"></a><h3>CAIRO_MIME_TYPE_JPEG</h3>
-<pre class="programlisting">#define CAIRO_MIME_TYPE_JPEG "image/jpeg"
-</pre>
-<p>The Joint Photographic Experts Group (JPEG) image coding standard (ISO/IEC 10918-1).</p>
-<p class="since">Since: 1.10</p>
-</div>
-<hr>
-<div class="refsect2">
-<a name="CAIRO-MIME-TYPE-PNG:CAPS"></a><h3>CAIRO_MIME_TYPE_PNG</h3>
-<pre class="programlisting">#define CAIRO_MIME_TYPE_PNG "image/png"
-</pre>
-<p>The Portable Network Graphics image file format (ISO/IEC 15948).</p>
-<p class="since">Since: 1.10</p>
-</div>
-<hr>
-<div class="refsect2">
-<a name="CAIRO-MIME-TYPE-URI:CAPS"></a><h3>CAIRO_MIME_TYPE_URI</h3>
-<pre class="programlisting">#define CAIRO_MIME_TYPE_URI "text/x-uri"
-</pre>
-<p>URI for an image file (unofficial MIME type).</p>
-<p class="since">Since: 1.10</p>
-</div>
-<hr>
-<div class="refsect2">
-<a name="CAIRO-MIME-TYPE-UNIQUE-ID:CAPS"></a><h3>CAIRO_MIME_TYPE_UNIQUE_ID</h3>
-<pre class="programlisting">#define CAIRO_MIME_TYPE_UNIQUE_ID "application/x-cairo.uuid"
-</pre>
-<p>Unique identifier for a surface (cairo specific MIME type). All surfaces with
-the same unique identifier will only be embedded once.</p>
-<p class="since">Since: 1.12</p>
-</div>
-<hr>
-<div class="refsect2">
-<a name="cairo-surface-t"></a><h3>cairo_surface_t</h3>
-<pre class="programlisting">typedef struct _cairo_surface cairo_surface_t;
-</pre>
-<p>A <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a> represents an image, either as the destination
-of a drawing operation or as source when drawing onto another
-surface. To draw to a <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a>, create a cairo context
-with the surface as the target, using <a class="link" href="cairo-cairo-t.html#cairo-create" title="cairo_create ()"><code class="function">cairo_create()</code></a>.</p>
-<p>There are different subtypes of <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a> for
-different drawing backends; for example, <a class="link" href="cairo-Image-Surfaces.html#cairo-image-surface-create" title="cairo_image_surface_create ()"><code class="function">cairo_image_surface_create()</code></a>
-creates a bitmap image in memory.
-The type of a surface can be queried with <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-get-type" title="cairo_surface_get_type ()"><code class="function">cairo_surface_get_type()</code></a>.</p>
-<p>The initial contents of a surface after creation depend upon the manner
-of its creation. If cairo creates the surface and backing storage for
-the user, it will be initially cleared; for example,
-<a class="link" href="cairo-Image-Surfaces.html#cairo-image-surface-create" title="cairo_image_surface_create ()"><code class="function">cairo_image_surface_create()</code></a> and <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-create-similar" title="cairo_surface_create_similar ()"><code class="function">cairo_surface_create_similar()</code></a>.
-Alternatively, if the user passes in a reference to some backing storage
-and asks cairo to wrap that in a <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a>, then the contents are
-not modified; for example, <a class="link" href="cairo-Image-Surfaces.html#cairo-image-surface-create-for-data" title="cairo_image_surface_create_for_data ()"><code class="function">cairo_image_surface_create_for_data()</code></a> and
-<a class="link" href="cairo-XLib-Surfaces.html#cairo-xlib-surface-create" title="cairo_xlib_surface_create ()"><code class="function">cairo_xlib_surface_create()</code></a>.</p>
-<p>Memory management of <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a> is done with
-<a class="link" href="cairo-cairo-surface-t.html#cairo-surface-reference" title="cairo_surface_reference ()"><code class="function">cairo_surface_reference()</code></a> and <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-destroy" title="cairo_surface_destroy ()"><code class="function">cairo_surface_destroy()</code></a>.</p>
-<p class="since">Since: 1.0</p>
-</div>
-<hr>
-<div class="refsect2">
-<a name="cairo-content-t"></a><h3>enum cairo_content_t</h3>
-<p><a class="link" href="cairo-cairo-surface-t.html#cairo-content-t" title="enum cairo_content_t"><span class="type">cairo_content_t</span></a> is used to describe the content that a surface will
-contain, whether color information, alpha information (translucence
-vs. opacity), or both.</p>
-<p>Note: The large values here are designed to keep <a class="link" href="cairo-cairo-surface-t.html#cairo-content-t" title="enum cairo_content_t"><span class="type">cairo_content_t</span></a>
-values distinct from <a class="link" href="cairo-Image-Surfaces.html#cairo-format-t" title="enum cairo_format_t"><span class="type">cairo_format_t</span></a> values so that the
-implementation can detect the error if users confuse the two types.</p>
-<div class="refsect3">
-<a name="cairo-content-t.members"></a><h4>Members</h4>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="300px" class="enum_members_name">
-<col class="enum_members_description">
-<col width="200px" class="enum_members_annotations">
-</colgroup>
-<tbody>
-<tr>
-<td class="enum_member_name"><p><a name="CAIRO-CONTENT-COLOR:CAPS"></a>CAIRO_CONTENT_COLOR</p></td>
-<td class="enum_member_description">
-<p>The surface will hold color content only. (Since 1.0)</p>
-</td>
-<td class="enum_member_annotations"> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="CAIRO-CONTENT-ALPHA:CAPS"></a>CAIRO_CONTENT_ALPHA</p></td>
-<td class="enum_member_description">
-<p>The surface will hold alpha content only. (Since 1.0)</p>
-</td>
-<td class="enum_member_annotations"> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="CAIRO-CONTENT-COLOR-ALPHA:CAPS"></a>CAIRO_CONTENT_COLOR_ALPHA</p></td>
-<td class="enum_member_description">
-<p>The surface will hold color and alpha content. (Since 1.0)</p>
-</td>
-<td class="enum_member_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<p class="since">Since: 1.0</p>
-</div>
-<hr>
-<div class="refsect2">
-<a name="cairo-surface-type-t"></a><h3>enum cairo_surface_type_t</h3>
-<p><a class="link" href="cairo-cairo-surface-t.html#cairo-surface-type-t" title="enum cairo_surface_type_t"><span class="type">cairo_surface_type_t</span></a> is used to describe the type of a given
-surface. The surface types are also known as "backends" or "surface
-backends" within cairo.</p>
-<p>The type of a surface is determined by the function used to create
-it, which will generally be of the form
-<code class="function">cairo_<span class="emphasis"><em>type</em></span>_surface_create()</code>,
-(though see <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-create-similar" title="cairo_surface_create_similar ()"><code class="function">cairo_surface_create_similar()</code></a> as well).</p>
-<p>The surface type can be queried with <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-get-type" title="cairo_surface_get_type ()"><code class="function">cairo_surface_get_type()</code></a></p>
-<p>The various <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a> functions can be used with surfaces of
-any type, but some backends also provide type-specific functions
-that must only be called with a surface of the appropriate
-type. These functions have names that begin with
-<code class="literal">cairo_<span class="emphasis"><em>type</em></span>_surface</code> such as <a class="link" href="cairo-Image-Surfaces.html#cairo-image-surface-get-width" title="cairo_image_surface_get_width ()"><code class="function">cairo_image_surface_get_width()</code></a>.</p>
-<p>The behavior of calling a type-specific function with a surface of
-the wrong type is undefined.</p>
-<p>New entries may be added in future versions.</p>
-<div class="refsect3">
-<a name="cairo-surface-type-t.members"></a><h4>Members</h4>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="300px" class="enum_members_name">
-<col class="enum_members_description">
-<col width="200px" class="enum_members_annotations">
-</colgroup>
-<tbody>
-<tr>
-<td class="enum_member_name"><p><a name="CAIRO-SURFACE-TYPE-IMAGE:CAPS"></a>CAIRO_SURFACE_TYPE_IMAGE</p></td>
-<td class="enum_member_description">
-<p>The surface is of type image, since 1.2</p>
-</td>
-<td class="enum_member_annotations"> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="CAIRO-SURFACE-TYPE-PDF:CAPS"></a>CAIRO_SURFACE_TYPE_PDF</p></td>
-<td class="enum_member_description">
-<p>The surface is of type pdf, since 1.2</p>
-</td>
-<td class="enum_member_annotations"> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="CAIRO-SURFACE-TYPE-PS:CAPS"></a>CAIRO_SURFACE_TYPE_PS</p></td>
-<td class="enum_member_description">
-<p>The surface is of type ps, since 1.2</p>
-</td>
-<td class="enum_member_annotations"> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="CAIRO-SURFACE-TYPE-XLIB:CAPS"></a>CAIRO_SURFACE_TYPE_XLIB</p></td>
-<td class="enum_member_description">
-<p>The surface is of type xlib, since 1.2</p>
-</td>
-<td class="enum_member_annotations"> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="CAIRO-SURFACE-TYPE-XCB:CAPS"></a>CAIRO_SURFACE_TYPE_XCB</p></td>
-<td class="enum_member_description">
-<p>The surface is of type xcb, since 1.2</p>
-</td>
-<td class="enum_member_annotations"> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="CAIRO-SURFACE-TYPE-GLITZ:CAPS"></a>CAIRO_SURFACE_TYPE_GLITZ</p></td>
-<td class="enum_member_description">
-<p>The surface is of type glitz, since 1.2</p>
-</td>
-<td class="enum_member_annotations"> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="CAIRO-SURFACE-TYPE-QUARTZ:CAPS"></a>CAIRO_SURFACE_TYPE_QUARTZ</p></td>
-<td class="enum_member_description">
-<p>The surface is of type quartz, since 1.2</p>
-</td>
-<td class="enum_member_annotations"> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="CAIRO-SURFACE-TYPE-WIN32:CAPS"></a>CAIRO_SURFACE_TYPE_WIN32</p></td>
-<td class="enum_member_description">
-<p>The surface is of type win32, since 1.2</p>
-</td>
-<td class="enum_member_annotations"> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="CAIRO-SURFACE-TYPE-BEOS:CAPS"></a>CAIRO_SURFACE_TYPE_BEOS</p></td>
-<td class="enum_member_description">
-<p>The surface is of type beos, since 1.2</p>
-</td>
-<td class="enum_member_annotations"> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="CAIRO-SURFACE-TYPE-DIRECTFB:CAPS"></a>CAIRO_SURFACE_TYPE_DIRECTFB</p></td>
-<td class="enum_member_description">
-<p>The surface is of type directfb, since 1.2</p>
-</td>
-<td class="enum_member_annotations"> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="CAIRO-SURFACE-TYPE-SVG:CAPS"></a>CAIRO_SURFACE_TYPE_SVG</p></td>
-<td class="enum_member_description">
-<p>The surface is of type svg, since 1.2</p>
-</td>
-<td class="enum_member_annotations"> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="CAIRO-SURFACE-TYPE-OS2:CAPS"></a>CAIRO_SURFACE_TYPE_OS2</p></td>
-<td class="enum_member_description">
-<p>The surface is of type os2, since 1.4</p>
-</td>
-<td class="enum_member_annotations"> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="CAIRO-SURFACE-TYPE-WIN32-PRINTING:CAPS"></a>CAIRO_SURFACE_TYPE_WIN32_PRINTING</p></td>
-<td class="enum_member_description">
-<p>The surface is a win32 printing surface, since 1.6</p>
-</td>
-<td class="enum_member_annotations"> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="CAIRO-SURFACE-TYPE-QUARTZ-IMAGE:CAPS"></a>CAIRO_SURFACE_TYPE_QUARTZ_IMAGE</p></td>
-<td class="enum_member_description">
-<p>The surface is of type quartz_image, since 1.6</p>
-</td>
-<td class="enum_member_annotations"> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="CAIRO-SURFACE-TYPE-SCRIPT:CAPS"></a>CAIRO_SURFACE_TYPE_SCRIPT</p></td>
-<td class="enum_member_description">
-<p>The surface is of type script, since 1.10</p>
-</td>
-<td class="enum_member_annotations"> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="CAIRO-SURFACE-TYPE-QT:CAPS"></a>CAIRO_SURFACE_TYPE_QT</p></td>
-<td class="enum_member_description">
-<p>The surface is of type Qt, since 1.10</p>
-</td>
-<td class="enum_member_annotations"> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="CAIRO-SURFACE-TYPE-RECORDING:CAPS"></a>CAIRO_SURFACE_TYPE_RECORDING</p></td>
-<td class="enum_member_description">
-<p>The surface is of type recording, since 1.10</p>
-</td>
-<td class="enum_member_annotations"> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="CAIRO-SURFACE-TYPE-VG:CAPS"></a>CAIRO_SURFACE_TYPE_VG</p></td>
-<td class="enum_member_description">
-<p>The surface is a OpenVG surface, since 1.10</p>
-</td>
-<td class="enum_member_annotations"> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="CAIRO-SURFACE-TYPE-GL:CAPS"></a>CAIRO_SURFACE_TYPE_GL</p></td>
-<td class="enum_member_description">
-<p>The surface is of type OpenGL, since 1.10</p>
-</td>
-<td class="enum_member_annotations"> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="CAIRO-SURFACE-TYPE-DRM:CAPS"></a>CAIRO_SURFACE_TYPE_DRM</p></td>
-<td class="enum_member_description">
-<p>The surface is of type Direct Render Manager, since 1.10</p>
-</td>
-<td class="enum_member_annotations"> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="CAIRO-SURFACE-TYPE-TEE:CAPS"></a>CAIRO_SURFACE_TYPE_TEE</p></td>
-<td class="enum_member_description">
-<p>The surface is of type 'tee' (a multiplexing surface), since 1.10</p>
-</td>
-<td class="enum_member_annotations"> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="CAIRO-SURFACE-TYPE-XML:CAPS"></a>CAIRO_SURFACE_TYPE_XML</p></td>
-<td class="enum_member_description">
-<p>The surface is of type XML (for debugging), since 1.10</p>
-</td>
-<td class="enum_member_annotations"> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="CAIRO-SURFACE-TYPE-SKIA:CAPS"></a>CAIRO_SURFACE_TYPE_SKIA</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="CAIRO-SURFACE-TYPE-SUBSURFACE:CAPS"></a>CAIRO_SURFACE_TYPE_SUBSURFACE</p></td>
-<td class="enum_member_description">
-<p>The surface is a subsurface created with
- <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-create-for-rectangle" title="cairo_surface_create_for_rectangle ()"><code class="function">cairo_surface_create_for_rectangle()</code></a>, since 1.10</p>
-</td>
-<td class="enum_member_annotations"> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="CAIRO-SURFACE-TYPE-COGL:CAPS"></a>CAIRO_SURFACE_TYPE_COGL</p></td>
-<td class="enum_member_description">
-<p>This surface is of type Cogl, since 1.12</p>
-</td>
-<td class="enum_member_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<p class="since">Since: 1.2</p>
-</div>
-</div>
-<div class="refsect1">
-<a name="cairo-cairo-surface-t.see-also"></a><h2>See Also</h2>
-<p><a class="link" href="cairo-cairo-t.html#cairo-t" title="cairo_t"><span class="type">cairo_t</span></a>, <a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-t" title="cairo_pattern_t"><span class="type">cairo_pattern_t</span></a></p>
-</div>
-</div>
-<div class="footer">
-<hr>Generated by GTK-Doc V1.27</div>
-</body>
-</html> \ No newline at end of file