annotate CSP2/CSP2_env/env-d9b9114564458d9d-741b3de822f2aaca6c6caa4325c4afce/share/gtk-doc/html/cairo/cairo-SVG-Surfaces.html @ 68:5028fdace37b

planemo upload commit 2e9511a184a1ca667c7be0c6321a36dc4e3d116d
author jpayne
date Tue, 18 Mar 2025 16:23:26 -0400
parents
children
rev   line source
jpayne@68 1 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
jpayne@68 2 <html>
jpayne@68 3 <head>
jpayne@68 4 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
jpayne@68 5 <title>SVG Surfaces: Cairo: A Vector Graphics Library</title>
jpayne@68 6 <meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
jpayne@68 7 <link rel="home" href="index.html" title="Cairo: A Vector Graphics Library">
jpayne@68 8 <link rel="up" href="cairo-surfaces.html" title="Surfaces">
jpayne@68 9 <link rel="prev" href="cairo-Win32-Surfaces.html" title="Win32 Surfaces">
jpayne@68 10 <link rel="next" href="cairo-Quartz-Surfaces.html" title="Quartz Surfaces">
jpayne@68 11 <meta name="generator" content="GTK-Doc V1.27 (XML mode)">
jpayne@68 12 <link rel="stylesheet" href="style.css" type="text/css">
jpayne@68 13 </head>
jpayne@68 14 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
jpayne@68 15 <table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
jpayne@68 16 <td width="100%" align="left" class="shortcuts">
jpayne@68 17 <a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
jpayne@68 18 <a href="#cairo-SVG-Surfaces.description" class="shortcut">Description</a></span>
jpayne@68 19 </td>
jpayne@68 20 <td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
jpayne@68 21 <td><a accesskey="u" href="cairo-surfaces.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
jpayne@68 22 <td><a accesskey="p" href="cairo-Win32-Surfaces.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
jpayne@68 23 <td><a accesskey="n" href="cairo-Quartz-Surfaces.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
jpayne@68 24 </tr></table>
jpayne@68 25 <div class="refentry">
jpayne@68 26 <a name="cairo-SVG-Surfaces"></a><div class="titlepage"></div>
jpayne@68 27 <div class="refnamediv"><table width="100%"><tr>
jpayne@68 28 <td valign="top">
jpayne@68 29 <h2><span class="refentrytitle"><a name="cairo-SVG-Surfaces.top_of_page"></a>SVG Surfaces</span></h2>
jpayne@68 30 <p>SVG Surfaces — Rendering SVG documents</p>
jpayne@68 31 </td>
jpayne@68 32 <td class="gallery_image" valign="top" align="right"></td>
jpayne@68 33 </tr></table></div>
jpayne@68 34 <div class="refsect1">
jpayne@68 35 <a name="cairo-SVG-Surfaces.functions"></a><h2>Functions</h2>
jpayne@68 36 <div class="informaltable"><table class="informaltable" width="100%" border="0">
jpayne@68 37 <colgroup>
jpayne@68 38 <col width="150px" class="functions_return">
jpayne@68 39 <col class="functions_name">
jpayne@68 40 </colgroup>
jpayne@68 41 <tbody>
jpayne@68 42 <tr>
jpayne@68 43 <td class="function_type">
jpayne@68 44 <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="returnvalue">cairo_surface_t</span></a> *
jpayne@68 45 </td>
jpayne@68 46 <td class="function_name">
jpayne@68 47 <a class="link" href="cairo-SVG-Surfaces.html#cairo-svg-surface-create" title="cairo_svg_surface_create ()">cairo_svg_surface_create</a> <span class="c_punctuation">()</span>
jpayne@68 48 </td>
jpayne@68 49 </tr>
jpayne@68 50 <tr>
jpayne@68 51 <td class="function_type">
jpayne@68 52 <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="returnvalue">cairo_surface_t</span></a> *
jpayne@68 53 </td>
jpayne@68 54 <td class="function_name">
jpayne@68 55 <a class="link" href="cairo-SVG-Surfaces.html#cairo-svg-surface-create-for-stream" title="cairo_svg_surface_create_for_stream ()">cairo_svg_surface_create_for_stream</a> <span class="c_punctuation">()</span>
jpayne@68 56 </td>
jpayne@68 57 </tr>
jpayne@68 58 <tr>
jpayne@68 59 <td class="function_type">
jpayne@68 60 <a class="link" href="cairo-SVG-Surfaces.html#cairo-svg-unit-t" title="enum cairo_svg_unit_t"><span class="returnvalue">cairo_svg_unit_t</span></a>
jpayne@68 61 </td>
jpayne@68 62 <td class="function_name">
jpayne@68 63 <a class="link" href="cairo-SVG-Surfaces.html#cairo-svg-surface-get-document-unit" title="cairo_svg_surface_get_document_unit ()">cairo_svg_surface_get_document_unit</a> <span class="c_punctuation">()</span>
jpayne@68 64 </td>
jpayne@68 65 </tr>
jpayne@68 66 <tr>
jpayne@68 67 <td class="function_type">
jpayne@68 68 <span class="returnvalue">void</span>
jpayne@68 69 </td>
jpayne@68 70 <td class="function_name">
jpayne@68 71 <a class="link" href="cairo-SVG-Surfaces.html#cairo-svg-surface-set-document-unit" title="cairo_svg_surface_set_document_unit ()">cairo_svg_surface_set_document_unit</a> <span class="c_punctuation">()</span>
jpayne@68 72 </td>
jpayne@68 73 </tr>
jpayne@68 74 <tr>
jpayne@68 75 <td class="function_type">
jpayne@68 76 <span class="returnvalue">void</span>
jpayne@68 77 </td>
jpayne@68 78 <td class="function_name">
jpayne@68 79 <a class="link" href="cairo-SVG-Surfaces.html#cairo-svg-surface-restrict-to-version" title="cairo_svg_surface_restrict_to_version ()">cairo_svg_surface_restrict_to_version</a> <span class="c_punctuation">()</span>
jpayne@68 80 </td>
jpayne@68 81 </tr>
jpayne@68 82 <tr>
jpayne@68 83 <td class="function_type">
jpayne@68 84 <span class="returnvalue">void</span>
jpayne@68 85 </td>
jpayne@68 86 <td class="function_name">
jpayne@68 87 <a class="link" href="cairo-SVG-Surfaces.html#cairo-svg-get-versions" title="cairo_svg_get_versions ()">cairo_svg_get_versions</a> <span class="c_punctuation">()</span>
jpayne@68 88 </td>
jpayne@68 89 </tr>
jpayne@68 90 <tr>
jpayne@68 91 <td class="function_type">const <span class="returnvalue">char</span> *
jpayne@68 92 </td>
jpayne@68 93 <td class="function_name">
jpayne@68 94 <a class="link" href="cairo-SVG-Surfaces.html#cairo-svg-version-to-string" title="cairo_svg_version_to_string ()">cairo_svg_version_to_string</a> <span class="c_punctuation">()</span>
jpayne@68 95 </td>
jpayne@68 96 </tr>
jpayne@68 97 </tbody>
jpayne@68 98 </table></div>
jpayne@68 99 </div>
jpayne@68 100 <div class="refsect1">
jpayne@68 101 <a name="cairo-SVG-Surfaces.other"></a><h2>Types and Values</h2>
jpayne@68 102 <div class="informaltable"><table class="informaltable" width="100%" border="0">
jpayne@68 103 <colgroup>
jpayne@68 104 <col width="150px" class="name">
jpayne@68 105 <col class="description">
jpayne@68 106 </colgroup>
jpayne@68 107 <tbody>
jpayne@68 108 <tr>
jpayne@68 109 <td class="define_keyword">#define</td>
jpayne@68 110 <td class="function_name"><a class="link" href="cairo-SVG-Surfaces.html#CAIRO-HAS-SVG-SURFACE:CAPS" title="CAIRO_HAS_SVG_SURFACE">CAIRO_HAS_SVG_SURFACE</a></td>
jpayne@68 111 </tr>
jpayne@68 112 <tr>
jpayne@68 113 <td class="datatype_keyword">enum</td>
jpayne@68 114 <td class="function_name"><a class="link" href="cairo-SVG-Surfaces.html#cairo-svg-version-t" title="enum cairo_svg_version_t">cairo_svg_version_t</a></td>
jpayne@68 115 </tr>
jpayne@68 116 <tr>
jpayne@68 117 <td class="datatype_keyword">enum</td>
jpayne@68 118 <td class="function_name"><a class="link" href="cairo-SVG-Surfaces.html#cairo-svg-unit-t" title="enum cairo_svg_unit_t">cairo_svg_unit_t</a></td>
jpayne@68 119 </tr>
jpayne@68 120 </tbody>
jpayne@68 121 </table></div>
jpayne@68 122 </div>
jpayne@68 123 <div class="refsect1">
jpayne@68 124 <a name="cairo-SVG-Surfaces.description"></a><h2>Description</h2>
jpayne@68 125 <p>The SVG surface is used to render cairo graphics to
jpayne@68 126 SVG files and is a multi-page vector surface backend.</p>
jpayne@68 127 </div>
jpayne@68 128 <div class="refsect1">
jpayne@68 129 <a name="cairo-SVG-Surfaces.functions_details"></a><h2>Functions</h2>
jpayne@68 130 <div class="refsect2">
jpayne@68 131 <a name="cairo-svg-surface-create"></a><h3>cairo_svg_surface_create ()</h3>
jpayne@68 132 <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> *
jpayne@68 133 cairo_svg_surface_create (<em class="parameter"><code>const <span class="type">char</span> *filename</code></em>,
jpayne@68 134 <em class="parameter"><code><span class="type">double</span> width_in_points</code></em>,
jpayne@68 135 <em class="parameter"><code><span class="type">double</span> height_in_points</code></em>);</pre>
jpayne@68 136 <p>Creates a SVG surface of the specified size in points to be written
jpayne@68 137 to <em class="parameter"><code>filename</code></em>
jpayne@68 138 .</p>
jpayne@68 139 <p>The SVG surface backend recognizes the following MIME types for the
jpayne@68 140 data attached to a surface (see <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-set-mime-data" title="cairo_surface_set_mime_data ()"><code class="function">cairo_surface_set_mime_data()</code></a>) when
jpayne@68 141 it is used as a source pattern for drawing on this surface:
jpayne@68 142 <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>,
jpayne@68 143 <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>. If any of them is specified, the SVG backend
jpayne@68 144 emits a href with the content of MIME data instead of a surface
jpayne@68 145 snapshot (PNG, Base64-encoded) in the corresponding image tag.</p>
jpayne@68 146 <p>The unofficial MIME type <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> is examined
jpayne@68 147 first. If present, the URI is emitted as is: assuring the
jpayne@68 148 correctness of URI is left to the client code.</p>
jpayne@68 149 <p>If <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> is not present, but <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>
jpayne@68 150 or <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> is specified, the corresponding data is
jpayne@68 151 Base64-encoded and emitted.</p>
jpayne@68 152 <p>If <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> is present, all surfaces with the same
jpayne@68 153 unique identifier will only be embedded once.</p>
jpayne@68 154 <div class="refsect3">
jpayne@68 155 <a name="cairo-svg-surface-create.parameters"></a><h4>Parameters</h4>
jpayne@68 156 <div class="informaltable"><table class="informaltable" width="100%" border="0">
jpayne@68 157 <colgroup>
jpayne@68 158 <col width="150px" class="parameters_name">
jpayne@68 159 <col class="parameters_description">
jpayne@68 160 <col width="200px" class="parameters_annotations">
jpayne@68 161 </colgroup>
jpayne@68 162 <tbody>
jpayne@68 163 <tr>
jpayne@68 164 <td class="parameter_name"><p>filename</p></td>
jpayne@68 165 <td class="parameter_description"><p>a filename for the SVG output (must be writable), <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> may be
jpayne@68 166 used to specify no output. This will generate a SVG surface that
jpayne@68 167 may be queried and used as a source, without generating a
jpayne@68 168 temporary file.</p></td>
jpayne@68 169 <td class="parameter_annotations"> </td>
jpayne@68 170 </tr>
jpayne@68 171 <tr>
jpayne@68 172 <td class="parameter_name"><p>width_in_points</p></td>
jpayne@68 173 <td class="parameter_description"><p>width of the surface, in points (1 point == 1/72.0 inch)</p></td>
jpayne@68 174 <td class="parameter_annotations"> </td>
jpayne@68 175 </tr>
jpayne@68 176 <tr>
jpayne@68 177 <td class="parameter_name"><p>height_in_points</p></td>
jpayne@68 178 <td class="parameter_description"><p>height of the surface, in points (1 point == 1/72.0 inch)</p></td>
jpayne@68 179 <td class="parameter_annotations"> </td>
jpayne@68 180 </tr>
jpayne@68 181 </tbody>
jpayne@68 182 </table></div>
jpayne@68 183 </div>
jpayne@68 184 <div class="refsect3">
jpayne@68 185 <a name="cairo-svg-surface-create.returns"></a><h4>Returns</h4>
jpayne@68 186 <p> a pointer to the newly created surface. The caller
jpayne@68 187 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
jpayne@68 188 with it.</p>
jpayne@68 189 <p>This function always returns a valid pointer, but it will return a
jpayne@68 190 pointer to a "nil" surface if an error such as out of memory
jpayne@68 191 occurs. You can use <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-status" title="cairo_surface_status ()"><code class="function">cairo_surface_status()</code></a> to check for this.</p>
jpayne@68 192 </div>
jpayne@68 193 <p class="since">Since: 1.2</p>
jpayne@68 194 </div>
jpayne@68 195 <hr>
jpayne@68 196 <div class="refsect2">
jpayne@68 197 <a name="cairo-svg-surface-create-for-stream"></a><h3>cairo_svg_surface_create_for_stream ()</h3>
jpayne@68 198 <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> *
jpayne@68 199 cairo_svg_surface_create_for_stream (<em class="parameter"><code><a class="link" href="cairo-PNG-Support.html#cairo-write-func-t" title="cairo_write_func_t ()"><span class="type">cairo_write_func_t</span></a> write_func</code></em>,
jpayne@68 200 <em class="parameter"><code><span class="type">void</span> *closure</code></em>,
jpayne@68 201 <em class="parameter"><code><span class="type">double</span> width_in_points</code></em>,
jpayne@68 202 <em class="parameter"><code><span class="type">double</span> height_in_points</code></em>);</pre>
jpayne@68 203 <p>Creates a SVG surface of the specified size in points to be written
jpayne@68 204 incrementally to the stream represented by <em class="parameter"><code>write_func</code></em>
jpayne@68 205 and <em class="parameter"><code>closure</code></em>
jpayne@68 206 .</p>
jpayne@68 207 <div class="refsect3">
jpayne@68 208 <a name="cairo-svg-surface-create-for-stream.parameters"></a><h4>Parameters</h4>
jpayne@68 209 <div class="informaltable"><table class="informaltable" width="100%" border="0">
jpayne@68 210 <colgroup>
jpayne@68 211 <col width="150px" class="parameters_name">
jpayne@68 212 <col class="parameters_description">
jpayne@68 213 <col width="200px" class="parameters_annotations">
jpayne@68 214 </colgroup>
jpayne@68 215 <tbody>
jpayne@68 216 <tr>
jpayne@68 217 <td class="parameter_name"><p>write_func</p></td>
jpayne@68 218 <td class="parameter_description"><p>a <a class="link" href="cairo-PNG-Support.html#cairo-write-func-t" title="cairo_write_func_t ()"><span class="type">cairo_write_func_t</span></a> to accept the output data, may be <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>
jpayne@68 219 to indicate a no-op <em class="parameter"><code>write_func</code></em>
jpayne@68 220 . With a no-op <em class="parameter"><code>write_func</code></em>
jpayne@68 221 ,
jpayne@68 222 the surface may be queried or used as a source without
jpayne@68 223 generating any temporary files.</p></td>
jpayne@68 224 <td class="parameter_annotations"> </td>
jpayne@68 225 </tr>
jpayne@68 226 <tr>
jpayne@68 227 <td class="parameter_name"><p>closure</p></td>
jpayne@68 228 <td class="parameter_description"><p>the closure argument for <em class="parameter"><code>write_func</code></em>
jpayne@68 229 </p></td>
jpayne@68 230 <td class="parameter_annotations"> </td>
jpayne@68 231 </tr>
jpayne@68 232 <tr>
jpayne@68 233 <td class="parameter_name"><p>width_in_points</p></td>
jpayne@68 234 <td class="parameter_description"><p>width of the surface, in points (1 point == 1/72.0 inch)</p></td>
jpayne@68 235 <td class="parameter_annotations"> </td>
jpayne@68 236 </tr>
jpayne@68 237 <tr>
jpayne@68 238 <td class="parameter_name"><p>height_in_points</p></td>
jpayne@68 239 <td class="parameter_description"><p>height of the surface, in points (1 point == 1/72.0 inch)</p></td>
jpayne@68 240 <td class="parameter_annotations"> </td>
jpayne@68 241 </tr>
jpayne@68 242 </tbody>
jpayne@68 243 </table></div>
jpayne@68 244 </div>
jpayne@68 245 <div class="refsect3">
jpayne@68 246 <a name="cairo-svg-surface-create-for-stream.returns"></a><h4>Returns</h4>
jpayne@68 247 <p> a pointer to the newly created surface. The caller
jpayne@68 248 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
jpayne@68 249 with it.</p>
jpayne@68 250 <p>This function always returns a valid pointer, but it will return a
jpayne@68 251 pointer to a "nil" surface if an error such as out of memory
jpayne@68 252 occurs. You can use <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-status" title="cairo_surface_status ()"><code class="function">cairo_surface_status()</code></a> to check for this.</p>
jpayne@68 253 </div>
jpayne@68 254 <p class="since">Since: 1.2</p>
jpayne@68 255 </div>
jpayne@68 256 <hr>
jpayne@68 257 <div class="refsect2">
jpayne@68 258 <a name="cairo-svg-surface-get-document-unit"></a><h3>cairo_svg_surface_get_document_unit ()</h3>
jpayne@68 259 <pre class="programlisting"><a class="link" href="cairo-SVG-Surfaces.html#cairo-svg-unit-t" title="enum cairo_svg_unit_t"><span class="returnvalue">cairo_svg_unit_t</span></a>
jpayne@68 260 cairo_svg_surface_get_document_unit (<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>
jpayne@68 261 <p>Get the unit of the SVG surface.</p>
jpayne@68 262 <p>If the surface passed as an argument is not a SVG surface, the function
jpayne@68 263 sets the error status to CAIRO_STATUS_SURFACE_TYPE_MISMATCH and returns
jpayne@68 264 CAIRO_SVG_UNIT_USER.</p>
jpayne@68 265 <div class="refsect3">
jpayne@68 266 <a name="cairo-svg-surface-get-document-unit.parameters"></a><h4>Parameters</h4>
jpayne@68 267 <div class="informaltable"><table class="informaltable" width="100%" border="0">
jpayne@68 268 <colgroup>
jpayne@68 269 <col width="150px" class="parameters_name">
jpayne@68 270 <col class="parameters_description">
jpayne@68 271 <col width="200px" class="parameters_annotations">
jpayne@68 272 </colgroup>
jpayne@68 273 <tbody><tr>
jpayne@68 274 <td class="parameter_name"><p>surface</p></td>
jpayne@68 275 <td class="parameter_description"><p>a SVG <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>
jpayne@68 276 <td class="parameter_annotations"> </td>
jpayne@68 277 </tr></tbody>
jpayne@68 278 </table></div>
jpayne@68 279 </div>
jpayne@68 280 <div class="refsect3">
jpayne@68 281 <a name="cairo-svg-surface-get-document-unit.returns"></a><h4>Returns</h4>
jpayne@68 282 <p> the SVG unit of the SVG surface.</p>
jpayne@68 283 </div>
jpayne@68 284 <p class="since">Since: 1.16</p>
jpayne@68 285 </div>
jpayne@68 286 <hr>
jpayne@68 287 <div class="refsect2">
jpayne@68 288 <a name="cairo-svg-surface-set-document-unit"></a><h3>cairo_svg_surface_set_document_unit ()</h3>
jpayne@68 289 <pre class="programlisting"><span class="returnvalue">void</span>
jpayne@68 290 cairo_svg_surface_set_document_unit (<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>,
jpayne@68 291 <em class="parameter"><code><a class="link" href="cairo-SVG-Surfaces.html#cairo-svg-unit-t" title="enum cairo_svg_unit_t"><span class="type">cairo_svg_unit_t</span></a> unit</code></em>);</pre>
jpayne@68 292 <p>Use the specified unit for the width and height of the generated SVG file.
jpayne@68 293 See <a class="link" href="cairo-SVG-Surfaces.html#cairo-svg-unit-t" title="enum cairo_svg_unit_t"><span class="type">cairo_svg_unit_t</span></a> for a list of available unit values that can be used
jpayne@68 294 here.</p>
jpayne@68 295 <p>This function can be called at any time before generating the SVG file.</p>
jpayne@68 296 <p>However to minimize the risk of ambiguities it's recommended to call it
jpayne@68 297 before any drawing operations have been performed on the given surface, to
jpayne@68 298 make it clearer what the unit used in the drawing operations is.</p>
jpayne@68 299 <p>The simplest way to do this is to call this function immediately after
jpayne@68 300 creating the SVG surface.</p>
jpayne@68 301 <p>Note if this function is never called, the default unit for SVG documents
jpayne@68 302 generated by cairo will be "pt". This is for historical reasons.</p>
jpayne@68 303 <div class="refsect3">
jpayne@68 304 <a name="cairo-svg-surface-set-document-unit.parameters"></a><h4>Parameters</h4>
jpayne@68 305 <div class="informaltable"><table class="informaltable" width="100%" border="0">
jpayne@68 306 <colgroup>
jpayne@68 307 <col width="150px" class="parameters_name">
jpayne@68 308 <col class="parameters_description">
jpayne@68 309 <col width="200px" class="parameters_annotations">
jpayne@68 310 </colgroup>
jpayne@68 311 <tbody>
jpayne@68 312 <tr>
jpayne@68 313 <td class="parameter_name"><p>surface</p></td>
jpayne@68 314 <td class="parameter_description"><p>a SVG <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>
jpayne@68 315 <td class="parameter_annotations"> </td>
jpayne@68 316 </tr>
jpayne@68 317 <tr>
jpayne@68 318 <td class="parameter_name"><p>unit</p></td>
jpayne@68 319 <td class="parameter_description"><p>SVG unit</p></td>
jpayne@68 320 <td class="parameter_annotations"> </td>
jpayne@68 321 </tr>
jpayne@68 322 </tbody>
jpayne@68 323 </table></div>
jpayne@68 324 </div>
jpayne@68 325 <p class="since">Since: 1.16</p>
jpayne@68 326 </div>
jpayne@68 327 <hr>
jpayne@68 328 <div class="refsect2">
jpayne@68 329 <a name="cairo-svg-surface-restrict-to-version"></a><h3>cairo_svg_surface_restrict_to_version ()</h3>
jpayne@68 330 <pre class="programlisting"><span class="returnvalue">void</span>
jpayne@68 331 cairo_svg_surface_restrict_to_version (<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>,
jpayne@68 332 <em class="parameter"><code><a class="link" href="cairo-SVG-Surfaces.html#cairo-svg-version-t" title="enum cairo_svg_version_t"><span class="type">cairo_svg_version_t</span></a> version</code></em>);</pre>
jpayne@68 333 <p>Restricts the generated SVG file to <em class="parameter"><code>version</code></em>
jpayne@68 334 . See <a class="link" href="cairo-SVG-Surfaces.html#cairo-svg-get-versions" title="cairo_svg_get_versions ()"><code class="function">cairo_svg_get_versions()</code></a>
jpayne@68 335 for a list of available version values that can be used here.</p>
jpayne@68 336 <p>This function should only be called before any drawing operations
jpayne@68 337 have been performed on the given surface. The simplest way to do
jpayne@68 338 this is to call this function immediately after creating the
jpayne@68 339 surface.</p>
jpayne@68 340 <div class="refsect3">
jpayne@68 341 <a name="cairo-svg-surface-restrict-to-version.parameters"></a><h4>Parameters</h4>
jpayne@68 342 <div class="informaltable"><table class="informaltable" width="100%" border="0">
jpayne@68 343 <colgroup>
jpayne@68 344 <col width="150px" class="parameters_name">
jpayne@68 345 <col class="parameters_description">
jpayne@68 346 <col width="200px" class="parameters_annotations">
jpayne@68 347 </colgroup>
jpayne@68 348 <tbody>
jpayne@68 349 <tr>
jpayne@68 350 <td class="parameter_name"><p>surface</p></td>
jpayne@68 351 <td class="parameter_description"><p>a SVG <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>
jpayne@68 352 <td class="parameter_annotations"> </td>
jpayne@68 353 </tr>
jpayne@68 354 <tr>
jpayne@68 355 <td class="parameter_name"><p>version</p></td>
jpayne@68 356 <td class="parameter_description"><p>SVG version</p></td>
jpayne@68 357 <td class="parameter_annotations"> </td>
jpayne@68 358 </tr>
jpayne@68 359 </tbody>
jpayne@68 360 </table></div>
jpayne@68 361 </div>
jpayne@68 362 <p class="since">Since: 1.2</p>
jpayne@68 363 </div>
jpayne@68 364 <hr>
jpayne@68 365 <div class="refsect2">
jpayne@68 366 <a name="cairo-svg-get-versions"></a><h3>cairo_svg_get_versions ()</h3>
jpayne@68 367 <pre class="programlisting"><span class="returnvalue">void</span>
jpayne@68 368 cairo_svg_get_versions (<em class="parameter"><code><a class="link" href="cairo-SVG-Surfaces.html#cairo-svg-version-t" title="enum cairo_svg_version_t"><span class="type">cairo_svg_version_t</span></a> const **versions</code></em>,
jpayne@68 369 <em class="parameter"><code><span class="type">int</span> *num_versions</code></em>);</pre>
jpayne@68 370 <p>Used to retrieve the list of supported versions. See
jpayne@68 371 <a class="link" href="cairo-SVG-Surfaces.html#cairo-svg-surface-restrict-to-version" title="cairo_svg_surface_restrict_to_version ()"><code class="function">cairo_svg_surface_restrict_to_version()</code></a>.</p>
jpayne@68 372 <div class="refsect3">
jpayne@68 373 <a name="cairo-svg-get-versions.parameters"></a><h4>Parameters</h4>
jpayne@68 374 <div class="informaltable"><table class="informaltable" width="100%" border="0">
jpayne@68 375 <colgroup>
jpayne@68 376 <col width="150px" class="parameters_name">
jpayne@68 377 <col class="parameters_description">
jpayne@68 378 <col width="200px" class="parameters_annotations">
jpayne@68 379 </colgroup>
jpayne@68 380 <tbody>
jpayne@68 381 <tr>
jpayne@68 382 <td class="parameter_name"><p>versions</p></td>
jpayne@68 383 <td class="parameter_description"><p>supported version list</p></td>
jpayne@68 384 <td class="parameter_annotations"> </td>
jpayne@68 385 </tr>
jpayne@68 386 <tr>
jpayne@68 387 <td class="parameter_name"><p>num_versions</p></td>
jpayne@68 388 <td class="parameter_description"><p>list length</p></td>
jpayne@68 389 <td class="parameter_annotations"> </td>
jpayne@68 390 </tr>
jpayne@68 391 </tbody>
jpayne@68 392 </table></div>
jpayne@68 393 </div>
jpayne@68 394 <p class="since">Since: 1.2</p>
jpayne@68 395 </div>
jpayne@68 396 <hr>
jpayne@68 397 <div class="refsect2">
jpayne@68 398 <a name="cairo-svg-version-to-string"></a><h3>cairo_svg_version_to_string ()</h3>
jpayne@68 399 <pre class="programlisting">const <span class="returnvalue">char</span> *
jpayne@68 400 cairo_svg_version_to_string (<em class="parameter"><code><a class="link" href="cairo-SVG-Surfaces.html#cairo-svg-version-t" title="enum cairo_svg_version_t"><span class="type">cairo_svg_version_t</span></a> version</code></em>);</pre>
jpayne@68 401 <p>Get the string representation of the given <em class="parameter"><code>version</code></em>
jpayne@68 402 id. This function
jpayne@68 403 will return <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>version</code></em>
jpayne@68 404 isn't valid. See <a class="link" href="cairo-SVG-Surfaces.html#cairo-svg-get-versions" title="cairo_svg_get_versions ()"><code class="function">cairo_svg_get_versions()</code></a>
jpayne@68 405 for a way to get the list of valid version ids.</p>
jpayne@68 406 <div class="refsect3">
jpayne@68 407 <a name="cairo-svg-version-to-string.parameters"></a><h4>Parameters</h4>
jpayne@68 408 <div class="informaltable"><table class="informaltable" width="100%" border="0">
jpayne@68 409 <colgroup>
jpayne@68 410 <col width="150px" class="parameters_name">
jpayne@68 411 <col class="parameters_description">
jpayne@68 412 <col width="200px" class="parameters_annotations">
jpayne@68 413 </colgroup>
jpayne@68 414 <tbody><tr>
jpayne@68 415 <td class="parameter_name"><p>version</p></td>
jpayne@68 416 <td class="parameter_description"><p>a version id</p></td>
jpayne@68 417 <td class="parameter_annotations"> </td>
jpayne@68 418 </tr></tbody>
jpayne@68 419 </table></div>
jpayne@68 420 </div>
jpayne@68 421 <div class="refsect3">
jpayne@68 422 <a name="cairo-svg-version-to-string.returns"></a><h4>Returns</h4>
jpayne@68 423 <p> the string associated to given version.</p>
jpayne@68 424 </div>
jpayne@68 425 <p class="since">Since: 1.2</p>
jpayne@68 426 </div>
jpayne@68 427 </div>
jpayne@68 428 <div class="refsect1">
jpayne@68 429 <a name="cairo-SVG-Surfaces.other_details"></a><h2>Types and Values</h2>
jpayne@68 430 <div class="refsect2">
jpayne@68 431 <a name="CAIRO-HAS-SVG-SURFACE:CAPS"></a><h3>CAIRO_HAS_SVG_SURFACE</h3>
jpayne@68 432 <pre class="programlisting">#define CAIRO_HAS_SVG_SURFACE 1
jpayne@68 433 </pre>
jpayne@68 434 <p>Defined if the SVG surface backend is available.
jpayne@68 435 This macro can be used to conditionally compile backend-specific code.</p>
jpayne@68 436 <p class="since">Since: 1.2</p>
jpayne@68 437 </div>
jpayne@68 438 <hr>
jpayne@68 439 <div class="refsect2">
jpayne@68 440 <a name="cairo-svg-version-t"></a><h3>enum cairo_svg_version_t</h3>
jpayne@68 441 <p><a class="link" href="cairo-SVG-Surfaces.html#cairo-svg-version-t" title="enum cairo_svg_version_t"><span class="type">cairo_svg_version_t</span></a> is used to describe the version number of the SVG
jpayne@68 442 specification that a generated SVG file will conform to.</p>
jpayne@68 443 <div class="refsect3">
jpayne@68 444 <a name="cairo-svg-version-t.members"></a><h4>Members</h4>
jpayne@68 445 <div class="informaltable"><table class="informaltable" width="100%" border="0">
jpayne@68 446 <colgroup>
jpayne@68 447 <col width="300px" class="enum_members_name">
jpayne@68 448 <col class="enum_members_description">
jpayne@68 449 <col width="200px" class="enum_members_annotations">
jpayne@68 450 </colgroup>
jpayne@68 451 <tbody>
jpayne@68 452 <tr>
jpayne@68 453 <td class="enum_member_name"><p><a name="CAIRO-SVG-VERSION-1-1:CAPS"></a>CAIRO_SVG_VERSION_1_1</p></td>
jpayne@68 454 <td class="enum_member_description">
jpayne@68 455 <p>The version 1.1 of the SVG specification. (Since 1.2)</p>
jpayne@68 456 </td>
jpayne@68 457 <td class="enum_member_annotations"> </td>
jpayne@68 458 </tr>
jpayne@68 459 <tr>
jpayne@68 460 <td class="enum_member_name"><p><a name="CAIRO-SVG-VERSION-1-2:CAPS"></a>CAIRO_SVG_VERSION_1_2</p></td>
jpayne@68 461 <td class="enum_member_description">
jpayne@68 462 <p>The version 1.2 of the SVG specification. (Since 1.2)</p>
jpayne@68 463 </td>
jpayne@68 464 <td class="enum_member_annotations"> </td>
jpayne@68 465 </tr>
jpayne@68 466 </tbody>
jpayne@68 467 </table></div>
jpayne@68 468 </div>
jpayne@68 469 <p class="since">Since: 1.2</p>
jpayne@68 470 </div>
jpayne@68 471 <hr>
jpayne@68 472 <div class="refsect2">
jpayne@68 473 <a name="cairo-svg-unit-t"></a><h3>enum cairo_svg_unit_t</h3>
jpayne@68 474 <p><em class="parameter"><code>CAIRO_SVG_UNIT_USER</code></em>
jpayne@68 475 : User unit, a value in the current coordinate system.
jpayne@68 476 If used in the root element for the initial coordinate systems it
jpayne@68 477 corresponds to pixels. (Since 1.16)
jpayne@68 478 <em class="parameter"><code>CAIRO_SVG_UNIT_EM</code></em>
jpayne@68 479 : The size of the element's font. (Since 1.16)
jpayne@68 480 <em class="parameter"><code>CAIRO_SVG_UNIT_EX</code></em>
jpayne@68 481 : The x-height of the element’s font. (Since 1.16)
jpayne@68 482 <em class="parameter"><code>CAIRO_SVG_UNIT_PX</code></em>
jpayne@68 483 : Pixels (1px = 1/96th of 1in). (Since 1.16)
jpayne@68 484 <em class="parameter"><code>CAIRO_SVG_UNIT_IN</code></em>
jpayne@68 485 : Inches (1in = 2.54cm = 96px). (Since 1.16)
jpayne@68 486 <em class="parameter"><code>CAIRO_SVG_UNIT_CM</code></em>
jpayne@68 487 : Centimeters (1cm = 96px/2.54). (Since 1.16)
jpayne@68 488 <em class="parameter"><code>CAIRO_SVG_UNIT_MM</code></em>
jpayne@68 489 : Millimeters (1mm = 1/10th of 1cm). (Since 1.16)
jpayne@68 490 <em class="parameter"><code>CAIRO_SVG_UNIT_PT</code></em>
jpayne@68 491 : Points (1pt = 1/72th of 1in). (Since 1.16)
jpayne@68 492 <em class="parameter"><code>CAIRO_SVG_UNIT_PC</code></em>
jpayne@68 493 : Picas (1pc = 1/6th of 1in). (Since 1.16)
jpayne@68 494 <em class="parameter"><code>CAIRO_SVG_UNIT_PERCENT</code></em>
jpayne@68 495 : Percent, a value that is some fraction of another
jpayne@68 496 reference value. (Since 1.16)</p>
jpayne@68 497 <p><a class="link" href="cairo-SVG-Surfaces.html#cairo-svg-unit-t" title="enum cairo_svg_unit_t"><span class="type">cairo_svg_unit_t</span></a> is used to describe the units valid for coordinates and
jpayne@68 498 lengths in the SVG specification.</p>
jpayne@68 499 <p>See also:
jpayne@68 500 https://www.w3.org/TR/SVG/coords.html<span class="type">Units</span>
jpayne@68 501 https://www.w3.org/TR/SVG/types.html<span class="type">DataTypeLength</span>
jpayne@68 502 https://www.w3.org/TR/css-values-3/<span class="type">lengths</span></p>
jpayne@68 503 <div class="refsect3">
jpayne@68 504 <a name="cairo-svg-unit-t.members"></a><h4>Members</h4>
jpayne@68 505 <div class="informaltable"><table class="informaltable" width="100%" border="0">
jpayne@68 506 <colgroup>
jpayne@68 507 <col width="300px" class="enum_members_name">
jpayne@68 508 <col class="enum_members_description">
jpayne@68 509 <col width="200px" class="enum_members_annotations">
jpayne@68 510 </colgroup>
jpayne@68 511 <tbody>
jpayne@68 512 <tr>
jpayne@68 513 <td class="enum_member_name"><p><a name="CAIRO-SVG-UNIT-USER:CAPS"></a>CAIRO_SVG_UNIT_USER</p></td>
jpayne@68 514 <td> </td>
jpayne@68 515 <td> </td>
jpayne@68 516 </tr>
jpayne@68 517 <tr>
jpayne@68 518 <td class="enum_member_name"><p><a name="CAIRO-SVG-UNIT-EM:CAPS"></a>CAIRO_SVG_UNIT_EM</p></td>
jpayne@68 519 <td> </td>
jpayne@68 520 <td> </td>
jpayne@68 521 </tr>
jpayne@68 522 <tr>
jpayne@68 523 <td class="enum_member_name"><p><a name="CAIRO-SVG-UNIT-EX:CAPS"></a>CAIRO_SVG_UNIT_EX</p></td>
jpayne@68 524 <td> </td>
jpayne@68 525 <td> </td>
jpayne@68 526 </tr>
jpayne@68 527 <tr>
jpayne@68 528 <td class="enum_member_name"><p><a name="CAIRO-SVG-UNIT-PX:CAPS"></a>CAIRO_SVG_UNIT_PX</p></td>
jpayne@68 529 <td> </td>
jpayne@68 530 <td> </td>
jpayne@68 531 </tr>
jpayne@68 532 <tr>
jpayne@68 533 <td class="enum_member_name"><p><a name="CAIRO-SVG-UNIT-IN:CAPS"></a>CAIRO_SVG_UNIT_IN</p></td>
jpayne@68 534 <td> </td>
jpayne@68 535 <td> </td>
jpayne@68 536 </tr>
jpayne@68 537 <tr>
jpayne@68 538 <td class="enum_member_name"><p><a name="CAIRO-SVG-UNIT-CM:CAPS"></a>CAIRO_SVG_UNIT_CM</p></td>
jpayne@68 539 <td> </td>
jpayne@68 540 <td> </td>
jpayne@68 541 </tr>
jpayne@68 542 <tr>
jpayne@68 543 <td class="enum_member_name"><p><a name="CAIRO-SVG-UNIT-MM:CAPS"></a>CAIRO_SVG_UNIT_MM</p></td>
jpayne@68 544 <td> </td>
jpayne@68 545 <td> </td>
jpayne@68 546 </tr>
jpayne@68 547 <tr>
jpayne@68 548 <td class="enum_member_name"><p><a name="CAIRO-SVG-UNIT-PT:CAPS"></a>CAIRO_SVG_UNIT_PT</p></td>
jpayne@68 549 <td> </td>
jpayne@68 550 <td> </td>
jpayne@68 551 </tr>
jpayne@68 552 <tr>
jpayne@68 553 <td class="enum_member_name"><p><a name="CAIRO-SVG-UNIT-PC:CAPS"></a>CAIRO_SVG_UNIT_PC</p></td>
jpayne@68 554 <td> </td>
jpayne@68 555 <td> </td>
jpayne@68 556 </tr>
jpayne@68 557 <tr>
jpayne@68 558 <td class="enum_member_name"><p><a name="CAIRO-SVG-UNIT-PERCENT:CAPS"></a>CAIRO_SVG_UNIT_PERCENT</p></td>
jpayne@68 559 <td> </td>
jpayne@68 560 <td> </td>
jpayne@68 561 </tr>
jpayne@68 562 </tbody>
jpayne@68 563 </table></div>
jpayne@68 564 </div>
jpayne@68 565 <p class="since">Since: 1.16</p>
jpayne@68 566 </div>
jpayne@68 567 </div>
jpayne@68 568 <div class="refsect1">
jpayne@68 569 <a name="cairo-SVG-Surfaces.see-also"></a><h2>See Also</h2>
jpayne@68 570 <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></p>
jpayne@68 571 </div>
jpayne@68 572 </div>
jpayne@68 573 <div class="footer">
jpayne@68 574 <hr>Generated by GTK-Doc V1.27</div>
jpayne@68 575 </body>
jpayne@68 576 </html>