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>cairo_surface_t: 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-cairo-device-t.html" title="cairo_device_t">
|
jpayne@68
|
10 <link rel="next" href="cairo-Image-Surfaces.html" title="Image 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-cairo-surface-t.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-cairo-device-t.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
|
jpayne@68
|
23 <td><a accesskey="n" href="cairo-Image-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-cairo-surface-t"></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-cairo-surface-t.top_of_page"></a>cairo_surface_t</span></h2>
|
jpayne@68
|
30 <p>cairo_surface_t — Base class for surfaces</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-cairo-surface-t.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-cairo-surface-t.html#cairo-surface-create-similar" title="cairo_surface_create_similar ()">cairo_surface_create_similar</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-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>
|
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-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="returnvalue">cairo_surface_t</span></a> *
|
jpayne@68
|
61 </td>
|
jpayne@68
|
62 <td class="function_name">
|
jpayne@68
|
63 <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>
|
jpayne@68
|
64 </td>
|
jpayne@68
|
65 </tr>
|
jpayne@68
|
66 <tr>
|
jpayne@68
|
67 <td class="function_type">
|
jpayne@68
|
68 <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
|
69 </td>
|
jpayne@68
|
70 <td class="function_name">
|
jpayne@68
|
71 <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>
|
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-cairo-surface-t.html#cairo-surface-destroy" title="cairo_surface_destroy ()">cairo_surface_destroy</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 <a class="link" href="cairo-Error-handling.html#cairo-status-t" title="enum cairo_status_t"><span class="returnvalue">cairo_status_t</span></a>
|
jpayne@68
|
85 </td>
|
jpayne@68
|
86 <td class="function_name">
|
jpayne@68
|
87 <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>
|
jpayne@68
|
88 </td>
|
jpayne@68
|
89 </tr>
|
jpayne@68
|
90 <tr>
|
jpayne@68
|
91 <td class="function_type">
|
jpayne@68
|
92 <span class="returnvalue">void</span>
|
jpayne@68
|
93 </td>
|
jpayne@68
|
94 <td class="function_name">
|
jpayne@68
|
95 <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>
|
jpayne@68
|
96 </td>
|
jpayne@68
|
97 </tr>
|
jpayne@68
|
98 <tr>
|
jpayne@68
|
99 <td class="function_type">
|
jpayne@68
|
100 <span class="returnvalue">void</span>
|
jpayne@68
|
101 </td>
|
jpayne@68
|
102 <td class="function_name">
|
jpayne@68
|
103 <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>
|
jpayne@68
|
104 </td>
|
jpayne@68
|
105 </tr>
|
jpayne@68
|
106 <tr>
|
jpayne@68
|
107 <td class="function_type">
|
jpayne@68
|
108 <a class="link" href="cairo-cairo-device-t.html#cairo-device-t" title="cairo_device_t"><span class="returnvalue">cairo_device_t</span></a> *
|
jpayne@68
|
109 </td>
|
jpayne@68
|
110 <td class="function_name">
|
jpayne@68
|
111 <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>
|
jpayne@68
|
112 </td>
|
jpayne@68
|
113 </tr>
|
jpayne@68
|
114 <tr>
|
jpayne@68
|
115 <td class="function_type">
|
jpayne@68
|
116 <span class="returnvalue">void</span>
|
jpayne@68
|
117 </td>
|
jpayne@68
|
118 <td class="function_name">
|
jpayne@68
|
119 <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>
|
jpayne@68
|
120 </td>
|
jpayne@68
|
121 </tr>
|
jpayne@68
|
122 <tr>
|
jpayne@68
|
123 <td class="function_type">
|
jpayne@68
|
124 <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>
|
jpayne@68
|
125 </td>
|
jpayne@68
|
126 <td class="function_name">
|
jpayne@68
|
127 <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>
|
jpayne@68
|
128 </td>
|
jpayne@68
|
129 </tr>
|
jpayne@68
|
130 <tr>
|
jpayne@68
|
131 <td class="function_type">
|
jpayne@68
|
132 <span class="returnvalue">void</span>
|
jpayne@68
|
133 </td>
|
jpayne@68
|
134 <td class="function_name">
|
jpayne@68
|
135 <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>
|
jpayne@68
|
136 </td>
|
jpayne@68
|
137 </tr>
|
jpayne@68
|
138 <tr>
|
jpayne@68
|
139 <td class="function_type">
|
jpayne@68
|
140 <span class="returnvalue">void</span>
|
jpayne@68
|
141 </td>
|
jpayne@68
|
142 <td class="function_name">
|
jpayne@68
|
143 <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>
|
jpayne@68
|
144 </td>
|
jpayne@68
|
145 </tr>
|
jpayne@68
|
146 <tr>
|
jpayne@68
|
147 <td class="function_type">
|
jpayne@68
|
148 <span class="returnvalue">void</span>
|
jpayne@68
|
149 </td>
|
jpayne@68
|
150 <td class="function_name">
|
jpayne@68
|
151 <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>
|
jpayne@68
|
152 </td>
|
jpayne@68
|
153 </tr>
|
jpayne@68
|
154 <tr>
|
jpayne@68
|
155 <td class="function_type">
|
jpayne@68
|
156 <span class="returnvalue">void</span>
|
jpayne@68
|
157 </td>
|
jpayne@68
|
158 <td class="function_name">
|
jpayne@68
|
159 <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>
|
jpayne@68
|
160 </td>
|
jpayne@68
|
161 </tr>
|
jpayne@68
|
162 <tr>
|
jpayne@68
|
163 <td class="function_type">
|
jpayne@68
|
164 <span class="returnvalue">void</span>
|
jpayne@68
|
165 </td>
|
jpayne@68
|
166 <td class="function_name">
|
jpayne@68
|
167 <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>
|
jpayne@68
|
168 </td>
|
jpayne@68
|
169 </tr>
|
jpayne@68
|
170 <tr>
|
jpayne@68
|
171 <td class="function_type">
|
jpayne@68
|
172 <span class="returnvalue">void</span>
|
jpayne@68
|
173 </td>
|
jpayne@68
|
174 <td class="function_name">
|
jpayne@68
|
175 <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>
|
jpayne@68
|
176 </td>
|
jpayne@68
|
177 </tr>
|
jpayne@68
|
178 <tr>
|
jpayne@68
|
179 <td class="function_type">
|
jpayne@68
|
180 <span class="returnvalue">void</span>
|
jpayne@68
|
181 </td>
|
jpayne@68
|
182 <td class="function_name">
|
jpayne@68
|
183 <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>
|
jpayne@68
|
184 </td>
|
jpayne@68
|
185 </tr>
|
jpayne@68
|
186 <tr>
|
jpayne@68
|
187 <td class="function_type">
|
jpayne@68
|
188 <span class="returnvalue">void</span>
|
jpayne@68
|
189 </td>
|
jpayne@68
|
190 <td class="function_name">
|
jpayne@68
|
191 <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>
|
jpayne@68
|
192 </td>
|
jpayne@68
|
193 </tr>
|
jpayne@68
|
194 <tr>
|
jpayne@68
|
195 <td class="function_type">
|
jpayne@68
|
196 <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>
|
jpayne@68
|
197 </td>
|
jpayne@68
|
198 <td class="function_name">
|
jpayne@68
|
199 <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>
|
jpayne@68
|
200 </td>
|
jpayne@68
|
201 </tr>
|
jpayne@68
|
202 <tr>
|
jpayne@68
|
203 <td class="function_type">unsigned <span class="returnvalue">int</span>
|
jpayne@68
|
204 </td>
|
jpayne@68
|
205 <td class="function_name">
|
jpayne@68
|
206 <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>
|
jpayne@68
|
207 </td>
|
jpayne@68
|
208 </tr>
|
jpayne@68
|
209 <tr>
|
jpayne@68
|
210 <td class="function_type">
|
jpayne@68
|
211 <a class="link" href="cairo-Error-handling.html#cairo-status-t" title="enum cairo_status_t"><span class="returnvalue">cairo_status_t</span></a>
|
jpayne@68
|
212 </td>
|
jpayne@68
|
213 <td class="function_name">
|
jpayne@68
|
214 <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>
|
jpayne@68
|
215 </td>
|
jpayne@68
|
216 </tr>
|
jpayne@68
|
217 <tr>
|
jpayne@68
|
218 <td class="function_type">
|
jpayne@68
|
219 <span class="returnvalue">void</span> *
|
jpayne@68
|
220 </td>
|
jpayne@68
|
221 <td class="function_name">
|
jpayne@68
|
222 <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>
|
jpayne@68
|
223 </td>
|
jpayne@68
|
224 </tr>
|
jpayne@68
|
225 <tr>
|
jpayne@68
|
226 <td class="function_type">
|
jpayne@68
|
227 <span class="returnvalue">void</span>
|
jpayne@68
|
228 </td>
|
jpayne@68
|
229 <td class="function_name">
|
jpayne@68
|
230 <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>
|
jpayne@68
|
231 </td>
|
jpayne@68
|
232 </tr>
|
jpayne@68
|
233 <tr>
|
jpayne@68
|
234 <td class="function_type">
|
jpayne@68
|
235 <span class="returnvalue">void</span>
|
jpayne@68
|
236 </td>
|
jpayne@68
|
237 <td class="function_name">
|
jpayne@68
|
238 <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>
|
jpayne@68
|
239 </td>
|
jpayne@68
|
240 </tr>
|
jpayne@68
|
241 <tr>
|
jpayne@68
|
242 <td class="function_type">
|
jpayne@68
|
243 <a class="link" href="cairo-Types.html#cairo-bool-t" title="cairo_bool_t"><span class="returnvalue">cairo_bool_t</span></a>
|
jpayne@68
|
244 </td>
|
jpayne@68
|
245 <td class="function_name">
|
jpayne@68
|
246 <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>
|
jpayne@68
|
247 </td>
|
jpayne@68
|
248 </tr>
|
jpayne@68
|
249 <tr>
|
jpayne@68
|
250 <td class="function_type">
|
jpayne@68
|
251 <a class="link" href="cairo-Error-handling.html#cairo-status-t" title="enum cairo_status_t"><span class="returnvalue">cairo_status_t</span></a>
|
jpayne@68
|
252 </td>
|
jpayne@68
|
253 <td class="function_name">
|
jpayne@68
|
254 <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>
|
jpayne@68
|
255 </td>
|
jpayne@68
|
256 </tr>
|
jpayne@68
|
257 <tr>
|
jpayne@68
|
258 <td class="function_type">
|
jpayne@68
|
259 <span class="returnvalue">void</span>
|
jpayne@68
|
260 </td>
|
jpayne@68
|
261 <td class="function_name">
|
jpayne@68
|
262 <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>
|
jpayne@68
|
263 </td>
|
jpayne@68
|
264 </tr>
|
jpayne@68
|
265 <tr>
|
jpayne@68
|
266 <td class="function_type">
|
jpayne@68
|
267 <a class="link" href="cairo-Types.html#cairo-bool-t" title="cairo_bool_t"><span class="returnvalue">cairo_bool_t</span></a>
|
jpayne@68
|
268 </td>
|
jpayne@68
|
269 <td class="function_name">
|
jpayne@68
|
270 <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>
|
jpayne@68
|
271 </td>
|
jpayne@68
|
272 </tr>
|
jpayne@68
|
273 <tr>
|
jpayne@68
|
274 <td class="function_type">
|
jpayne@68
|
275 <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
|
276 </td>
|
jpayne@68
|
277 <td class="function_name">
|
jpayne@68
|
278 <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>
|
jpayne@68
|
279 </td>
|
jpayne@68
|
280 </tr>
|
jpayne@68
|
281 <tr>
|
jpayne@68
|
282 <td class="function_type">
|
jpayne@68
|
283 <span class="returnvalue">void</span>
|
jpayne@68
|
284 </td>
|
jpayne@68
|
285 <td class="function_name">
|
jpayne@68
|
286 <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>
|
jpayne@68
|
287 </td>
|
jpayne@68
|
288 </tr>
|
jpayne@68
|
289 </tbody>
|
jpayne@68
|
290 </table></div>
|
jpayne@68
|
291 </div>
|
jpayne@68
|
292 <div class="refsect1">
|
jpayne@68
|
293 <a name="cairo-cairo-surface-t.other"></a><h2>Types and Values</h2>
|
jpayne@68
|
294 <div class="informaltable"><table class="informaltable" width="100%" border="0">
|
jpayne@68
|
295 <colgroup>
|
jpayne@68
|
296 <col width="150px" class="name">
|
jpayne@68
|
297 <col class="description">
|
jpayne@68
|
298 </colgroup>
|
jpayne@68
|
299 <tbody>
|
jpayne@68
|
300 <tr>
|
jpayne@68
|
301 <td class="define_keyword">#define</td>
|
jpayne@68
|
302 <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>
|
jpayne@68
|
303 </tr>
|
jpayne@68
|
304 <tr>
|
jpayne@68
|
305 <td class="define_keyword">#define</td>
|
jpayne@68
|
306 <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>
|
jpayne@68
|
307 </tr>
|
jpayne@68
|
308 <tr>
|
jpayne@68
|
309 <td class="define_keyword">#define</td>
|
jpayne@68
|
310 <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>
|
jpayne@68
|
311 </tr>
|
jpayne@68
|
312 <tr>
|
jpayne@68
|
313 <td class="define_keyword">#define</td>
|
jpayne@68
|
314 <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>
|
jpayne@68
|
315 </tr>
|
jpayne@68
|
316 <tr>
|
jpayne@68
|
317 <td class="define_keyword">#define</td>
|
jpayne@68
|
318 <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>
|
jpayne@68
|
319 </tr>
|
jpayne@68
|
320 <tr>
|
jpayne@68
|
321 <td class="define_keyword">#define</td>
|
jpayne@68
|
322 <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>
|
jpayne@68
|
323 </tr>
|
jpayne@68
|
324 <tr>
|
jpayne@68
|
325 <td class="define_keyword">#define</td>
|
jpayne@68
|
326 <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>
|
jpayne@68
|
327 </tr>
|
jpayne@68
|
328 <tr>
|
jpayne@68
|
329 <td class="define_keyword">#define</td>
|
jpayne@68
|
330 <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>
|
jpayne@68
|
331 </tr>
|
jpayne@68
|
332 <tr>
|
jpayne@68
|
333 <td class="define_keyword">#define</td>
|
jpayne@68
|
334 <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>
|
jpayne@68
|
335 </tr>
|
jpayne@68
|
336 <tr>
|
jpayne@68
|
337 <td class="define_keyword">#define</td>
|
jpayne@68
|
338 <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>
|
jpayne@68
|
339 </tr>
|
jpayne@68
|
340 <tr>
|
jpayne@68
|
341 <td class="define_keyword">#define</td>
|
jpayne@68
|
342 <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>
|
jpayne@68
|
343 </tr>
|
jpayne@68
|
344 <tr>
|
jpayne@68
|
345 <td class="define_keyword">#define</td>
|
jpayne@68
|
346 <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>
|
jpayne@68
|
347 </tr>
|
jpayne@68
|
348 <tr>
|
jpayne@68
|
349 <td class="define_keyword">#define</td>
|
jpayne@68
|
350 <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>
|
jpayne@68
|
351 </tr>
|
jpayne@68
|
352 <tr>
|
jpayne@68
|
353 <td class="typedef_keyword">typedef</td>
|
jpayne@68
|
354 <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>
|
jpayne@68
|
355 </tr>
|
jpayne@68
|
356 <tr>
|
jpayne@68
|
357 <td class="datatype_keyword">enum</td>
|
jpayne@68
|
358 <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>
|
jpayne@68
|
359 </tr>
|
jpayne@68
|
360 <tr>
|
jpayne@68
|
361 <td class="datatype_keyword">enum</td>
|
jpayne@68
|
362 <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>
|
jpayne@68
|
363 </tr>
|
jpayne@68
|
364 </tbody>
|
jpayne@68
|
365 </table></div>
|
jpayne@68
|
366 </div>
|
jpayne@68
|
367 <div class="refsect1">
|
jpayne@68
|
368 <a name="cairo-cairo-surface-t.description"></a><h2>Description</h2>
|
jpayne@68
|
369 <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
|
jpayne@68
|
370 targets that cairo can render to. The actual drawings are
|
jpayne@68
|
371 performed using a cairo <em class="firstterm">context</em>.</p>
|
jpayne@68
|
372 <p>A cairo surface is created by using <em class="firstterm">backend</em>-specific
|
jpayne@68
|
373 constructors, typically of the form
|
jpayne@68
|
374 <code class="function">cairo_<span class="emphasis"><em>backend</em></span>_surface_create()</code>.</p>
|
jpayne@68
|
375 <p>Most surface types allow accessing the surface without using Cairo
|
jpayne@68
|
376 functions. If you do this, keep in mind that it is mandatory that you call
|
jpayne@68
|
377 <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
|
jpayne@68
|
378 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>
|
jpayne@68
|
379 <div class="example">
|
jpayne@68
|
380 <a name="id-1.5.3.5.5"></a><p class="title"><b>Example 1. Directly modifying an image surface</b></p>
|
jpayne@68
|
381 <div class="example-contents">
|
jpayne@68
|
382 <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
|
jpayne@68
|
383 <tbody>
|
jpayne@68
|
384 <tr>
|
jpayne@68
|
385 <td class="listing_lines" align="right"><pre>1
|
jpayne@68
|
386 2
|
jpayne@68
|
387 3
|
jpayne@68
|
388 4
|
jpayne@68
|
389 5
|
jpayne@68
|
390 6
|
jpayne@68
|
391 7
|
jpayne@68
|
392 8
|
jpayne@68
|
393 9
|
jpayne@68
|
394 10
|
jpayne@68
|
395 11
|
jpayne@68
|
396 12
|
jpayne@68
|
397 13
|
jpayne@68
|
398 14
|
jpayne@68
|
399 15
|
jpayne@68
|
400 16
|
jpayne@68
|
401 17
|
jpayne@68
|
402 18
|
jpayne@68
|
403 19</pre></td>
|
jpayne@68
|
404 <td class="listing_code"><pre class="programlisting"><span class="gtkdoc kwb">void</span>
|
jpayne@68
|
405 <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>
|
jpayne@68
|
406 <span class="gtkdoc opt">{</span>
|
jpayne@68
|
407 <span class="gtkdoc kwb">unsigned char</span> <span class="gtkdoc opt">*</span>data<span class="gtkdoc opt">;</span>
|
jpayne@68
|
408 <span class="gtkdoc kwb">int</span> width<span class="gtkdoc opt">,</span> height<span class="gtkdoc opt">,</span> stride<span class="gtkdoc opt">;</span>
|
jpayne@68
|
409
|
jpayne@68
|
410 <span class="gtkdoc slc">// flush to ensure all writing to the image was done</span>
|
jpayne@68
|
411 <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>
|
jpayne@68
|
412
|
jpayne@68
|
413 <span class="gtkdoc slc">// modify the image</span>
|
jpayne@68
|
414 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>
|
jpayne@68
|
415 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>
|
jpayne@68
|
416 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>
|
jpayne@68
|
417 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>
|
jpayne@68
|
418 <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>
|
jpayne@68
|
419
|
jpayne@68
|
420 <span class="gtkdoc slc">// mark the image dirty so Cairo clears its caches.</span>
|
jpayne@68
|
421 <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>
|
jpayne@68
|
422 <span class="gtkdoc opt">}</span></pre></td>
|
jpayne@68
|
423 </tr>
|
jpayne@68
|
424 </tbody>
|
jpayne@68
|
425 </table>
|
jpayne@68
|
426 </div>
|
jpayne@68
|
427
|
jpayne@68
|
428 </div>
|
jpayne@68
|
429 <br class="example-break"><p>Note that for other surface types it might be necessary to acquire the
|
jpayne@68
|
430 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
|
jpayne@68
|
431 devices.</p>
|
jpayne@68
|
432 </div>
|
jpayne@68
|
433 <div class="refsect1">
|
jpayne@68
|
434 <a name="cairo-cairo-surface-t.functions_details"></a><h2>Functions</h2>
|
jpayne@68
|
435 <div class="refsect2">
|
jpayne@68
|
436 <a name="cairo-surface-create-similar"></a><h3>cairo_surface_create_similar ()</h3>
|
jpayne@68
|
437 <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
|
438 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>,
|
jpayne@68
|
439 <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>,
|
jpayne@68
|
440 <em class="parameter"><code><span class="type">int</span> width</code></em>,
|
jpayne@68
|
441 <em class="parameter"><code><span class="type">int</span> height</code></em>);</pre>
|
jpayne@68
|
442 <p>Create a new surface that is as compatible as possible with an
|
jpayne@68
|
443 existing surface. For example the new surface will have the same
|
jpayne@68
|
444 device scale, fallback resolution and font options as
|
jpayne@68
|
445 <em class="parameter"><code>other</code></em>
|
jpayne@68
|
446 . Generally, the new surface will also use the same backend
|
jpayne@68
|
447 as <em class="parameter"><code>other</code></em>
|
jpayne@68
|
448 , unless that is not possible for some reason. The type of
|
jpayne@68
|
449 the returned surface may be examined with
|
jpayne@68
|
450 <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>
|
jpayne@68
|
451 <p>Initially the surface contents are all 0 (transparent if contents
|
jpayne@68
|
452 have transparency, black otherwise.)</p>
|
jpayne@68
|
453 <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
|
jpayne@68
|
454 which can be painted quickly to the target surface.</p>
|
jpayne@68
|
455 <div class="refsect3">
|
jpayne@68
|
456 <a name="cairo-surface-create-similar.parameters"></a><h4>Parameters</h4>
|
jpayne@68
|
457 <div class="informaltable"><table class="informaltable" width="100%" border="0">
|
jpayne@68
|
458 <colgroup>
|
jpayne@68
|
459 <col width="150px" class="parameters_name">
|
jpayne@68
|
460 <col class="parameters_description">
|
jpayne@68
|
461 <col width="200px" class="parameters_annotations">
|
jpayne@68
|
462 </colgroup>
|
jpayne@68
|
463 <tbody>
|
jpayne@68
|
464 <tr>
|
jpayne@68
|
465 <td class="parameter_name"><p>other</p></td>
|
jpayne@68
|
466 <td class="parameter_description"><p>an existing surface used to select the backend of the new surface</p></td>
|
jpayne@68
|
467 <td class="parameter_annotations"> </td>
|
jpayne@68
|
468 </tr>
|
jpayne@68
|
469 <tr>
|
jpayne@68
|
470 <td class="parameter_name"><p>content</p></td>
|
jpayne@68
|
471 <td class="parameter_description"><p>the content for the new surface</p></td>
|
jpayne@68
|
472 <td class="parameter_annotations"> </td>
|
jpayne@68
|
473 </tr>
|
jpayne@68
|
474 <tr>
|
jpayne@68
|
475 <td class="parameter_name"><p>width</p></td>
|
jpayne@68
|
476 <td class="parameter_description"><p>width of the new surface, (in device-space units)</p></td>
|
jpayne@68
|
477 <td class="parameter_annotations"> </td>
|
jpayne@68
|
478 </tr>
|
jpayne@68
|
479 <tr>
|
jpayne@68
|
480 <td class="parameter_name"><p>height</p></td>
|
jpayne@68
|
481 <td class="parameter_description"><p>height of the new surface (in device-space units)</p></td>
|
jpayne@68
|
482 <td class="parameter_annotations"> </td>
|
jpayne@68
|
483 </tr>
|
jpayne@68
|
484 </tbody>
|
jpayne@68
|
485 </table></div>
|
jpayne@68
|
486 </div>
|
jpayne@68
|
487 <div class="refsect3">
|
jpayne@68
|
488 <a name="cairo-surface-create-similar.returns"></a><h4>Returns</h4>
|
jpayne@68
|
489 <p> a pointer to the newly allocated surface. The caller
|
jpayne@68
|
490 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
|
491 with it.</p>
|
jpayne@68
|
492 <p>This function always returns a valid pointer, but it will return a
|
jpayne@68
|
493 pointer to a "nil" surface if <em class="parameter"><code>other</code></em>
|
jpayne@68
|
494 is already in an error state
|
jpayne@68
|
495 or any other error occurs.</p>
|
jpayne@68
|
496 </div>
|
jpayne@68
|
497 <p class="since">Since: 1.0</p>
|
jpayne@68
|
498 </div>
|
jpayne@68
|
499 <hr>
|
jpayne@68
|
500 <div class="refsect2">
|
jpayne@68
|
501 <a name="cairo-surface-create-similar-image"></a><h3>cairo_surface_create_similar_image ()</h3>
|
jpayne@68
|
502 <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
|
503 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>,
|
jpayne@68
|
504 <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>,
|
jpayne@68
|
505 <em class="parameter"><code><span class="type">int</span> width</code></em>,
|
jpayne@68
|
506 <em class="parameter"><code><span class="type">int</span> height</code></em>);</pre>
|
jpayne@68
|
507 <p>Create a new image surface that is as compatible as possible for uploading
|
jpayne@68
|
508 to and the use in conjunction with an existing surface. However, this surface
|
jpayne@68
|
509 can still be used like any normal image surface. Unlike
|
jpayne@68
|
510 <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
|
jpayne@68
|
511 the device scale from <em class="parameter"><code>other</code></em>
|
jpayne@68
|
512 .</p>
|
jpayne@68
|
513 <p>Initially the surface contents are all 0 (transparent if contents
|
jpayne@68
|
514 have transparency, black otherwise.)</p>
|
jpayne@68
|
515 <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>
|
jpayne@68
|
516 <div class="refsect3">
|
jpayne@68
|
517 <a name="cairo-surface-create-similar-image.parameters"></a><h4>Parameters</h4>
|
jpayne@68
|
518 <div class="informaltable"><table class="informaltable" width="100%" border="0">
|
jpayne@68
|
519 <colgroup>
|
jpayne@68
|
520 <col width="150px" class="parameters_name">
|
jpayne@68
|
521 <col class="parameters_description">
|
jpayne@68
|
522 <col width="200px" class="parameters_annotations">
|
jpayne@68
|
523 </colgroup>
|
jpayne@68
|
524 <tbody>
|
jpayne@68
|
525 <tr>
|
jpayne@68
|
526 <td class="parameter_name"><p>other</p></td>
|
jpayne@68
|
527 <td class="parameter_description"><p>an existing surface used to select the preference of the new surface</p></td>
|
jpayne@68
|
528 <td class="parameter_annotations"> </td>
|
jpayne@68
|
529 </tr>
|
jpayne@68
|
530 <tr>
|
jpayne@68
|
531 <td class="parameter_name"><p>format</p></td>
|
jpayne@68
|
532 <td class="parameter_description"><p>the format for the new surface</p></td>
|
jpayne@68
|
533 <td class="parameter_annotations"> </td>
|
jpayne@68
|
534 </tr>
|
jpayne@68
|
535 <tr>
|
jpayne@68
|
536 <td class="parameter_name"><p>width</p></td>
|
jpayne@68
|
537 <td class="parameter_description"><p>width of the new surface, (in pixels)</p></td>
|
jpayne@68
|
538 <td class="parameter_annotations"> </td>
|
jpayne@68
|
539 </tr>
|
jpayne@68
|
540 <tr>
|
jpayne@68
|
541 <td class="parameter_name"><p>height</p></td>
|
jpayne@68
|
542 <td class="parameter_description"><p>height of the new surface (in pixels)</p></td>
|
jpayne@68
|
543 <td class="parameter_annotations"> </td>
|
jpayne@68
|
544 </tr>
|
jpayne@68
|
545 </tbody>
|
jpayne@68
|
546 </table></div>
|
jpayne@68
|
547 </div>
|
jpayne@68
|
548 <div class="refsect3">
|
jpayne@68
|
549 <a name="cairo-surface-create-similar-image.returns"></a><h4>Returns</h4>
|
jpayne@68
|
550 <p> a pointer to the newly allocated image surface. The caller
|
jpayne@68
|
551 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
|
552 with it.</p>
|
jpayne@68
|
553 <p>This function always returns a valid pointer, but it will return a
|
jpayne@68
|
554 pointer to a "nil" surface if <em class="parameter"><code>other</code></em>
|
jpayne@68
|
555 is already in an error state
|
jpayne@68
|
556 or any other error occurs.</p>
|
jpayne@68
|
557 </div>
|
jpayne@68
|
558 <p class="since">Since: 1.12</p>
|
jpayne@68
|
559 </div>
|
jpayne@68
|
560 <hr>
|
jpayne@68
|
561 <div class="refsect2">
|
jpayne@68
|
562 <a name="cairo-surface-create-for-rectangle"></a><h3>cairo_surface_create_for_rectangle ()</h3>
|
jpayne@68
|
563 <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
|
564 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>,
|
jpayne@68
|
565 <em class="parameter"><code><span class="type">double</span> x</code></em>,
|
jpayne@68
|
566 <em class="parameter"><code><span class="type">double</span> y</code></em>,
|
jpayne@68
|
567 <em class="parameter"><code><span class="type">double</span> width</code></em>,
|
jpayne@68
|
568 <em class="parameter"><code><span class="type">double</span> height</code></em>);</pre>
|
jpayne@68
|
569 <p>Create a new surface that is a rectangle within the target surface.
|
jpayne@68
|
570 All operations drawn to this surface are then clipped and translated
|
jpayne@68
|
571 onto the target surface. Nothing drawn via this sub-surface outside of
|
jpayne@68
|
572 its bounds is drawn onto the target surface, making this a useful method
|
jpayne@68
|
573 for passing constrained child surfaces to library routines that draw
|
jpayne@68
|
574 directly onto the parent surface, i.e. with no further backend allocations,
|
jpayne@68
|
575 double buffering or copies.</p>
|
jpayne@68
|
576 <div class="note"><p>The semantics of subsurfaces have not been finalized yet
|
jpayne@68
|
577 unless the rectangle is in full device units, is contained within
|
jpayne@68
|
578 the extents of the target surface, and the target or subsurface's
|
jpayne@68
|
579 device transforms are not changed.</p></div>
|
jpayne@68
|
580 <div class="refsect3">
|
jpayne@68
|
581 <a name="cairo-surface-create-for-rectangle.parameters"></a><h4>Parameters</h4>
|
jpayne@68
|
582 <div class="informaltable"><table class="informaltable" width="100%" border="0">
|
jpayne@68
|
583 <colgroup>
|
jpayne@68
|
584 <col width="150px" class="parameters_name">
|
jpayne@68
|
585 <col class="parameters_description">
|
jpayne@68
|
586 <col width="200px" class="parameters_annotations">
|
jpayne@68
|
587 </colgroup>
|
jpayne@68
|
588 <tbody>
|
jpayne@68
|
589 <tr>
|
jpayne@68
|
590 <td class="parameter_name"><p>target</p></td>
|
jpayne@68
|
591 <td class="parameter_description"><p>an existing surface for which the sub-surface will point to</p></td>
|
jpayne@68
|
592 <td class="parameter_annotations"> </td>
|
jpayne@68
|
593 </tr>
|
jpayne@68
|
594 <tr>
|
jpayne@68
|
595 <td class="parameter_name"><p>x</p></td>
|
jpayne@68
|
596 <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>
|
jpayne@68
|
597 <td class="parameter_annotations"> </td>
|
jpayne@68
|
598 </tr>
|
jpayne@68
|
599 <tr>
|
jpayne@68
|
600 <td class="parameter_name"><p>y</p></td>
|
jpayne@68
|
601 <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>
|
jpayne@68
|
602 <td class="parameter_annotations"> </td>
|
jpayne@68
|
603 </tr>
|
jpayne@68
|
604 <tr>
|
jpayne@68
|
605 <td class="parameter_name"><p>width</p></td>
|
jpayne@68
|
606 <td class="parameter_description"><p>width of the sub-surface (in device-space units)</p></td>
|
jpayne@68
|
607 <td class="parameter_annotations"> </td>
|
jpayne@68
|
608 </tr>
|
jpayne@68
|
609 <tr>
|
jpayne@68
|
610 <td class="parameter_name"><p>height</p></td>
|
jpayne@68
|
611 <td class="parameter_description"><p>height of the sub-surface (in device-space units)</p></td>
|
jpayne@68
|
612 <td class="parameter_annotations"> </td>
|
jpayne@68
|
613 </tr>
|
jpayne@68
|
614 </tbody>
|
jpayne@68
|
615 </table></div>
|
jpayne@68
|
616 </div>
|
jpayne@68
|
617 <div class="refsect3">
|
jpayne@68
|
618 <a name="cairo-surface-create-for-rectangle.returns"></a><h4>Returns</h4>
|
jpayne@68
|
619 <p> a pointer to the newly allocated surface. The caller
|
jpayne@68
|
620 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
|
621 with it.</p>
|
jpayne@68
|
622 <p>This function always returns a valid pointer, but it will return a
|
jpayne@68
|
623 pointer to a "nil" surface if <em class="parameter"><code>other</code></em>
|
jpayne@68
|
624 is already in an error state
|
jpayne@68
|
625 or any other error occurs.</p>
|
jpayne@68
|
626 </div>
|
jpayne@68
|
627 <p class="since">Since: 1.10</p>
|
jpayne@68
|
628 </div>
|
jpayne@68
|
629 <hr>
|
jpayne@68
|
630 <div class="refsect2">
|
jpayne@68
|
631 <a name="cairo-surface-reference"></a><h3>cairo_surface_reference ()</h3>
|
jpayne@68
|
632 <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
|
633 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>
|
jpayne@68
|
634 <p>Increases the reference count on <em class="parameter"><code>surface</code></em>
|
jpayne@68
|
635 by one. This prevents
|
jpayne@68
|
636 <em class="parameter"><code>surface</code></em>
|
jpayne@68
|
637 from being destroyed until a matching call to
|
jpayne@68
|
638 <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>
|
jpayne@68
|
639 <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
|
jpayne@68
|
640 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>
|
jpayne@68
|
641 <div class="refsect3">
|
jpayne@68
|
642 <a name="cairo-surface-reference.parameters"></a><h4>Parameters</h4>
|
jpayne@68
|
643 <div class="informaltable"><table class="informaltable" width="100%" border="0">
|
jpayne@68
|
644 <colgroup>
|
jpayne@68
|
645 <col width="150px" class="parameters_name">
|
jpayne@68
|
646 <col class="parameters_description">
|
jpayne@68
|
647 <col width="200px" class="parameters_annotations">
|
jpayne@68
|
648 </colgroup>
|
jpayne@68
|
649 <tbody><tr>
|
jpayne@68
|
650 <td class="parameter_name"><p>surface</p></td>
|
jpayne@68
|
651 <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>
|
jpayne@68
|
652 <td class="parameter_annotations"> </td>
|
jpayne@68
|
653 </tr></tbody>
|
jpayne@68
|
654 </table></div>
|
jpayne@68
|
655 </div>
|
jpayne@68
|
656 <div class="refsect3">
|
jpayne@68
|
657 <a name="cairo-surface-reference.returns"></a><h4>Returns</h4>
|
jpayne@68
|
658 <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>
|
jpayne@68
|
659 </div>
|
jpayne@68
|
660 <p class="since">Since: 1.0</p>
|
jpayne@68
|
661 </div>
|
jpayne@68
|
662 <hr>
|
jpayne@68
|
663 <div class="refsect2">
|
jpayne@68
|
664 <a name="cairo-surface-destroy"></a><h3>cairo_surface_destroy ()</h3>
|
jpayne@68
|
665 <pre class="programlisting"><span class="returnvalue">void</span>
|
jpayne@68
|
666 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>
|
jpayne@68
|
667 <p>Decreases the reference count on <em class="parameter"><code>surface</code></em>
|
jpayne@68
|
668 by one. If the result is
|
jpayne@68
|
669 zero, then <em class="parameter"><code>surface</code></em>
|
jpayne@68
|
670 and all associated resources are freed. See
|
jpayne@68
|
671 <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>
|
jpayne@68
|
672 <div class="refsect3">
|
jpayne@68
|
673 <a name="cairo-surface-destroy.parameters"></a><h4>Parameters</h4>
|
jpayne@68
|
674 <div class="informaltable"><table class="informaltable" width="100%" border="0">
|
jpayne@68
|
675 <colgroup>
|
jpayne@68
|
676 <col width="150px" class="parameters_name">
|
jpayne@68
|
677 <col class="parameters_description">
|
jpayne@68
|
678 <col width="200px" class="parameters_annotations">
|
jpayne@68
|
679 </colgroup>
|
jpayne@68
|
680 <tbody><tr>
|
jpayne@68
|
681 <td class="parameter_name"><p>surface</p></td>
|
jpayne@68
|
682 <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>
|
jpayne@68
|
683 <td class="parameter_annotations"> </td>
|
jpayne@68
|
684 </tr></tbody>
|
jpayne@68
|
685 </table></div>
|
jpayne@68
|
686 </div>
|
jpayne@68
|
687 <p class="since">Since: 1.0</p>
|
jpayne@68
|
688 </div>
|
jpayne@68
|
689 <hr>
|
jpayne@68
|
690 <div class="refsect2">
|
jpayne@68
|
691 <a name="cairo-surface-status"></a><h3>cairo_surface_status ()</h3>
|
jpayne@68
|
692 <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>
|
jpayne@68
|
693 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>
|
jpayne@68
|
694 <p>Checks whether an error has previously occurred for this
|
jpayne@68
|
695 surface.</p>
|
jpayne@68
|
696 <div class="refsect3">
|
jpayne@68
|
697 <a name="cairo-surface-status.parameters"></a><h4>Parameters</h4>
|
jpayne@68
|
698 <div class="informaltable"><table class="informaltable" width="100%" border="0">
|
jpayne@68
|
699 <colgroup>
|
jpayne@68
|
700 <col width="150px" class="parameters_name">
|
jpayne@68
|
701 <col class="parameters_description">
|
jpayne@68
|
702 <col width="200px" class="parameters_annotations">
|
jpayne@68
|
703 </colgroup>
|
jpayne@68
|
704 <tbody><tr>
|
jpayne@68
|
705 <td class="parameter_name"><p>surface</p></td>
|
jpayne@68
|
706 <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>
|
jpayne@68
|
707 <td class="parameter_annotations"> </td>
|
jpayne@68
|
708 </tr></tbody>
|
jpayne@68
|
709 </table></div>
|
jpayne@68
|
710 </div>
|
jpayne@68
|
711 <div class="refsect3">
|
jpayne@68
|
712 <a name="cairo-surface-status.returns"></a><h4>Returns</h4>
|
jpayne@68
|
713 <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>,
|
jpayne@68
|
714 <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>,
|
jpayne@68
|
715 <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
|
jpayne@68
|
716 <a class="link" href="cairo-Error-handling.html#CAIRO-STATUS-INVALID-VISUAL:CAPS"><code class="literal">CAIRO_STATUS_INVALID_VISUAL</code></a>.</p>
|
jpayne@68
|
717 </div>
|
jpayne@68
|
718 <p class="since">Since: 1.0</p>
|
jpayne@68
|
719 </div>
|
jpayne@68
|
720 <hr>
|
jpayne@68
|
721 <div class="refsect2">
|
jpayne@68
|
722 <a name="cairo-surface-finish"></a><h3>cairo_surface_finish ()</h3>
|
jpayne@68
|
723 <pre class="programlisting"><span class="returnvalue">void</span>
|
jpayne@68
|
724 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>
|
jpayne@68
|
725 <p>This function finishes the surface and drops all references to
|
jpayne@68
|
726 external resources. For example, for the Xlib backend it means
|
jpayne@68
|
727 that cairo will no longer access the drawable, which can be freed.
|
jpayne@68
|
728 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
|
jpayne@68
|
729 surface are getting and setting user, referencing and
|
jpayne@68
|
730 destroying, and flushing and finishing it.
|
jpayne@68
|
731 Further drawing to the surface will not affect the
|
jpayne@68
|
732 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>
|
jpayne@68
|
733 error.</p>
|
jpayne@68
|
734 <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
|
jpayne@68
|
735 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
|
jpayne@68
|
736 it hasn't been called already, before freeing the resources
|
jpayne@68
|
737 associated with the surface.</p>
|
jpayne@68
|
738 <div class="refsect3">
|
jpayne@68
|
739 <a name="cairo-surface-finish.parameters"></a><h4>Parameters</h4>
|
jpayne@68
|
740 <div class="informaltable"><table class="informaltable" width="100%" border="0">
|
jpayne@68
|
741 <colgroup>
|
jpayne@68
|
742 <col width="150px" class="parameters_name">
|
jpayne@68
|
743 <col class="parameters_description">
|
jpayne@68
|
744 <col width="200px" class="parameters_annotations">
|
jpayne@68
|
745 </colgroup>
|
jpayne@68
|
746 <tbody><tr>
|
jpayne@68
|
747 <td class="parameter_name"><p>surface</p></td>
|
jpayne@68
|
748 <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>
|
jpayne@68
|
749 <td class="parameter_annotations"> </td>
|
jpayne@68
|
750 </tr></tbody>
|
jpayne@68
|
751 </table></div>
|
jpayne@68
|
752 </div>
|
jpayne@68
|
753 <p class="since">Since: 1.0</p>
|
jpayne@68
|
754 </div>
|
jpayne@68
|
755 <hr>
|
jpayne@68
|
756 <div class="refsect2">
|
jpayne@68
|
757 <a name="cairo-surface-flush"></a><h3>cairo_surface_flush ()</h3>
|
jpayne@68
|
758 <pre class="programlisting"><span class="returnvalue">void</span>
|
jpayne@68
|
759 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>
|
jpayne@68
|
760 <p>Do any pending drawing for the surface and also restore any temporary
|
jpayne@68
|
761 modifications cairo has made to the surface's state. This function
|
jpayne@68
|
762 must be called before switching from drawing on the surface with
|
jpayne@68
|
763 cairo to drawing on it directly with native APIs, or accessing its
|
jpayne@68
|
764 memory outside of Cairo. If the surface doesn't support direct
|
jpayne@68
|
765 access, then this function does nothing.</p>
|
jpayne@68
|
766 <div class="refsect3">
|
jpayne@68
|
767 <a name="cairo-surface-flush.parameters"></a><h4>Parameters</h4>
|
jpayne@68
|
768 <div class="informaltable"><table class="informaltable" width="100%" border="0">
|
jpayne@68
|
769 <colgroup>
|
jpayne@68
|
770 <col width="150px" class="parameters_name">
|
jpayne@68
|
771 <col class="parameters_description">
|
jpayne@68
|
772 <col width="200px" class="parameters_annotations">
|
jpayne@68
|
773 </colgroup>
|
jpayne@68
|
774 <tbody><tr>
|
jpayne@68
|
775 <td class="parameter_name"><p>surface</p></td>
|
jpayne@68
|
776 <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>
|
jpayne@68
|
777 <td class="parameter_annotations"> </td>
|
jpayne@68
|
778 </tr></tbody>
|
jpayne@68
|
779 </table></div>
|
jpayne@68
|
780 </div>
|
jpayne@68
|
781 <p class="since">Since: 1.0</p>
|
jpayne@68
|
782 </div>
|
jpayne@68
|
783 <hr>
|
jpayne@68
|
784 <div class="refsect2">
|
jpayne@68
|
785 <a name="cairo-surface-get-device"></a><h3>cairo_surface_get_device ()</h3>
|
jpayne@68
|
786 <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> *
|
jpayne@68
|
787 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>
|
jpayne@68
|
788 <p>This function returns the device for a <em class="parameter"><code>surface</code></em>
|
jpayne@68
|
789 .
|
jpayne@68
|
790 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>
|
jpayne@68
|
791 <div class="refsect3">
|
jpayne@68
|
792 <a name="cairo-surface-get-device.parameters"></a><h4>Parameters</h4>
|
jpayne@68
|
793 <div class="informaltable"><table class="informaltable" width="100%" border="0">
|
jpayne@68
|
794 <colgroup>
|
jpayne@68
|
795 <col width="150px" class="parameters_name">
|
jpayne@68
|
796 <col class="parameters_description">
|
jpayne@68
|
797 <col width="200px" class="parameters_annotations">
|
jpayne@68
|
798 </colgroup>
|
jpayne@68
|
799 <tbody><tr>
|
jpayne@68
|
800 <td class="parameter_name"><p>surface</p></td>
|
jpayne@68
|
801 <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>
|
jpayne@68
|
802 <td class="parameter_annotations"> </td>
|
jpayne@68
|
803 </tr></tbody>
|
jpayne@68
|
804 </table></div>
|
jpayne@68
|
805 </div>
|
jpayne@68
|
806 <div class="refsect3">
|
jpayne@68
|
807 <a name="cairo-surface-get-device.returns"></a><h4>Returns</h4>
|
jpayne@68
|
808 <p> The device for <em class="parameter"><code>surface</code></em>
|
jpayne@68
|
809 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
|
jpayne@68
|
810 not have an associated device.</p>
|
jpayne@68
|
811 </div>
|
jpayne@68
|
812 <p class="since">Since: 1.10</p>
|
jpayne@68
|
813 </div>
|
jpayne@68
|
814 <hr>
|
jpayne@68
|
815 <div class="refsect2">
|
jpayne@68
|
816 <a name="cairo-surface-get-font-options"></a><h3>cairo_surface_get_font_options ()</h3>
|
jpayne@68
|
817 <pre class="programlisting"><span class="returnvalue">void</span>
|
jpayne@68
|
818 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>,
|
jpayne@68
|
819 <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>
|
jpayne@68
|
820 <p>Retrieves the default font rendering options for the surface.
|
jpayne@68
|
821 This allows display surfaces to report the correct subpixel order
|
jpayne@68
|
822 for rendering on them, print surfaces to disable hinting of
|
jpayne@68
|
823 metrics and so forth. The result can then be used with
|
jpayne@68
|
824 <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>
|
jpayne@68
|
825 <div class="refsect3">
|
jpayne@68
|
826 <a name="cairo-surface-get-font-options.parameters"></a><h4>Parameters</h4>
|
jpayne@68
|
827 <div class="informaltable"><table class="informaltable" width="100%" border="0">
|
jpayne@68
|
828 <colgroup>
|
jpayne@68
|
829 <col width="150px" class="parameters_name">
|
jpayne@68
|
830 <col class="parameters_description">
|
jpayne@68
|
831 <col width="200px" class="parameters_annotations">
|
jpayne@68
|
832 </colgroup>
|
jpayne@68
|
833 <tbody>
|
jpayne@68
|
834 <tr>
|
jpayne@68
|
835 <td class="parameter_name"><p>surface</p></td>
|
jpayne@68
|
836 <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>
|
jpayne@68
|
837 <td class="parameter_annotations"> </td>
|
jpayne@68
|
838 </tr>
|
jpayne@68
|
839 <tr>
|
jpayne@68
|
840 <td class="parameter_name"><p>options</p></td>
|
jpayne@68
|
841 <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
|
jpayne@68
|
842 the retrieved options. All existing values are overwritten</p></td>
|
jpayne@68
|
843 <td class="parameter_annotations"> </td>
|
jpayne@68
|
844 </tr>
|
jpayne@68
|
845 </tbody>
|
jpayne@68
|
846 </table></div>
|
jpayne@68
|
847 </div>
|
jpayne@68
|
848 <p class="since">Since: 1.0</p>
|
jpayne@68
|
849 </div>
|
jpayne@68
|
850 <hr>
|
jpayne@68
|
851 <div class="refsect2">
|
jpayne@68
|
852 <a name="cairo-surface-get-content"></a><h3>cairo_surface_get_content ()</h3>
|
jpayne@68
|
853 <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>
|
jpayne@68
|
854 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>
|
jpayne@68
|
855 <p>This function returns the content type of <em class="parameter"><code>surface</code></em>
|
jpayne@68
|
856 which indicates
|
jpayne@68
|
857 whether the surface contains color and/or alpha information. See
|
jpayne@68
|
858 <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>
|
jpayne@68
|
859 <div class="refsect3">
|
jpayne@68
|
860 <a name="cairo-surface-get-content.parameters"></a><h4>Parameters</h4>
|
jpayne@68
|
861 <div class="informaltable"><table class="informaltable" width="100%" border="0">
|
jpayne@68
|
862 <colgroup>
|
jpayne@68
|
863 <col width="150px" class="parameters_name">
|
jpayne@68
|
864 <col class="parameters_description">
|
jpayne@68
|
865 <col width="200px" class="parameters_annotations">
|
jpayne@68
|
866 </colgroup>
|
jpayne@68
|
867 <tbody><tr>
|
jpayne@68
|
868 <td class="parameter_name"><p>surface</p></td>
|
jpayne@68
|
869 <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>
|
jpayne@68
|
870 <td class="parameter_annotations"> </td>
|
jpayne@68
|
871 </tr></tbody>
|
jpayne@68
|
872 </table></div>
|
jpayne@68
|
873 </div>
|
jpayne@68
|
874 <div class="refsect3">
|
jpayne@68
|
875 <a name="cairo-surface-get-content.returns"></a><h4>Returns</h4>
|
jpayne@68
|
876 <p> The content type of <em class="parameter"><code>surface</code></em>
|
jpayne@68
|
877 .</p>
|
jpayne@68
|
878 </div>
|
jpayne@68
|
879 <p class="since">Since: 1.2</p>
|
jpayne@68
|
880 </div>
|
jpayne@68
|
881 <hr>
|
jpayne@68
|
882 <div class="refsect2">
|
jpayne@68
|
883 <a name="cairo-surface-mark-dirty"></a><h3>cairo_surface_mark_dirty ()</h3>
|
jpayne@68
|
884 <pre class="programlisting"><span class="returnvalue">void</span>
|
jpayne@68
|
885 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>
|
jpayne@68
|
886 <p>Tells cairo that drawing has been done to surface using means other
|
jpayne@68
|
887 than cairo, and that cairo should reread any cached areas. Note
|
jpayne@68
|
888 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>
|
jpayne@68
|
889 <div class="refsect3">
|
jpayne@68
|
890 <a name="cairo-surface-mark-dirty.parameters"></a><h4>Parameters</h4>
|
jpayne@68
|
891 <div class="informaltable"><table class="informaltable" width="100%" border="0">
|
jpayne@68
|
892 <colgroup>
|
jpayne@68
|
893 <col width="150px" class="parameters_name">
|
jpayne@68
|
894 <col class="parameters_description">
|
jpayne@68
|
895 <col width="200px" class="parameters_annotations">
|
jpayne@68
|
896 </colgroup>
|
jpayne@68
|
897 <tbody><tr>
|
jpayne@68
|
898 <td class="parameter_name"><p>surface</p></td>
|
jpayne@68
|
899 <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>
|
jpayne@68
|
900 <td class="parameter_annotations"> </td>
|
jpayne@68
|
901 </tr></tbody>
|
jpayne@68
|
902 </table></div>
|
jpayne@68
|
903 </div>
|
jpayne@68
|
904 <p class="since">Since: 1.0</p>
|
jpayne@68
|
905 </div>
|
jpayne@68
|
906 <hr>
|
jpayne@68
|
907 <div class="refsect2">
|
jpayne@68
|
908 <a name="cairo-surface-mark-dirty-rectangle"></a><h3>cairo_surface_mark_dirty_rectangle ()</h3>
|
jpayne@68
|
909 <pre class="programlisting"><span class="returnvalue">void</span>
|
jpayne@68
|
910 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>,
|
jpayne@68
|
911 <em class="parameter"><code><span class="type">int</span> x</code></em>,
|
jpayne@68
|
912 <em class="parameter"><code><span class="type">int</span> y</code></em>,
|
jpayne@68
|
913 <em class="parameter"><code><span class="type">int</span> width</code></em>,
|
jpayne@68
|
914 <em class="parameter"><code><span class="type">int</span> height</code></em>);</pre>
|
jpayne@68
|
915 <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
|
jpayne@68
|
916 the specified rectangle, so that cairo can retain cached contents
|
jpayne@68
|
917 for other parts of the surface.</p>
|
jpayne@68
|
918 <p>Any cached clip set on the surface will be reset by this function,
|
jpayne@68
|
919 to make sure that future cairo calls have the clip set that they
|
jpayne@68
|
920 expect.</p>
|
jpayne@68
|
921 <div class="refsect3">
|
jpayne@68
|
922 <a name="cairo-surface-mark-dirty-rectangle.parameters"></a><h4>Parameters</h4>
|
jpayne@68
|
923 <div class="informaltable"><table class="informaltable" width="100%" border="0">
|
jpayne@68
|
924 <colgroup>
|
jpayne@68
|
925 <col width="150px" class="parameters_name">
|
jpayne@68
|
926 <col class="parameters_description">
|
jpayne@68
|
927 <col width="200px" class="parameters_annotations">
|
jpayne@68
|
928 </colgroup>
|
jpayne@68
|
929 <tbody>
|
jpayne@68
|
930 <tr>
|
jpayne@68
|
931 <td class="parameter_name"><p>surface</p></td>
|
jpayne@68
|
932 <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>
|
jpayne@68
|
933 <td class="parameter_annotations"> </td>
|
jpayne@68
|
934 </tr>
|
jpayne@68
|
935 <tr>
|
jpayne@68
|
936 <td class="parameter_name"><p>x</p></td>
|
jpayne@68
|
937 <td class="parameter_description"><p>X coordinate of dirty rectangle</p></td>
|
jpayne@68
|
938 <td class="parameter_annotations"> </td>
|
jpayne@68
|
939 </tr>
|
jpayne@68
|
940 <tr>
|
jpayne@68
|
941 <td class="parameter_name"><p>y</p></td>
|
jpayne@68
|
942 <td class="parameter_description"><p>Y coordinate of dirty rectangle</p></td>
|
jpayne@68
|
943 <td class="parameter_annotations"> </td>
|
jpayne@68
|
944 </tr>
|
jpayne@68
|
945 <tr>
|
jpayne@68
|
946 <td class="parameter_name"><p>width</p></td>
|
jpayne@68
|
947 <td class="parameter_description"><p>width of dirty rectangle</p></td>
|
jpayne@68
|
948 <td class="parameter_annotations"> </td>
|
jpayne@68
|
949 </tr>
|
jpayne@68
|
950 <tr>
|
jpayne@68
|
951 <td class="parameter_name"><p>height</p></td>
|
jpayne@68
|
952 <td class="parameter_description"><p>height of dirty rectangle</p></td>
|
jpayne@68
|
953 <td class="parameter_annotations"> </td>
|
jpayne@68
|
954 </tr>
|
jpayne@68
|
955 </tbody>
|
jpayne@68
|
956 </table></div>
|
jpayne@68
|
957 </div>
|
jpayne@68
|
958 <p class="since">Since: 1.0</p>
|
jpayne@68
|
959 </div>
|
jpayne@68
|
960 <hr>
|
jpayne@68
|
961 <div class="refsect2">
|
jpayne@68
|
962 <a name="cairo-surface-set-device-offset"></a><h3>cairo_surface_set_device_offset ()</h3>
|
jpayne@68
|
963 <pre class="programlisting"><span class="returnvalue">void</span>
|
jpayne@68
|
964 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>,
|
jpayne@68
|
965 <em class="parameter"><code><span class="type">double</span> x_offset</code></em>,
|
jpayne@68
|
966 <em class="parameter"><code><span class="type">double</span> y_offset</code></em>);</pre>
|
jpayne@68
|
967 <p>Sets an offset that is added to the device coordinates determined
|
jpayne@68
|
968 by the CTM when drawing to <em class="parameter"><code>surface</code></em>
|
jpayne@68
|
969 . One use case for this function
|
jpayne@68
|
970 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
|
jpayne@68
|
971 for a portion of an onscreen surface to an offscreen surface in a
|
jpayne@68
|
972 way that is completely invisible to the user of the cairo
|
jpayne@68
|
973 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
|
jpayne@68
|
974 sufficient to do this, since functions like
|
jpayne@68
|
975 <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>
|
jpayne@68
|
976 <p>Note that the offset affects drawing to the surface as well as
|
jpayne@68
|
977 using the surface in a source pattern.</p>
|
jpayne@68
|
978 <div class="refsect3">
|
jpayne@68
|
979 <a name="cairo-surface-set-device-offset.parameters"></a><h4>Parameters</h4>
|
jpayne@68
|
980 <div class="informaltable"><table class="informaltable" width="100%" border="0">
|
jpayne@68
|
981 <colgroup>
|
jpayne@68
|
982 <col width="150px" class="parameters_name">
|
jpayne@68
|
983 <col class="parameters_description">
|
jpayne@68
|
984 <col width="200px" class="parameters_annotations">
|
jpayne@68
|
985 </colgroup>
|
jpayne@68
|
986 <tbody>
|
jpayne@68
|
987 <tr>
|
jpayne@68
|
988 <td class="parameter_name"><p>surface</p></td>
|
jpayne@68
|
989 <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>
|
jpayne@68
|
990 <td class="parameter_annotations"> </td>
|
jpayne@68
|
991 </tr>
|
jpayne@68
|
992 <tr>
|
jpayne@68
|
993 <td class="parameter_name"><p>x_offset</p></td>
|
jpayne@68
|
994 <td class="parameter_description"><p>the offset in the X direction, in device units</p></td>
|
jpayne@68
|
995 <td class="parameter_annotations"> </td>
|
jpayne@68
|
996 </tr>
|
jpayne@68
|
997 <tr>
|
jpayne@68
|
998 <td class="parameter_name"><p>y_offset</p></td>
|
jpayne@68
|
999 <td class="parameter_description"><p>the offset in the Y direction, in device units</p></td>
|
jpayne@68
|
1000 <td class="parameter_annotations"> </td>
|
jpayne@68
|
1001 </tr>
|
jpayne@68
|
1002 </tbody>
|
jpayne@68
|
1003 </table></div>
|
jpayne@68
|
1004 </div>
|
jpayne@68
|
1005 <p class="since">Since: 1.0</p>
|
jpayne@68
|
1006 </div>
|
jpayne@68
|
1007 <hr>
|
jpayne@68
|
1008 <div class="refsect2">
|
jpayne@68
|
1009 <a name="cairo-surface-get-device-offset"></a><h3>cairo_surface_get_device_offset ()</h3>
|
jpayne@68
|
1010 <pre class="programlisting"><span class="returnvalue">void</span>
|
jpayne@68
|
1011 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>,
|
jpayne@68
|
1012 <em class="parameter"><code><span class="type">double</span> *x_offset</code></em>,
|
jpayne@68
|
1013 <em class="parameter"><code><span class="type">double</span> *y_offset</code></em>);</pre>
|
jpayne@68
|
1014 <p>This function returns the previous device offset set by
|
jpayne@68
|
1015 <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>
|
jpayne@68
|
1016 <div class="refsect3">
|
jpayne@68
|
1017 <a name="cairo-surface-get-device-offset.parameters"></a><h4>Parameters</h4>
|
jpayne@68
|
1018 <div class="informaltable"><table class="informaltable" width="100%" border="0">
|
jpayne@68
|
1019 <colgroup>
|
jpayne@68
|
1020 <col width="150px" class="parameters_name">
|
jpayne@68
|
1021 <col class="parameters_description">
|
jpayne@68
|
1022 <col width="200px" class="parameters_annotations">
|
jpayne@68
|
1023 </colgroup>
|
jpayne@68
|
1024 <tbody>
|
jpayne@68
|
1025 <tr>
|
jpayne@68
|
1026 <td class="parameter_name"><p>surface</p></td>
|
jpayne@68
|
1027 <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>
|
jpayne@68
|
1028 <td class="parameter_annotations"> </td>
|
jpayne@68
|
1029 </tr>
|
jpayne@68
|
1030 <tr>
|
jpayne@68
|
1031 <td class="parameter_name"><p>x_offset</p></td>
|
jpayne@68
|
1032 <td class="parameter_description"><p>the offset in the X direction, in device units</p></td>
|
jpayne@68
|
1033 <td class="parameter_annotations"> </td>
|
jpayne@68
|
1034 </tr>
|
jpayne@68
|
1035 <tr>
|
jpayne@68
|
1036 <td class="parameter_name"><p>y_offset</p></td>
|
jpayne@68
|
1037 <td class="parameter_description"><p>the offset in the Y direction, in device units</p></td>
|
jpayne@68
|
1038 <td class="parameter_annotations"> </td>
|
jpayne@68
|
1039 </tr>
|
jpayne@68
|
1040 </tbody>
|
jpayne@68
|
1041 </table></div>
|
jpayne@68
|
1042 </div>
|
jpayne@68
|
1043 <p class="since">Since: 1.2</p>
|
jpayne@68
|
1044 </div>
|
jpayne@68
|
1045 <hr>
|
jpayne@68
|
1046 <div class="refsect2">
|
jpayne@68
|
1047 <a name="cairo-surface-get-device-scale"></a><h3>cairo_surface_get_device_scale ()</h3>
|
jpayne@68
|
1048 <pre class="programlisting"><span class="returnvalue">void</span>
|
jpayne@68
|
1049 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>,
|
jpayne@68
|
1050 <em class="parameter"><code><span class="type">double</span> *x_scale</code></em>,
|
jpayne@68
|
1051 <em class="parameter"><code><span class="type">double</span> *y_scale</code></em>);</pre>
|
jpayne@68
|
1052 <p>This function returns the previous device offset set by
|
jpayne@68
|
1053 <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>
|
jpayne@68
|
1054 <div class="refsect3">
|
jpayne@68
|
1055 <a name="cairo-surface-get-device-scale.parameters"></a><h4>Parameters</h4>
|
jpayne@68
|
1056 <div class="informaltable"><table class="informaltable" width="100%" border="0">
|
jpayne@68
|
1057 <colgroup>
|
jpayne@68
|
1058 <col width="150px" class="parameters_name">
|
jpayne@68
|
1059 <col class="parameters_description">
|
jpayne@68
|
1060 <col width="200px" class="parameters_annotations">
|
jpayne@68
|
1061 </colgroup>
|
jpayne@68
|
1062 <tbody>
|
jpayne@68
|
1063 <tr>
|
jpayne@68
|
1064 <td class="parameter_name"><p>surface</p></td>
|
jpayne@68
|
1065 <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>
|
jpayne@68
|
1066 <td class="parameter_annotations"> </td>
|
jpayne@68
|
1067 </tr>
|
jpayne@68
|
1068 <tr>
|
jpayne@68
|
1069 <td class="parameter_name"><p>x_scale</p></td>
|
jpayne@68
|
1070 <td class="parameter_description"><p>the scale in the X direction, in device units</p></td>
|
jpayne@68
|
1071 <td class="parameter_annotations"> </td>
|
jpayne@68
|
1072 </tr>
|
jpayne@68
|
1073 <tr>
|
jpayne@68
|
1074 <td class="parameter_name"><p>y_scale</p></td>
|
jpayne@68
|
1075 <td class="parameter_description"><p>the scale in the Y direction, in device units</p></td>
|
jpayne@68
|
1076 <td class="parameter_annotations"> </td>
|
jpayne@68
|
1077 </tr>
|
jpayne@68
|
1078 </tbody>
|
jpayne@68
|
1079 </table></div>
|
jpayne@68
|
1080 </div>
|
jpayne@68
|
1081 <p class="since">Since: 1.14</p>
|
jpayne@68
|
1082 </div>
|
jpayne@68
|
1083 <hr>
|
jpayne@68
|
1084 <div class="refsect2">
|
jpayne@68
|
1085 <a name="cairo-surface-set-device-scale"></a><h3>cairo_surface_set_device_scale ()</h3>
|
jpayne@68
|
1086 <pre class="programlisting"><span class="returnvalue">void</span>
|
jpayne@68
|
1087 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>,
|
jpayne@68
|
1088 <em class="parameter"><code><span class="type">double</span> x_scale</code></em>,
|
jpayne@68
|
1089 <em class="parameter"><code><span class="type">double</span> y_scale</code></em>);</pre>
|
jpayne@68
|
1090 <p>Sets a scale that is multiplied to the device coordinates determined
|
jpayne@68
|
1091 by the CTM when drawing to <em class="parameter"><code>surface</code></em>
|
jpayne@68
|
1092 . One common use for this is to
|
jpayne@68
|
1093 render to very high resolution display devices at a scale factor, so
|
jpayne@68
|
1094 that code that assumes 1 pixel will be a certain size will still work.
|
jpayne@68
|
1095 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
|
jpayne@68
|
1096 sufficient to do this, since functions like
|
jpayne@68
|
1097 <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>
|
jpayne@68
|
1098 <p>Note that the scale affects drawing to the surface as well as
|
jpayne@68
|
1099 using the surface in a source pattern.</p>
|
jpayne@68
|
1100 <div class="refsect3">
|
jpayne@68
|
1101 <a name="cairo-surface-set-device-scale.parameters"></a><h4>Parameters</h4>
|
jpayne@68
|
1102 <div class="informaltable"><table class="informaltable" width="100%" border="0">
|
jpayne@68
|
1103 <colgroup>
|
jpayne@68
|
1104 <col width="150px" class="parameters_name">
|
jpayne@68
|
1105 <col class="parameters_description">
|
jpayne@68
|
1106 <col width="200px" class="parameters_annotations">
|
jpayne@68
|
1107 </colgroup>
|
jpayne@68
|
1108 <tbody>
|
jpayne@68
|
1109 <tr>
|
jpayne@68
|
1110 <td class="parameter_name"><p>surface</p></td>
|
jpayne@68
|
1111 <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>
|
jpayne@68
|
1112 <td class="parameter_annotations"> </td>
|
jpayne@68
|
1113 </tr>
|
jpayne@68
|
1114 <tr>
|
jpayne@68
|
1115 <td class="parameter_name"><p>x_scale</p></td>
|
jpayne@68
|
1116 <td class="parameter_description"><p>a scale factor in the X direction</p></td>
|
jpayne@68
|
1117 <td class="parameter_annotations"> </td>
|
jpayne@68
|
1118 </tr>
|
jpayne@68
|
1119 <tr>
|
jpayne@68
|
1120 <td class="parameter_name"><p>y_scale</p></td>
|
jpayne@68
|
1121 <td class="parameter_description"><p>a scale factor in the Y direction</p></td>
|
jpayne@68
|
1122 <td class="parameter_annotations"> </td>
|
jpayne@68
|
1123 </tr>
|
jpayne@68
|
1124 </tbody>
|
jpayne@68
|
1125 </table></div>
|
jpayne@68
|
1126 </div>
|
jpayne@68
|
1127 <p class="since">Since: 1.14</p>
|
jpayne@68
|
1128 </div>
|
jpayne@68
|
1129 <hr>
|
jpayne@68
|
1130 <div class="refsect2">
|
jpayne@68
|
1131 <a name="cairo-surface-set-fallback-resolution"></a><h3>cairo_surface_set_fallback_resolution ()</h3>
|
jpayne@68
|
1132 <pre class="programlisting"><span class="returnvalue">void</span>
|
jpayne@68
|
1133 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>,
|
jpayne@68
|
1134 <em class="parameter"><code><span class="type">double</span> x_pixels_per_inch</code></em>,
|
jpayne@68
|
1135 <em class="parameter"><code><span class="type">double</span> y_pixels_per_inch</code></em>);</pre>
|
jpayne@68
|
1136 <p>Set the horizontal and vertical resolution for image fallbacks.</p>
|
jpayne@68
|
1137 <p>When certain operations aren't supported natively by a backend,
|
jpayne@68
|
1138 cairo will fallback by rendering operations to an image and then
|
jpayne@68
|
1139 overlaying that image onto the output. For backends that are
|
jpayne@68
|
1140 natively vector-oriented, this function can be used to set the
|
jpayne@68
|
1141 resolution used for these image fallbacks, (larger values will
|
jpayne@68
|
1142 result in more detailed images, but also larger file sizes).</p>
|
jpayne@68
|
1143 <p>Some examples of natively vector-oriented backends are the ps, pdf,
|
jpayne@68
|
1144 and svg backends.</p>
|
jpayne@68
|
1145 <p>For backends that are natively raster-oriented, image fallbacks are
|
jpayne@68
|
1146 still possible, but they are always performed at the native
|
jpayne@68
|
1147 device resolution. So this function has no effect on those
|
jpayne@68
|
1148 backends.</p>
|
jpayne@68
|
1149 <p>Note: The fallback resolution only takes effect at the time of
|
jpayne@68
|
1150 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
|
jpayne@68
|
1151 there is currently no way to have more than one fallback resolution
|
jpayne@68
|
1152 in effect on a single page.</p>
|
jpayne@68
|
1153 <p>The default fallback resoultion is 300 pixels per inch in both
|
jpayne@68
|
1154 dimensions.</p>
|
jpayne@68
|
1155 <div class="refsect3">
|
jpayne@68
|
1156 <a name="cairo-surface-set-fallback-resolution.parameters"></a><h4>Parameters</h4>
|
jpayne@68
|
1157 <div class="informaltable"><table class="informaltable" width="100%" border="0">
|
jpayne@68
|
1158 <colgroup>
|
jpayne@68
|
1159 <col width="150px" class="parameters_name">
|
jpayne@68
|
1160 <col class="parameters_description">
|
jpayne@68
|
1161 <col width="200px" class="parameters_annotations">
|
jpayne@68
|
1162 </colgroup>
|
jpayne@68
|
1163 <tbody>
|
jpayne@68
|
1164 <tr>
|
jpayne@68
|
1165 <td class="parameter_name"><p>surface</p></td>
|
jpayne@68
|
1166 <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>
|
jpayne@68
|
1167 <td class="parameter_annotations"> </td>
|
jpayne@68
|
1168 </tr>
|
jpayne@68
|
1169 <tr>
|
jpayne@68
|
1170 <td class="parameter_name"><p>x_pixels_per_inch</p></td>
|
jpayne@68
|
1171 <td class="parameter_description"><p>horizontal setting for pixels per inch</p></td>
|
jpayne@68
|
1172 <td class="parameter_annotations"> </td>
|
jpayne@68
|
1173 </tr>
|
jpayne@68
|
1174 <tr>
|
jpayne@68
|
1175 <td class="parameter_name"><p>y_pixels_per_inch</p></td>
|
jpayne@68
|
1176 <td class="parameter_description"><p>vertical setting for pixels per inch</p></td>
|
jpayne@68
|
1177 <td class="parameter_annotations"> </td>
|
jpayne@68
|
1178 </tr>
|
jpayne@68
|
1179 </tbody>
|
jpayne@68
|
1180 </table></div>
|
jpayne@68
|
1181 </div>
|
jpayne@68
|
1182 <p class="since">Since: 1.2</p>
|
jpayne@68
|
1183 </div>
|
jpayne@68
|
1184 <hr>
|
jpayne@68
|
1185 <div class="refsect2">
|
jpayne@68
|
1186 <a name="cairo-surface-get-fallback-resolution"></a><h3>cairo_surface_get_fallback_resolution ()</h3>
|
jpayne@68
|
1187 <pre class="programlisting"><span class="returnvalue">void</span>
|
jpayne@68
|
1188 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>,
|
jpayne@68
|
1189 <em class="parameter"><code><span class="type">double</span> *x_pixels_per_inch</code></em>,
|
jpayne@68
|
1190 <em class="parameter"><code><span class="type">double</span> *y_pixels_per_inch</code></em>);</pre>
|
jpayne@68
|
1191 <p>This function returns the previous fallback resolution set by
|
jpayne@68
|
1192 <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
|
jpayne@68
|
1193 resolution if never set.</p>
|
jpayne@68
|
1194 <div class="refsect3">
|
jpayne@68
|
1195 <a name="cairo-surface-get-fallback-resolution.parameters"></a><h4>Parameters</h4>
|
jpayne@68
|
1196 <div class="informaltable"><table class="informaltable" width="100%" border="0">
|
jpayne@68
|
1197 <colgroup>
|
jpayne@68
|
1198 <col width="150px" class="parameters_name">
|
jpayne@68
|
1199 <col class="parameters_description">
|
jpayne@68
|
1200 <col width="200px" class="parameters_annotations">
|
jpayne@68
|
1201 </colgroup>
|
jpayne@68
|
1202 <tbody>
|
jpayne@68
|
1203 <tr>
|
jpayne@68
|
1204 <td class="parameter_name"><p>surface</p></td>
|
jpayne@68
|
1205 <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>
|
jpayne@68
|
1206 <td class="parameter_annotations"> </td>
|
jpayne@68
|
1207 </tr>
|
jpayne@68
|
1208 <tr>
|
jpayne@68
|
1209 <td class="parameter_name"><p>x_pixels_per_inch</p></td>
|
jpayne@68
|
1210 <td class="parameter_description"><p>horizontal pixels per inch</p></td>
|
jpayne@68
|
1211 <td class="parameter_annotations"> </td>
|
jpayne@68
|
1212 </tr>
|
jpayne@68
|
1213 <tr>
|
jpayne@68
|
1214 <td class="parameter_name"><p>y_pixels_per_inch</p></td>
|
jpayne@68
|
1215 <td class="parameter_description"><p>vertical pixels per inch</p></td>
|
jpayne@68
|
1216 <td class="parameter_annotations"> </td>
|
jpayne@68
|
1217 </tr>
|
jpayne@68
|
1218 </tbody>
|
jpayne@68
|
1219 </table></div>
|
jpayne@68
|
1220 </div>
|
jpayne@68
|
1221 <p class="since">Since: 1.8</p>
|
jpayne@68
|
1222 </div>
|
jpayne@68
|
1223 <hr>
|
jpayne@68
|
1224 <div class="refsect2">
|
jpayne@68
|
1225 <a name="cairo-surface-get-type"></a><h3>cairo_surface_get_type ()</h3>
|
jpayne@68
|
1226 <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>
|
jpayne@68
|
1227 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>
|
jpayne@68
|
1228 <p>This function returns the type of the backend used to create
|
jpayne@68
|
1229 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>
|
jpayne@68
|
1230 <div class="refsect3">
|
jpayne@68
|
1231 <a name="cairo-surface-get-type.parameters"></a><h4>Parameters</h4>
|
jpayne@68
|
1232 <div class="informaltable"><table class="informaltable" width="100%" border="0">
|
jpayne@68
|
1233 <colgroup>
|
jpayne@68
|
1234 <col width="150px" class="parameters_name">
|
jpayne@68
|
1235 <col class="parameters_description">
|
jpayne@68
|
1236 <col width="200px" class="parameters_annotations">
|
jpayne@68
|
1237 </colgroup>
|
jpayne@68
|
1238 <tbody><tr>
|
jpayne@68
|
1239 <td class="parameter_name"><p>surface</p></td>
|
jpayne@68
|
1240 <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>
|
jpayne@68
|
1241 <td class="parameter_annotations"> </td>
|
jpayne@68
|
1242 </tr></tbody>
|
jpayne@68
|
1243 </table></div>
|
jpayne@68
|
1244 </div>
|
jpayne@68
|
1245 <div class="refsect3">
|
jpayne@68
|
1246 <a name="cairo-surface-get-type.returns"></a><h4>Returns</h4>
|
jpayne@68
|
1247 <p> The type of <em class="parameter"><code>surface</code></em>
|
jpayne@68
|
1248 .</p>
|
jpayne@68
|
1249 </div>
|
jpayne@68
|
1250 <p class="since">Since: 1.2</p>
|
jpayne@68
|
1251 </div>
|
jpayne@68
|
1252 <hr>
|
jpayne@68
|
1253 <div class="refsect2">
|
jpayne@68
|
1254 <a name="cairo-surface-get-reference-count"></a><h3>cairo_surface_get_reference_count ()</h3>
|
jpayne@68
|
1255 <pre class="programlisting">unsigned <span class="returnvalue">int</span>
|
jpayne@68
|
1256 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>
|
jpayne@68
|
1257 <p>Returns the current reference count of <em class="parameter"><code>surface</code></em>
|
jpayne@68
|
1258 .</p>
|
jpayne@68
|
1259 <div class="refsect3">
|
jpayne@68
|
1260 <a name="cairo-surface-get-reference-count.parameters"></a><h4>Parameters</h4>
|
jpayne@68
|
1261 <div class="informaltable"><table class="informaltable" width="100%" border="0">
|
jpayne@68
|
1262 <colgroup>
|
jpayne@68
|
1263 <col width="150px" class="parameters_name">
|
jpayne@68
|
1264 <col class="parameters_description">
|
jpayne@68
|
1265 <col width="200px" class="parameters_annotations">
|
jpayne@68
|
1266 </colgroup>
|
jpayne@68
|
1267 <tbody><tr>
|
jpayne@68
|
1268 <td class="parameter_name"><p>surface</p></td>
|
jpayne@68
|
1269 <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>
|
jpayne@68
|
1270 <td class="parameter_annotations"> </td>
|
jpayne@68
|
1271 </tr></tbody>
|
jpayne@68
|
1272 </table></div>
|
jpayne@68
|
1273 </div>
|
jpayne@68
|
1274 <div class="refsect3">
|
jpayne@68
|
1275 <a name="cairo-surface-get-reference-count.returns"></a><h4>Returns</h4>
|
jpayne@68
|
1276 <p> the current reference count of <em class="parameter"><code>surface</code></em>
|
jpayne@68
|
1277 . If the
|
jpayne@68
|
1278 object is a nil object, 0 will be returned.</p>
|
jpayne@68
|
1279 </div>
|
jpayne@68
|
1280 <p class="since">Since: 1.4</p>
|
jpayne@68
|
1281 </div>
|
jpayne@68
|
1282 <hr>
|
jpayne@68
|
1283 <div class="refsect2">
|
jpayne@68
|
1284 <a name="cairo-surface-set-user-data"></a><h3>cairo_surface_set_user_data ()</h3>
|
jpayne@68
|
1285 <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>
|
jpayne@68
|
1286 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>,
|
jpayne@68
|
1287 <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>,
|
jpayne@68
|
1288 <em class="parameter"><code><span class="type">void</span> *user_data</code></em>,
|
jpayne@68
|
1289 <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>
|
jpayne@68
|
1290 <p>Attach user data to <em class="parameter"><code>surface</code></em>
|
jpayne@68
|
1291 . To remove user data from a surface,
|
jpayne@68
|
1292 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>
|
jpayne@68
|
1293 for <em class="parameter"><code>data</code></em>
|
jpayne@68
|
1294 .</p>
|
jpayne@68
|
1295 <div class="refsect3">
|
jpayne@68
|
1296 <a name="cairo-surface-set-user-data.parameters"></a><h4>Parameters</h4>
|
jpayne@68
|
1297 <div class="informaltable"><table class="informaltable" width="100%" border="0">
|
jpayne@68
|
1298 <colgroup>
|
jpayne@68
|
1299 <col width="150px" class="parameters_name">
|
jpayne@68
|
1300 <col class="parameters_description">
|
jpayne@68
|
1301 <col width="200px" class="parameters_annotations">
|
jpayne@68
|
1302 </colgroup>
|
jpayne@68
|
1303 <tbody>
|
jpayne@68
|
1304 <tr>
|
jpayne@68
|
1305 <td class="parameter_name"><p>surface</p></td>
|
jpayne@68
|
1306 <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>
|
jpayne@68
|
1307 <td class="parameter_annotations"> </td>
|
jpayne@68
|
1308 </tr>
|
jpayne@68
|
1309 <tr>
|
jpayne@68
|
1310 <td class="parameter_name"><p>key</p></td>
|
jpayne@68
|
1311 <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>
|
jpayne@68
|
1312 <td class="parameter_annotations"> </td>
|
jpayne@68
|
1313 </tr>
|
jpayne@68
|
1314 <tr>
|
jpayne@68
|
1315 <td class="parameter_name"><p>user_data</p></td>
|
jpayne@68
|
1316 <td class="parameter_description"><p>the user data to attach to the surface</p></td>
|
jpayne@68
|
1317 <td class="parameter_annotations"> </td>
|
jpayne@68
|
1318 </tr>
|
jpayne@68
|
1319 <tr>
|
jpayne@68
|
1320 <td class="parameter_name"><p>destroy</p></td>
|
jpayne@68
|
1321 <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
|
jpayne@68
|
1322 surface is destroyed or when new user data is attached using the
|
jpayne@68
|
1323 same key.</p></td>
|
jpayne@68
|
1324 <td class="parameter_annotations"> </td>
|
jpayne@68
|
1325 </tr>
|
jpayne@68
|
1326 </tbody>
|
jpayne@68
|
1327 </table></div>
|
jpayne@68
|
1328 </div>
|
jpayne@68
|
1329 <div class="refsect3">
|
jpayne@68
|
1330 <a name="cairo-surface-set-user-data.returns"></a><h4>Returns</h4>
|
jpayne@68
|
1331 <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
|
jpayne@68
|
1332 slot could not be allocated for the user data.</p>
|
jpayne@68
|
1333 </div>
|
jpayne@68
|
1334 <p class="since">Since: 1.0</p>
|
jpayne@68
|
1335 </div>
|
jpayne@68
|
1336 <hr>
|
jpayne@68
|
1337 <div class="refsect2">
|
jpayne@68
|
1338 <a name="cairo-surface-get-user-data"></a><h3>cairo_surface_get_user_data ()</h3>
|
jpayne@68
|
1339 <pre class="programlisting"><span class="returnvalue">void</span> *
|
jpayne@68
|
1340 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>,
|
jpayne@68
|
1341 <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>
|
jpayne@68
|
1342 <p>Return user data previously attached to <em class="parameter"><code>surface</code></em>
|
jpayne@68
|
1343 using the specified
|
jpayne@68
|
1344 key. If no user data has been attached with the given key this
|
jpayne@68
|
1345 function returns <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p>
|
jpayne@68
|
1346 <div class="refsect3">
|
jpayne@68
|
1347 <a name="cairo-surface-get-user-data.parameters"></a><h4>Parameters</h4>
|
jpayne@68
|
1348 <div class="informaltable"><table class="informaltable" width="100%" border="0">
|
jpayne@68
|
1349 <colgroup>
|
jpayne@68
|
1350 <col width="150px" class="parameters_name">
|
jpayne@68
|
1351 <col class="parameters_description">
|
jpayne@68
|
1352 <col width="200px" class="parameters_annotations">
|
jpayne@68
|
1353 </colgroup>
|
jpayne@68
|
1354 <tbody>
|
jpayne@68
|
1355 <tr>
|
jpayne@68
|
1356 <td class="parameter_name"><p>surface</p></td>
|
jpayne@68
|
1357 <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>
|
jpayne@68
|
1358 <td class="parameter_annotations"> </td>
|
jpayne@68
|
1359 </tr>
|
jpayne@68
|
1360 <tr>
|
jpayne@68
|
1361 <td class="parameter_name"><p>key</p></td>
|
jpayne@68
|
1362 <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
|
jpayne@68
|
1363 attached to</p></td>
|
jpayne@68
|
1364 <td class="parameter_annotations"> </td>
|
jpayne@68
|
1365 </tr>
|
jpayne@68
|
1366 </tbody>
|
jpayne@68
|
1367 </table></div>
|
jpayne@68
|
1368 </div>
|
jpayne@68
|
1369 <div class="refsect3">
|
jpayne@68
|
1370 <a name="cairo-surface-get-user-data.returns"></a><h4>Returns</h4>
|
jpayne@68
|
1371 <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>
|
jpayne@68
|
1372 </div>
|
jpayne@68
|
1373 <p class="since">Since: 1.0</p>
|
jpayne@68
|
1374 </div>
|
jpayne@68
|
1375 <hr>
|
jpayne@68
|
1376 <div class="refsect2">
|
jpayne@68
|
1377 <a name="cairo-surface-copy-page"></a><h3>cairo_surface_copy_page ()</h3>
|
jpayne@68
|
1378 <pre class="programlisting"><span class="returnvalue">void</span>
|
jpayne@68
|
1379 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>
|
jpayne@68
|
1380 <p>Emits the current page for backends that support multiple pages,
|
jpayne@68
|
1381 but doesn't clear it, so that the contents of the current page will
|
jpayne@68
|
1382 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
|
jpayne@68
|
1383 want to get an empty page after the emission.</p>
|
jpayne@68
|
1384 <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>,
|
jpayne@68
|
1385 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>
|
jpayne@68
|
1386 <div class="refsect3">
|
jpayne@68
|
1387 <a name="cairo-surface-copy-page.parameters"></a><h4>Parameters</h4>
|
jpayne@68
|
1388 <div class="informaltable"><table class="informaltable" width="100%" border="0">
|
jpayne@68
|
1389 <colgroup>
|
jpayne@68
|
1390 <col width="150px" class="parameters_name">
|
jpayne@68
|
1391 <col class="parameters_description">
|
jpayne@68
|
1392 <col width="200px" class="parameters_annotations">
|
jpayne@68
|
1393 </colgroup>
|
jpayne@68
|
1394 <tbody><tr>
|
jpayne@68
|
1395 <td class="parameter_name"><p>surface</p></td>
|
jpayne@68
|
1396 <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>
|
jpayne@68
|
1397 <td class="parameter_annotations"> </td>
|
jpayne@68
|
1398 </tr></tbody>
|
jpayne@68
|
1399 </table></div>
|
jpayne@68
|
1400 </div>
|
jpayne@68
|
1401 <p class="since">Since: 1.6</p>
|
jpayne@68
|
1402 </div>
|
jpayne@68
|
1403 <hr>
|
jpayne@68
|
1404 <div class="refsect2">
|
jpayne@68
|
1405 <a name="cairo-surface-show-page"></a><h3>cairo_surface_show_page ()</h3>
|
jpayne@68
|
1406 <pre class="programlisting"><span class="returnvalue">void</span>
|
jpayne@68
|
1407 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>
|
jpayne@68
|
1408 <p>Emits and clears the current page for backends that support multiple
|
jpayne@68
|
1409 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>
|
jpayne@68
|
1410 <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>,
|
jpayne@68
|
1411 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>
|
jpayne@68
|
1412 <div class="refsect3">
|
jpayne@68
|
1413 <a name="cairo-surface-show-page.parameters"></a><h4>Parameters</h4>
|
jpayne@68
|
1414 <div class="informaltable"><table class="informaltable" width="100%" border="0">
|
jpayne@68
|
1415 <colgroup>
|
jpayne@68
|
1416 <col width="150px" class="parameters_name">
|
jpayne@68
|
1417 <col class="parameters_description">
|
jpayne@68
|
1418 <col width="200px" class="parameters_annotations">
|
jpayne@68
|
1419 </colgroup>
|
jpayne@68
|
1420 <tbody><tr>
|
jpayne@68
|
1421 <td class="parameter_name"><p>surface</p></td>
|
jpayne@68
|
1422 <td class="parameter_description"><p>a <span class="type">cairo_Surface_t</span></p></td>
|
jpayne@68
|
1423 <td class="parameter_annotations"> </td>
|
jpayne@68
|
1424 </tr></tbody>
|
jpayne@68
|
1425 </table></div>
|
jpayne@68
|
1426 </div>
|
jpayne@68
|
1427 <p class="since">Since: 1.6</p>
|
jpayne@68
|
1428 </div>
|
jpayne@68
|
1429 <hr>
|
jpayne@68
|
1430 <div class="refsect2">
|
jpayne@68
|
1431 <a name="cairo-surface-has-show-text-glyphs"></a><h3>cairo_surface_has_show_text_glyphs ()</h3>
|
jpayne@68
|
1432 <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>
|
jpayne@68
|
1433 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>
|
jpayne@68
|
1434 <p>Returns whether the surface supports
|
jpayne@68
|
1435 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,
|
jpayne@68
|
1436 whether it actually uses the provided text and cluster data
|
jpayne@68
|
1437 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>
|
jpayne@68
|
1438 <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
|
jpayne@68
|
1439 <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>
|
jpayne@68
|
1440 will
|
jpayne@68
|
1441 still succeed. It just will
|
jpayne@68
|
1442 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
|
jpayne@68
|
1443 function to avoid computing UTF-8 text and cluster mapping if the
|
jpayne@68
|
1444 target surface does not use it.</p>
|
jpayne@68
|
1445 <div class="refsect3">
|
jpayne@68
|
1446 <a name="cairo-surface-has-show-text-glyphs.parameters"></a><h4>Parameters</h4>
|
jpayne@68
|
1447 <div class="informaltable"><table class="informaltable" width="100%" border="0">
|
jpayne@68
|
1448 <colgroup>
|
jpayne@68
|
1449 <col width="150px" class="parameters_name">
|
jpayne@68
|
1450 <col class="parameters_description">
|
jpayne@68
|
1451 <col width="200px" class="parameters_annotations">
|
jpayne@68
|
1452 </colgroup>
|
jpayne@68
|
1453 <tbody><tr>
|
jpayne@68
|
1454 <td class="parameter_name"><p>surface</p></td>
|
jpayne@68
|
1455 <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>
|
jpayne@68
|
1456 <td class="parameter_annotations"> </td>
|
jpayne@68
|
1457 </tr></tbody>
|
jpayne@68
|
1458 </table></div>
|
jpayne@68
|
1459 </div>
|
jpayne@68
|
1460 <div class="refsect3">
|
jpayne@68
|
1461 <a name="cairo-surface-has-show-text-glyphs.returns"></a><h4>Returns</h4>
|
jpayne@68
|
1462 <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>
|
jpayne@68
|
1463 supports
|
jpayne@68
|
1464 <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>
|
jpayne@68
|
1465 </div>
|
jpayne@68
|
1466 <p class="since">Since: 1.8</p>
|
jpayne@68
|
1467 </div>
|
jpayne@68
|
1468 <hr>
|
jpayne@68
|
1469 <div class="refsect2">
|
jpayne@68
|
1470 <a name="cairo-surface-set-mime-data"></a><h3>cairo_surface_set_mime_data ()</h3>
|
jpayne@68
|
1471 <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>
|
jpayne@68
|
1472 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>,
|
jpayne@68
|
1473 <em class="parameter"><code>const <span class="type">char</span> *mime_type</code></em>,
|
jpayne@68
|
1474 <em class="parameter"><code>const unsigned <span class="type">char</span> *data</code></em>,
|
jpayne@68
|
1475 <em class="parameter"><code><span class="type">unsigned long </span> length</code></em>,
|
jpayne@68
|
1476 <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>,
|
jpayne@68
|
1477 <em class="parameter"><code><span class="type">void</span> *closure</code></em>);</pre>
|
jpayne@68
|
1478 <p>Attach an image in the format <em class="parameter"><code>mime_type</code></em>
|
jpayne@68
|
1479 to <em class="parameter"><code>surface</code></em>
|
jpayne@68
|
1480 . To remove
|
jpayne@68
|
1481 the data from a surface, call this function with same mime type
|
jpayne@68
|
1482 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>
|
jpayne@68
|
1483 .</p>
|
jpayne@68
|
1484 <p>The attached image (or filename) data can later be used by backends
|
jpayne@68
|
1485 which support it (currently: PDF, PS, SVG and Win32 Printing
|
jpayne@68
|
1486 surfaces) to emit this data instead of making a snapshot of the
|
jpayne@68
|
1487 <em class="parameter"><code>surface</code></em>
|
jpayne@68
|
1488 . This approach tends to be faster and requires less
|
jpayne@68
|
1489 memory and disk space.</p>
|
jpayne@68
|
1490 <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>,
|
jpayne@68
|
1491 <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>,
|
jpayne@68
|
1492 <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>,
|
jpayne@68
|
1493 <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>,
|
jpayne@68
|
1494 <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>
|
jpayne@68
|
1495 <p>See corresponding backend surface docs for details about which MIME
|
jpayne@68
|
1496 types it can handle. Caution: the associated MIME data will be
|
jpayne@68
|
1497 discarded if you draw on the surface afterwards. Use this function
|
jpayne@68
|
1498 with care.</p>
|
jpayne@68
|
1499 <p>Even if a backend supports a MIME type, that does not mean cairo
|
jpayne@68
|
1500 will always be able to use the attached MIME data. For example, if
|
jpayne@68
|
1501 the backend does not natively support the compositing operation used
|
jpayne@68
|
1502 to apply the MIME data to the backend. In that case, the MIME data
|
jpayne@68
|
1503 will be ignored. Therefore, to apply an image in all cases, it is best
|
jpayne@68
|
1504 to create an image surface which contains the decoded image data and
|
jpayne@68
|
1505 then attach the MIME data to that. This ensures the image will always
|
jpayne@68
|
1506 be used while still allowing the MIME data to be used whenever
|
jpayne@68
|
1507 possible.</p>
|
jpayne@68
|
1508 <div class="refsect3">
|
jpayne@68
|
1509 <a name="cairo-surface-set-mime-data.parameters"></a><h4>Parameters</h4>
|
jpayne@68
|
1510 <div class="informaltable"><table class="informaltable" width="100%" border="0">
|
jpayne@68
|
1511 <colgroup>
|
jpayne@68
|
1512 <col width="150px" class="parameters_name">
|
jpayne@68
|
1513 <col class="parameters_description">
|
jpayne@68
|
1514 <col width="200px" class="parameters_annotations">
|
jpayne@68
|
1515 </colgroup>
|
jpayne@68
|
1516 <tbody>
|
jpayne@68
|
1517 <tr>
|
jpayne@68
|
1518 <td class="parameter_name"><p>surface</p></td>
|
jpayne@68
|
1519 <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>
|
jpayne@68
|
1520 <td class="parameter_annotations"> </td>
|
jpayne@68
|
1521 </tr>
|
jpayne@68
|
1522 <tr>
|
jpayne@68
|
1523 <td class="parameter_name"><p>mime_type</p></td>
|
jpayne@68
|
1524 <td class="parameter_description"><p>the MIME type of the image data</p></td>
|
jpayne@68
|
1525 <td class="parameter_annotations"> </td>
|
jpayne@68
|
1526 </tr>
|
jpayne@68
|
1527 <tr>
|
jpayne@68
|
1528 <td class="parameter_name"><p>data</p></td>
|
jpayne@68
|
1529 <td class="parameter_description"><p>the image data to attach to the surface</p></td>
|
jpayne@68
|
1530 <td class="parameter_annotations"> </td>
|
jpayne@68
|
1531 </tr>
|
jpayne@68
|
1532 <tr>
|
jpayne@68
|
1533 <td class="parameter_name"><p>length</p></td>
|
jpayne@68
|
1534 <td class="parameter_description"><p>the length of the image data</p></td>
|
jpayne@68
|
1535 <td class="parameter_annotations"> </td>
|
jpayne@68
|
1536 </tr>
|
jpayne@68
|
1537 <tr>
|
jpayne@68
|
1538 <td class="parameter_name"><p>destroy</p></td>
|
jpayne@68
|
1539 <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
|
jpayne@68
|
1540 surface is destroyed or when new image data is attached using the
|
jpayne@68
|
1541 same mime type.</p></td>
|
jpayne@68
|
1542 <td class="parameter_annotations"> </td>
|
jpayne@68
|
1543 </tr>
|
jpayne@68
|
1544 <tr>
|
jpayne@68
|
1545 <td class="parameter_name"><p>closure</p></td>
|
jpayne@68
|
1546 <td class="parameter_description"><p>the data to be passed to the <em class="parameter"><code>destroy</code></em>
|
jpayne@68
|
1547 notifier</p></td>
|
jpayne@68
|
1548 <td class="parameter_annotations"> </td>
|
jpayne@68
|
1549 </tr>
|
jpayne@68
|
1550 </tbody>
|
jpayne@68
|
1551 </table></div>
|
jpayne@68
|
1552 </div>
|
jpayne@68
|
1553 <div class="refsect3">
|
jpayne@68
|
1554 <a name="cairo-surface-set-mime-data.returns"></a><h4>Returns</h4>
|
jpayne@68
|
1555 <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
|
jpayne@68
|
1556 slot could not be allocated for the user data.</p>
|
jpayne@68
|
1557 </div>
|
jpayne@68
|
1558 <p class="since">Since: 1.10</p>
|
jpayne@68
|
1559 </div>
|
jpayne@68
|
1560 <hr>
|
jpayne@68
|
1561 <div class="refsect2">
|
jpayne@68
|
1562 <a name="cairo-surface-get-mime-data"></a><h3>cairo_surface_get_mime_data ()</h3>
|
jpayne@68
|
1563 <pre class="programlisting"><span class="returnvalue">void</span>
|
jpayne@68
|
1564 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>,
|
jpayne@68
|
1565 <em class="parameter"><code>const <span class="type">char</span> *mime_type</code></em>,
|
jpayne@68
|
1566 <em class="parameter"><code>const unsigned <span class="type">char</span> **data</code></em>,
|
jpayne@68
|
1567 <em class="parameter"><code>unsigned <span class="type">long</span> *length</code></em>);</pre>
|
jpayne@68
|
1568 <p>Return mime data previously attached to <em class="parameter"><code>surface</code></em>
|
jpayne@68
|
1569 using the
|
jpayne@68
|
1570 specified mime type. If no data has been attached with the given
|
jpayne@68
|
1571 mime type, <em class="parameter"><code>data</code></em>
|
jpayne@68
|
1572 is set <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p>
|
jpayne@68
|
1573 <div class="refsect3">
|
jpayne@68
|
1574 <a name="cairo-surface-get-mime-data.parameters"></a><h4>Parameters</h4>
|
jpayne@68
|
1575 <div class="informaltable"><table class="informaltable" width="100%" border="0">
|
jpayne@68
|
1576 <colgroup>
|
jpayne@68
|
1577 <col width="150px" class="parameters_name">
|
jpayne@68
|
1578 <col class="parameters_description">
|
jpayne@68
|
1579 <col width="200px" class="parameters_annotations">
|
jpayne@68
|
1580 </colgroup>
|
jpayne@68
|
1581 <tbody>
|
jpayne@68
|
1582 <tr>
|
jpayne@68
|
1583 <td class="parameter_name"><p>surface</p></td>
|
jpayne@68
|
1584 <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>
|
jpayne@68
|
1585 <td class="parameter_annotations"> </td>
|
jpayne@68
|
1586 </tr>
|
jpayne@68
|
1587 <tr>
|
jpayne@68
|
1588 <td class="parameter_name"><p>mime_type</p></td>
|
jpayne@68
|
1589 <td class="parameter_description"><p>the mime type of the image data</p></td>
|
jpayne@68
|
1590 <td class="parameter_annotations"> </td>
|
jpayne@68
|
1591 </tr>
|
jpayne@68
|
1592 <tr>
|
jpayne@68
|
1593 <td class="parameter_name"><p>data</p></td>
|
jpayne@68
|
1594 <td class="parameter_description"><p>the image data to attached to the surface</p></td>
|
jpayne@68
|
1595 <td class="parameter_annotations"> </td>
|
jpayne@68
|
1596 </tr>
|
jpayne@68
|
1597 <tr>
|
jpayne@68
|
1598 <td class="parameter_name"><p>length</p></td>
|
jpayne@68
|
1599 <td class="parameter_description"><p>the length of the image data</p></td>
|
jpayne@68
|
1600 <td class="parameter_annotations"> </td>
|
jpayne@68
|
1601 </tr>
|
jpayne@68
|
1602 </tbody>
|
jpayne@68
|
1603 </table></div>
|
jpayne@68
|
1604 </div>
|
jpayne@68
|
1605 <p class="since">Since: 1.10</p>
|
jpayne@68
|
1606 </div>
|
jpayne@68
|
1607 <hr>
|
jpayne@68
|
1608 <div class="refsect2">
|
jpayne@68
|
1609 <a name="cairo-surface-supports-mime-type"></a><h3>cairo_surface_supports_mime_type ()</h3>
|
jpayne@68
|
1610 <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>
|
jpayne@68
|
1611 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>,
|
jpayne@68
|
1612 <em class="parameter"><code>const <span class="type">char</span> *mime_type</code></em>);</pre>
|
jpayne@68
|
1613 <p>Return whether <em class="parameter"><code>surface</code></em>
|
jpayne@68
|
1614 supports <em class="parameter"><code>mime_type</code></em>
|
jpayne@68
|
1615 .</p>
|
jpayne@68
|
1616 <div class="refsect3">
|
jpayne@68
|
1617 <a name="cairo-surface-supports-mime-type.parameters"></a><h4>Parameters</h4>
|
jpayne@68
|
1618 <div class="informaltable"><table class="informaltable" width="100%" border="0">
|
jpayne@68
|
1619 <colgroup>
|
jpayne@68
|
1620 <col width="150px" class="parameters_name">
|
jpayne@68
|
1621 <col class="parameters_description">
|
jpayne@68
|
1622 <col width="200px" class="parameters_annotations">
|
jpayne@68
|
1623 </colgroup>
|
jpayne@68
|
1624 <tbody>
|
jpayne@68
|
1625 <tr>
|
jpayne@68
|
1626 <td class="parameter_name"><p>surface</p></td>
|
jpayne@68
|
1627 <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>
|
jpayne@68
|
1628 <td class="parameter_annotations"> </td>
|
jpayne@68
|
1629 </tr>
|
jpayne@68
|
1630 <tr>
|
jpayne@68
|
1631 <td class="parameter_name"><p>mime_type</p></td>
|
jpayne@68
|
1632 <td class="parameter_description"><p>the mime type</p></td>
|
jpayne@68
|
1633 <td class="parameter_annotations"> </td>
|
jpayne@68
|
1634 </tr>
|
jpayne@68
|
1635 </tbody>
|
jpayne@68
|
1636 </table></div>
|
jpayne@68
|
1637 </div>
|
jpayne@68
|
1638 <div class="refsect3">
|
jpayne@68
|
1639 <a name="cairo-surface-supports-mime-type.returns"></a><h4>Returns</h4>
|
jpayne@68
|
1640 <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>
|
jpayne@68
|
1641 supports
|
jpayne@68
|
1642 <em class="parameter"><code>mime_type</code></em>
|
jpayne@68
|
1643 , <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise</p>
|
jpayne@68
|
1644 </div>
|
jpayne@68
|
1645 <p class="since">Since: 1.12</p>
|
jpayne@68
|
1646 </div>
|
jpayne@68
|
1647 <hr>
|
jpayne@68
|
1648 <div class="refsect2">
|
jpayne@68
|
1649 <a name="cairo-surface-map-to-image"></a><h3>cairo_surface_map_to_image ()</h3>
|
jpayne@68
|
1650 <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
|
1651 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>,
|
jpayne@68
|
1652 <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>
|
jpayne@68
|
1653 <p>Returns an image surface that is the most efficient mechanism for
|
jpayne@68
|
1654 modifying the backing store of the target surface. The region retrieved
|
jpayne@68
|
1655 may be limited to the <em class="parameter"><code>extents</code></em>
|
jpayne@68
|
1656 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>
|
jpayne@68
|
1657 <p>Note, the use of the original surface as a target or source whilst
|
jpayne@68
|
1658 it is mapped is undefined. The result of mapping the surface
|
jpayne@68
|
1659 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
|
jpayne@68
|
1660 <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
|
jpayne@68
|
1661 undefined behavior. Changing the device transform of the image
|
jpayne@68
|
1662 surface or of <em class="parameter"><code>surface</code></em>
|
jpayne@68
|
1663 before the image surface is unmapped results
|
jpayne@68
|
1664 in undefined behavior.</p>
|
jpayne@68
|
1665 <div class="refsect3">
|
jpayne@68
|
1666 <a name="cairo-surface-map-to-image.parameters"></a><h4>Parameters</h4>
|
jpayne@68
|
1667 <div class="informaltable"><table class="informaltable" width="100%" border="0">
|
jpayne@68
|
1668 <colgroup>
|
jpayne@68
|
1669 <col width="150px" class="parameters_name">
|
jpayne@68
|
1670 <col class="parameters_description">
|
jpayne@68
|
1671 <col width="200px" class="parameters_annotations">
|
jpayne@68
|
1672 </colgroup>
|
jpayne@68
|
1673 <tbody>
|
jpayne@68
|
1674 <tr>
|
jpayne@68
|
1675 <td class="parameter_name"><p>surface</p></td>
|
jpayne@68
|
1676 <td class="parameter_description"><p>an existing surface used to extract the image from</p></td>
|
jpayne@68
|
1677 <td class="parameter_annotations"> </td>
|
jpayne@68
|
1678 </tr>
|
jpayne@68
|
1679 <tr>
|
jpayne@68
|
1680 <td class="parameter_name"><p>extents</p></td>
|
jpayne@68
|
1681 <td class="parameter_description"><p>limit the extraction to an rectangular region</p></td>
|
jpayne@68
|
1682 <td class="parameter_annotations"> </td>
|
jpayne@68
|
1683 </tr>
|
jpayne@68
|
1684 </tbody>
|
jpayne@68
|
1685 </table></div>
|
jpayne@68
|
1686 </div>
|
jpayne@68
|
1687 <div class="refsect3">
|
jpayne@68
|
1688 <a name="cairo-surface-map-to-image.returns"></a><h4>Returns</h4>
|
jpayne@68
|
1689 <p> a pointer to the newly allocated image surface. The caller
|
jpayne@68
|
1690 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>
|
jpayne@68
|
1691 <p>This function always returns a valid pointer, but it will return a
|
jpayne@68
|
1692 pointer to a "nil" surface if <em class="parameter"><code>other</code></em>
|
jpayne@68
|
1693 is already in an error state
|
jpayne@68
|
1694 or any other error occurs. If the returned pointer does not have an
|
jpayne@68
|
1695 error status, it is guaranteed to be an image surface whose format
|
jpayne@68
|
1696 is not <a class="link" href="cairo-Image-Surfaces.html#CAIRO-FORMAT-INVALID:CAPS"><code class="literal">CAIRO_FORMAT_INVALID</code></a>.</p>
|
jpayne@68
|
1697 </div>
|
jpayne@68
|
1698 <p class="since">Since: 1.12</p>
|
jpayne@68
|
1699 </div>
|
jpayne@68
|
1700 <hr>
|
jpayne@68
|
1701 <div class="refsect2">
|
jpayne@68
|
1702 <a name="cairo-surface-unmap-image"></a><h3>cairo_surface_unmap_image ()</h3>
|
jpayne@68
|
1703 <pre class="programlisting"><span class="returnvalue">void</span>
|
jpayne@68
|
1704 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>,
|
jpayne@68
|
1705 <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>
|
jpayne@68
|
1706 <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>
|
jpayne@68
|
1707 <p>The content of the image will be uploaded to the target surface.
|
jpayne@68
|
1708 Afterwards, the image is destroyed.</p>
|
jpayne@68
|
1709 <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>
|
jpayne@68
|
1710 results in undefined behavior.</p>
|
jpayne@68
|
1711 <div class="refsect3">
|
jpayne@68
|
1712 <a name="cairo-surface-unmap-image.parameters"></a><h4>Parameters</h4>
|
jpayne@68
|
1713 <div class="informaltable"><table class="informaltable" width="100%" border="0">
|
jpayne@68
|
1714 <colgroup>
|
jpayne@68
|
1715 <col width="150px" class="parameters_name">
|
jpayne@68
|
1716 <col class="parameters_description">
|
jpayne@68
|
1717 <col width="200px" class="parameters_annotations">
|
jpayne@68
|
1718 </colgroup>
|
jpayne@68
|
1719 <tbody>
|
jpayne@68
|
1720 <tr>
|
jpayne@68
|
1721 <td class="parameter_name"><p>surface</p></td>
|
jpayne@68
|
1722 <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>
|
jpayne@68
|
1723 <td class="parameter_annotations"> </td>
|
jpayne@68
|
1724 </tr>
|
jpayne@68
|
1725 <tr>
|
jpayne@68
|
1726 <td class="parameter_name"><p>image</p></td>
|
jpayne@68
|
1727 <td class="parameter_description"><p>the currently mapped image</p></td>
|
jpayne@68
|
1728 <td class="parameter_annotations"> </td>
|
jpayne@68
|
1729 </tr>
|
jpayne@68
|
1730 </tbody>
|
jpayne@68
|
1731 </table></div>
|
jpayne@68
|
1732 </div>
|
jpayne@68
|
1733 <p class="since">Since: 1.12</p>
|
jpayne@68
|
1734 </div>
|
jpayne@68
|
1735 </div>
|
jpayne@68
|
1736 <div class="refsect1">
|
jpayne@68
|
1737 <a name="cairo-cairo-surface-t.other_details"></a><h2>Types and Values</h2>
|
jpayne@68
|
1738 <div class="refsect2">
|
jpayne@68
|
1739 <a name="CAIRO-HAS-MIME-SURFACE:CAPS"></a><h3>CAIRO_HAS_MIME_SURFACE</h3>
|
jpayne@68
|
1740 <pre class="programlisting">#define CAIRO_HAS_MIME_SURFACE 1
|
jpayne@68
|
1741 </pre>
|
jpayne@68
|
1742 </div>
|
jpayne@68
|
1743 <hr>
|
jpayne@68
|
1744 <div class="refsect2">
|
jpayne@68
|
1745 <a name="CAIRO-MIME-TYPE-CCITT-FAX:CAPS"></a><h3>CAIRO_MIME_TYPE_CCITT_FAX</h3>
|
jpayne@68
|
1746 <pre class="programlisting">#define CAIRO_MIME_TYPE_CCITT_FAX "image/g3fax"
|
jpayne@68
|
1747 </pre>
|
jpayne@68
|
1748 <p>Group 3 or Group 4 CCITT facsimile encoding (International
|
jpayne@68
|
1749 Telecommunication Union, Recommendations T.4 and T.6.)</p>
|
jpayne@68
|
1750 <p class="since">Since: 1.16</p>
|
jpayne@68
|
1751 </div>
|
jpayne@68
|
1752 <hr>
|
jpayne@68
|
1753 <div class="refsect2">
|
jpayne@68
|
1754 <a name="CAIRO-MIME-TYPE-CCITT-FAX-PARAMS:CAPS"></a><h3>CAIRO_MIME_TYPE_CCITT_FAX_PARAMS</h3>
|
jpayne@68
|
1755 <pre class="programlisting">#define CAIRO_MIME_TYPE_CCITT_FAX_PARAMS "application/x-cairo.ccitt.params"
|
jpayne@68
|
1756 </pre>
|
jpayne@68
|
1757 <p>Decode parameters for Group 3 or Group 4 CCITT facsimile encoding.
|
jpayne@68
|
1758 See <a class="link" href="cairo-PDF-Surfaces.html#ccitt" title="CCITT Fax Images">CCITT Fax Images</a>.</p>
|
jpayne@68
|
1759 <p class="since">Since: 1.16</p>
|
jpayne@68
|
1760 </div>
|
jpayne@68
|
1761 <hr>
|
jpayne@68
|
1762 <div class="refsect2">
|
jpayne@68
|
1763 <a name="CAIRO-MIME-TYPE-EPS:CAPS"></a><h3>CAIRO_MIME_TYPE_EPS</h3>
|
jpayne@68
|
1764 <pre class="programlisting">#define CAIRO_MIME_TYPE_EPS "application/postscript"
|
jpayne@68
|
1765 </pre>
|
jpayne@68
|
1766 <p>Encapsulated PostScript file.
|
jpayne@68
|
1767 <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>
|
jpayne@68
|
1768 <p class="since">Since: 1.16</p>
|
jpayne@68
|
1769 </div>
|
jpayne@68
|
1770 <hr>
|
jpayne@68
|
1771 <div class="refsect2">
|
jpayne@68
|
1772 <a name="CAIRO-MIME-TYPE-EPS-PARAMS:CAPS"></a><h3>CAIRO_MIME_TYPE_EPS_PARAMS</h3>
|
jpayne@68
|
1773 <pre class="programlisting">#define CAIRO_MIME_TYPE_EPS_PARAMS "application/x-cairo.eps.params"
|
jpayne@68
|
1774 </pre>
|
jpayne@68
|
1775 <p>Embedding parameters Encapsulated PostScript data.
|
jpayne@68
|
1776 See <a class="link" href="cairo-PostScript-Surfaces.html#eps" title="Embedding EPS files">Embedding EPS files</a>.</p>
|
jpayne@68
|
1777 <p class="since">Since: 1.16</p>
|
jpayne@68
|
1778 </div>
|
jpayne@68
|
1779 <hr>
|
jpayne@68
|
1780 <div class="refsect2">
|
jpayne@68
|
1781 <a name="CAIRO-MIME-TYPE-JBIG2:CAPS"></a><h3>CAIRO_MIME_TYPE_JBIG2</h3>
|
jpayne@68
|
1782 <pre class="programlisting">#define CAIRO_MIME_TYPE_JBIG2 "application/x-cairo.jbig2"
|
jpayne@68
|
1783 </pre>
|
jpayne@68
|
1784 <p>Joint Bi-level Image Experts Group image coding standard (ISO/IEC 11544).</p>
|
jpayne@68
|
1785 <p class="since">Since: 1.14</p>
|
jpayne@68
|
1786 </div>
|
jpayne@68
|
1787 <hr>
|
jpayne@68
|
1788 <div class="refsect2">
|
jpayne@68
|
1789 <a name="CAIRO-MIME-TYPE-JBIG2-GLOBAL:CAPS"></a><h3>CAIRO_MIME_TYPE_JBIG2_GLOBAL</h3>
|
jpayne@68
|
1790 <pre class="programlisting">#define CAIRO_MIME_TYPE_JBIG2_GLOBAL "application/x-cairo.jbig2-global"
|
jpayne@68
|
1791 </pre>
|
jpayne@68
|
1792 <p>Joint Bi-level Image Experts Group image coding standard (ISO/IEC 11544) global segment.</p>
|
jpayne@68
|
1793 <p class="since">Since: 1.14</p>
|
jpayne@68
|
1794 </div>
|
jpayne@68
|
1795 <hr>
|
jpayne@68
|
1796 <div class="refsect2">
|
jpayne@68
|
1797 <a name="CAIRO-MIME-TYPE-JBIG2-GLOBAL-ID:CAPS"></a><h3>CAIRO_MIME_TYPE_JBIG2_GLOBAL_ID</h3>
|
jpayne@68
|
1798 <pre class="programlisting">#define CAIRO_MIME_TYPE_JBIG2_GLOBAL_ID "application/x-cairo.jbig2-global-id"
|
jpayne@68
|
1799 </pre>
|
jpayne@68
|
1800 <p>An unique identifier shared by a JBIG2 global segment and all JBIG2 images
|
jpayne@68
|
1801 that depend on the global segment.</p>
|
jpayne@68
|
1802 <p class="since">Since: 1.14</p>
|
jpayne@68
|
1803 </div>
|
jpayne@68
|
1804 <hr>
|
jpayne@68
|
1805 <div class="refsect2">
|
jpayne@68
|
1806 <a name="CAIRO-MIME-TYPE-JP2:CAPS"></a><h3>CAIRO_MIME_TYPE_JP2</h3>
|
jpayne@68
|
1807 <pre class="programlisting">#define CAIRO_MIME_TYPE_JP2 "image/jp2"
|
jpayne@68
|
1808 </pre>
|
jpayne@68
|
1809 <p>The Joint Photographic Experts Group (JPEG) 2000 image coding standard (ISO/IEC 15444-1).</p>
|
jpayne@68
|
1810 <p class="since">Since: 1.10</p>
|
jpayne@68
|
1811 </div>
|
jpayne@68
|
1812 <hr>
|
jpayne@68
|
1813 <div class="refsect2">
|
jpayne@68
|
1814 <a name="CAIRO-MIME-TYPE-JPEG:CAPS"></a><h3>CAIRO_MIME_TYPE_JPEG</h3>
|
jpayne@68
|
1815 <pre class="programlisting">#define CAIRO_MIME_TYPE_JPEG "image/jpeg"
|
jpayne@68
|
1816 </pre>
|
jpayne@68
|
1817 <p>The Joint Photographic Experts Group (JPEG) image coding standard (ISO/IEC 10918-1).</p>
|
jpayne@68
|
1818 <p class="since">Since: 1.10</p>
|
jpayne@68
|
1819 </div>
|
jpayne@68
|
1820 <hr>
|
jpayne@68
|
1821 <div class="refsect2">
|
jpayne@68
|
1822 <a name="CAIRO-MIME-TYPE-PNG:CAPS"></a><h3>CAIRO_MIME_TYPE_PNG</h3>
|
jpayne@68
|
1823 <pre class="programlisting">#define CAIRO_MIME_TYPE_PNG "image/png"
|
jpayne@68
|
1824 </pre>
|
jpayne@68
|
1825 <p>The Portable Network Graphics image file format (ISO/IEC 15948).</p>
|
jpayne@68
|
1826 <p class="since">Since: 1.10</p>
|
jpayne@68
|
1827 </div>
|
jpayne@68
|
1828 <hr>
|
jpayne@68
|
1829 <div class="refsect2">
|
jpayne@68
|
1830 <a name="CAIRO-MIME-TYPE-URI:CAPS"></a><h3>CAIRO_MIME_TYPE_URI</h3>
|
jpayne@68
|
1831 <pre class="programlisting">#define CAIRO_MIME_TYPE_URI "text/x-uri"
|
jpayne@68
|
1832 </pre>
|
jpayne@68
|
1833 <p>URI for an image file (unofficial MIME type).</p>
|
jpayne@68
|
1834 <p class="since">Since: 1.10</p>
|
jpayne@68
|
1835 </div>
|
jpayne@68
|
1836 <hr>
|
jpayne@68
|
1837 <div class="refsect2">
|
jpayne@68
|
1838 <a name="CAIRO-MIME-TYPE-UNIQUE-ID:CAPS"></a><h3>CAIRO_MIME_TYPE_UNIQUE_ID</h3>
|
jpayne@68
|
1839 <pre class="programlisting">#define CAIRO_MIME_TYPE_UNIQUE_ID "application/x-cairo.uuid"
|
jpayne@68
|
1840 </pre>
|
jpayne@68
|
1841 <p>Unique identifier for a surface (cairo specific MIME type). All surfaces with
|
jpayne@68
|
1842 the same unique identifier will only be embedded once.</p>
|
jpayne@68
|
1843 <p class="since">Since: 1.12</p>
|
jpayne@68
|
1844 </div>
|
jpayne@68
|
1845 <hr>
|
jpayne@68
|
1846 <div class="refsect2">
|
jpayne@68
|
1847 <a name="cairo-surface-t"></a><h3>cairo_surface_t</h3>
|
jpayne@68
|
1848 <pre class="programlisting">typedef struct _cairo_surface cairo_surface_t;
|
jpayne@68
|
1849 </pre>
|
jpayne@68
|
1850 <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
|
jpayne@68
|
1851 of a drawing operation or as source when drawing onto another
|
jpayne@68
|
1852 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
|
jpayne@68
|
1853 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>
|
jpayne@68
|
1854 <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
|
jpayne@68
|
1855 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>
|
jpayne@68
|
1856 creates a bitmap image in memory.
|
jpayne@68
|
1857 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>
|
jpayne@68
|
1858 <p>The initial contents of a surface after creation depend upon the manner
|
jpayne@68
|
1859 of its creation. If cairo creates the surface and backing storage for
|
jpayne@68
|
1860 the user, it will be initially cleared; for example,
|
jpayne@68
|
1861 <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>.
|
jpayne@68
|
1862 Alternatively, if the user passes in a reference to some backing storage
|
jpayne@68
|
1863 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
|
jpayne@68
|
1864 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
|
jpayne@68
|
1865 <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>
|
jpayne@68
|
1866 <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
|
jpayne@68
|
1867 <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>
|
jpayne@68
|
1868 <p class="since">Since: 1.0</p>
|
jpayne@68
|
1869 </div>
|
jpayne@68
|
1870 <hr>
|
jpayne@68
|
1871 <div class="refsect2">
|
jpayne@68
|
1872 <a name="cairo-content-t"></a><h3>enum cairo_content_t</h3>
|
jpayne@68
|
1873 <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
|
jpayne@68
|
1874 contain, whether color information, alpha information (translucence
|
jpayne@68
|
1875 vs. opacity), or both.</p>
|
jpayne@68
|
1876 <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>
|
jpayne@68
|
1877 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
|
jpayne@68
|
1878 implementation can detect the error if users confuse the two types.</p>
|
jpayne@68
|
1879 <div class="refsect3">
|
jpayne@68
|
1880 <a name="cairo-content-t.members"></a><h4>Members</h4>
|
jpayne@68
|
1881 <div class="informaltable"><table class="informaltable" width="100%" border="0">
|
jpayne@68
|
1882 <colgroup>
|
jpayne@68
|
1883 <col width="300px" class="enum_members_name">
|
jpayne@68
|
1884 <col class="enum_members_description">
|
jpayne@68
|
1885 <col width="200px" class="enum_members_annotations">
|
jpayne@68
|
1886 </colgroup>
|
jpayne@68
|
1887 <tbody>
|
jpayne@68
|
1888 <tr>
|
jpayne@68
|
1889 <td class="enum_member_name"><p><a name="CAIRO-CONTENT-COLOR:CAPS"></a>CAIRO_CONTENT_COLOR</p></td>
|
jpayne@68
|
1890 <td class="enum_member_description">
|
jpayne@68
|
1891 <p>The surface will hold color content only. (Since 1.0)</p>
|
jpayne@68
|
1892 </td>
|
jpayne@68
|
1893 <td class="enum_member_annotations"> </td>
|
jpayne@68
|
1894 </tr>
|
jpayne@68
|
1895 <tr>
|
jpayne@68
|
1896 <td class="enum_member_name"><p><a name="CAIRO-CONTENT-ALPHA:CAPS"></a>CAIRO_CONTENT_ALPHA</p></td>
|
jpayne@68
|
1897 <td class="enum_member_description">
|
jpayne@68
|
1898 <p>The surface will hold alpha content only. (Since 1.0)</p>
|
jpayne@68
|
1899 </td>
|
jpayne@68
|
1900 <td class="enum_member_annotations"> </td>
|
jpayne@68
|
1901 </tr>
|
jpayne@68
|
1902 <tr>
|
jpayne@68
|
1903 <td class="enum_member_name"><p><a name="CAIRO-CONTENT-COLOR-ALPHA:CAPS"></a>CAIRO_CONTENT_COLOR_ALPHA</p></td>
|
jpayne@68
|
1904 <td class="enum_member_description">
|
jpayne@68
|
1905 <p>The surface will hold color and alpha content. (Since 1.0)</p>
|
jpayne@68
|
1906 </td>
|
jpayne@68
|
1907 <td class="enum_member_annotations"> </td>
|
jpayne@68
|
1908 </tr>
|
jpayne@68
|
1909 </tbody>
|
jpayne@68
|
1910 </table></div>
|
jpayne@68
|
1911 </div>
|
jpayne@68
|
1912 <p class="since">Since: 1.0</p>
|
jpayne@68
|
1913 </div>
|
jpayne@68
|
1914 <hr>
|
jpayne@68
|
1915 <div class="refsect2">
|
jpayne@68
|
1916 <a name="cairo-surface-type-t"></a><h3>enum cairo_surface_type_t</h3>
|
jpayne@68
|
1917 <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
|
jpayne@68
|
1918 surface. The surface types are also known as "backends" or "surface
|
jpayne@68
|
1919 backends" within cairo.</p>
|
jpayne@68
|
1920 <p>The type of a surface is determined by the function used to create
|
jpayne@68
|
1921 it, which will generally be of the form
|
jpayne@68
|
1922 <code class="function">cairo_<span class="emphasis"><em>type</em></span>_surface_create()</code>,
|
jpayne@68
|
1923 (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>
|
jpayne@68
|
1924 <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>
|
jpayne@68
|
1925 <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
|
jpayne@68
|
1926 any type, but some backends also provide type-specific functions
|
jpayne@68
|
1927 that must only be called with a surface of the appropriate
|
jpayne@68
|
1928 type. These functions have names that begin with
|
jpayne@68
|
1929 <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>
|
jpayne@68
|
1930 <p>The behavior of calling a type-specific function with a surface of
|
jpayne@68
|
1931 the wrong type is undefined.</p>
|
jpayne@68
|
1932 <p>New entries may be added in future versions.</p>
|
jpayne@68
|
1933 <div class="refsect3">
|
jpayne@68
|
1934 <a name="cairo-surface-type-t.members"></a><h4>Members</h4>
|
jpayne@68
|
1935 <div class="informaltable"><table class="informaltable" width="100%" border="0">
|
jpayne@68
|
1936 <colgroup>
|
jpayne@68
|
1937 <col width="300px" class="enum_members_name">
|
jpayne@68
|
1938 <col class="enum_members_description">
|
jpayne@68
|
1939 <col width="200px" class="enum_members_annotations">
|
jpayne@68
|
1940 </colgroup>
|
jpayne@68
|
1941 <tbody>
|
jpayne@68
|
1942 <tr>
|
jpayne@68
|
1943 <td class="enum_member_name"><p><a name="CAIRO-SURFACE-TYPE-IMAGE:CAPS"></a>CAIRO_SURFACE_TYPE_IMAGE</p></td>
|
jpayne@68
|
1944 <td class="enum_member_description">
|
jpayne@68
|
1945 <p>The surface is of type image, since 1.2</p>
|
jpayne@68
|
1946 </td>
|
jpayne@68
|
1947 <td class="enum_member_annotations"> </td>
|
jpayne@68
|
1948 </tr>
|
jpayne@68
|
1949 <tr>
|
jpayne@68
|
1950 <td class="enum_member_name"><p><a name="CAIRO-SURFACE-TYPE-PDF:CAPS"></a>CAIRO_SURFACE_TYPE_PDF</p></td>
|
jpayne@68
|
1951 <td class="enum_member_description">
|
jpayne@68
|
1952 <p>The surface is of type pdf, since 1.2</p>
|
jpayne@68
|
1953 </td>
|
jpayne@68
|
1954 <td class="enum_member_annotations"> </td>
|
jpayne@68
|
1955 </tr>
|
jpayne@68
|
1956 <tr>
|
jpayne@68
|
1957 <td class="enum_member_name"><p><a name="CAIRO-SURFACE-TYPE-PS:CAPS"></a>CAIRO_SURFACE_TYPE_PS</p></td>
|
jpayne@68
|
1958 <td class="enum_member_description">
|
jpayne@68
|
1959 <p>The surface is of type ps, since 1.2</p>
|
jpayne@68
|
1960 </td>
|
jpayne@68
|
1961 <td class="enum_member_annotations"> </td>
|
jpayne@68
|
1962 </tr>
|
jpayne@68
|
1963 <tr>
|
jpayne@68
|
1964 <td class="enum_member_name"><p><a name="CAIRO-SURFACE-TYPE-XLIB:CAPS"></a>CAIRO_SURFACE_TYPE_XLIB</p></td>
|
jpayne@68
|
1965 <td class="enum_member_description">
|
jpayne@68
|
1966 <p>The surface is of type xlib, since 1.2</p>
|
jpayne@68
|
1967 </td>
|
jpayne@68
|
1968 <td class="enum_member_annotations"> </td>
|
jpayne@68
|
1969 </tr>
|
jpayne@68
|
1970 <tr>
|
jpayne@68
|
1971 <td class="enum_member_name"><p><a name="CAIRO-SURFACE-TYPE-XCB:CAPS"></a>CAIRO_SURFACE_TYPE_XCB</p></td>
|
jpayne@68
|
1972 <td class="enum_member_description">
|
jpayne@68
|
1973 <p>The surface is of type xcb, since 1.2</p>
|
jpayne@68
|
1974 </td>
|
jpayne@68
|
1975 <td class="enum_member_annotations"> </td>
|
jpayne@68
|
1976 </tr>
|
jpayne@68
|
1977 <tr>
|
jpayne@68
|
1978 <td class="enum_member_name"><p><a name="CAIRO-SURFACE-TYPE-GLITZ:CAPS"></a>CAIRO_SURFACE_TYPE_GLITZ</p></td>
|
jpayne@68
|
1979 <td class="enum_member_description">
|
jpayne@68
|
1980 <p>The surface is of type glitz, since 1.2</p>
|
jpayne@68
|
1981 </td>
|
jpayne@68
|
1982 <td class="enum_member_annotations"> </td>
|
jpayne@68
|
1983 </tr>
|
jpayne@68
|
1984 <tr>
|
jpayne@68
|
1985 <td class="enum_member_name"><p><a name="CAIRO-SURFACE-TYPE-QUARTZ:CAPS"></a>CAIRO_SURFACE_TYPE_QUARTZ</p></td>
|
jpayne@68
|
1986 <td class="enum_member_description">
|
jpayne@68
|
1987 <p>The surface is of type quartz, since 1.2</p>
|
jpayne@68
|
1988 </td>
|
jpayne@68
|
1989 <td class="enum_member_annotations"> </td>
|
jpayne@68
|
1990 </tr>
|
jpayne@68
|
1991 <tr>
|
jpayne@68
|
1992 <td class="enum_member_name"><p><a name="CAIRO-SURFACE-TYPE-WIN32:CAPS"></a>CAIRO_SURFACE_TYPE_WIN32</p></td>
|
jpayne@68
|
1993 <td class="enum_member_description">
|
jpayne@68
|
1994 <p>The surface is of type win32, since 1.2</p>
|
jpayne@68
|
1995 </td>
|
jpayne@68
|
1996 <td class="enum_member_annotations"> </td>
|
jpayne@68
|
1997 </tr>
|
jpayne@68
|
1998 <tr>
|
jpayne@68
|
1999 <td class="enum_member_name"><p><a name="CAIRO-SURFACE-TYPE-BEOS:CAPS"></a>CAIRO_SURFACE_TYPE_BEOS</p></td>
|
jpayne@68
|
2000 <td class="enum_member_description">
|
jpayne@68
|
2001 <p>The surface is of type beos, since 1.2</p>
|
jpayne@68
|
2002 </td>
|
jpayne@68
|
2003 <td class="enum_member_annotations"> </td>
|
jpayne@68
|
2004 </tr>
|
jpayne@68
|
2005 <tr>
|
jpayne@68
|
2006 <td class="enum_member_name"><p><a name="CAIRO-SURFACE-TYPE-DIRECTFB:CAPS"></a>CAIRO_SURFACE_TYPE_DIRECTFB</p></td>
|
jpayne@68
|
2007 <td class="enum_member_description">
|
jpayne@68
|
2008 <p>The surface is of type directfb, since 1.2</p>
|
jpayne@68
|
2009 </td>
|
jpayne@68
|
2010 <td class="enum_member_annotations"> </td>
|
jpayne@68
|
2011 </tr>
|
jpayne@68
|
2012 <tr>
|
jpayne@68
|
2013 <td class="enum_member_name"><p><a name="CAIRO-SURFACE-TYPE-SVG:CAPS"></a>CAIRO_SURFACE_TYPE_SVG</p></td>
|
jpayne@68
|
2014 <td class="enum_member_description">
|
jpayne@68
|
2015 <p>The surface is of type svg, since 1.2</p>
|
jpayne@68
|
2016 </td>
|
jpayne@68
|
2017 <td class="enum_member_annotations"> </td>
|
jpayne@68
|
2018 </tr>
|
jpayne@68
|
2019 <tr>
|
jpayne@68
|
2020 <td class="enum_member_name"><p><a name="CAIRO-SURFACE-TYPE-OS2:CAPS"></a>CAIRO_SURFACE_TYPE_OS2</p></td>
|
jpayne@68
|
2021 <td class="enum_member_description">
|
jpayne@68
|
2022 <p>The surface is of type os2, since 1.4</p>
|
jpayne@68
|
2023 </td>
|
jpayne@68
|
2024 <td class="enum_member_annotations"> </td>
|
jpayne@68
|
2025 </tr>
|
jpayne@68
|
2026 <tr>
|
jpayne@68
|
2027 <td class="enum_member_name"><p><a name="CAIRO-SURFACE-TYPE-WIN32-PRINTING:CAPS"></a>CAIRO_SURFACE_TYPE_WIN32_PRINTING</p></td>
|
jpayne@68
|
2028 <td class="enum_member_description">
|
jpayne@68
|
2029 <p>The surface is a win32 printing surface, since 1.6</p>
|
jpayne@68
|
2030 </td>
|
jpayne@68
|
2031 <td class="enum_member_annotations"> </td>
|
jpayne@68
|
2032 </tr>
|
jpayne@68
|
2033 <tr>
|
jpayne@68
|
2034 <td class="enum_member_name"><p><a name="CAIRO-SURFACE-TYPE-QUARTZ-IMAGE:CAPS"></a>CAIRO_SURFACE_TYPE_QUARTZ_IMAGE</p></td>
|
jpayne@68
|
2035 <td class="enum_member_description">
|
jpayne@68
|
2036 <p>The surface is of type quartz_image, since 1.6</p>
|
jpayne@68
|
2037 </td>
|
jpayne@68
|
2038 <td class="enum_member_annotations"> </td>
|
jpayne@68
|
2039 </tr>
|
jpayne@68
|
2040 <tr>
|
jpayne@68
|
2041 <td class="enum_member_name"><p><a name="CAIRO-SURFACE-TYPE-SCRIPT:CAPS"></a>CAIRO_SURFACE_TYPE_SCRIPT</p></td>
|
jpayne@68
|
2042 <td class="enum_member_description">
|
jpayne@68
|
2043 <p>The surface is of type script, since 1.10</p>
|
jpayne@68
|
2044 </td>
|
jpayne@68
|
2045 <td class="enum_member_annotations"> </td>
|
jpayne@68
|
2046 </tr>
|
jpayne@68
|
2047 <tr>
|
jpayne@68
|
2048 <td class="enum_member_name"><p><a name="CAIRO-SURFACE-TYPE-QT:CAPS"></a>CAIRO_SURFACE_TYPE_QT</p></td>
|
jpayne@68
|
2049 <td class="enum_member_description">
|
jpayne@68
|
2050 <p>The surface is of type Qt, since 1.10</p>
|
jpayne@68
|
2051 </td>
|
jpayne@68
|
2052 <td class="enum_member_annotations"> </td>
|
jpayne@68
|
2053 </tr>
|
jpayne@68
|
2054 <tr>
|
jpayne@68
|
2055 <td class="enum_member_name"><p><a name="CAIRO-SURFACE-TYPE-RECORDING:CAPS"></a>CAIRO_SURFACE_TYPE_RECORDING</p></td>
|
jpayne@68
|
2056 <td class="enum_member_description">
|
jpayne@68
|
2057 <p>The surface is of type recording, since 1.10</p>
|
jpayne@68
|
2058 </td>
|
jpayne@68
|
2059 <td class="enum_member_annotations"> </td>
|
jpayne@68
|
2060 </tr>
|
jpayne@68
|
2061 <tr>
|
jpayne@68
|
2062 <td class="enum_member_name"><p><a name="CAIRO-SURFACE-TYPE-VG:CAPS"></a>CAIRO_SURFACE_TYPE_VG</p></td>
|
jpayne@68
|
2063 <td class="enum_member_description">
|
jpayne@68
|
2064 <p>The surface is a OpenVG surface, since 1.10</p>
|
jpayne@68
|
2065 </td>
|
jpayne@68
|
2066 <td class="enum_member_annotations"> </td>
|
jpayne@68
|
2067 </tr>
|
jpayne@68
|
2068 <tr>
|
jpayne@68
|
2069 <td class="enum_member_name"><p><a name="CAIRO-SURFACE-TYPE-GL:CAPS"></a>CAIRO_SURFACE_TYPE_GL</p></td>
|
jpayne@68
|
2070 <td class="enum_member_description">
|
jpayne@68
|
2071 <p>The surface is of type OpenGL, since 1.10</p>
|
jpayne@68
|
2072 </td>
|
jpayne@68
|
2073 <td class="enum_member_annotations"> </td>
|
jpayne@68
|
2074 </tr>
|
jpayne@68
|
2075 <tr>
|
jpayne@68
|
2076 <td class="enum_member_name"><p><a name="CAIRO-SURFACE-TYPE-DRM:CAPS"></a>CAIRO_SURFACE_TYPE_DRM</p></td>
|
jpayne@68
|
2077 <td class="enum_member_description">
|
jpayne@68
|
2078 <p>The surface is of type Direct Render Manager, since 1.10</p>
|
jpayne@68
|
2079 </td>
|
jpayne@68
|
2080 <td class="enum_member_annotations"> </td>
|
jpayne@68
|
2081 </tr>
|
jpayne@68
|
2082 <tr>
|
jpayne@68
|
2083 <td class="enum_member_name"><p><a name="CAIRO-SURFACE-TYPE-TEE:CAPS"></a>CAIRO_SURFACE_TYPE_TEE</p></td>
|
jpayne@68
|
2084 <td class="enum_member_description">
|
jpayne@68
|
2085 <p>The surface is of type 'tee' (a multiplexing surface), since 1.10</p>
|
jpayne@68
|
2086 </td>
|
jpayne@68
|
2087 <td class="enum_member_annotations"> </td>
|
jpayne@68
|
2088 </tr>
|
jpayne@68
|
2089 <tr>
|
jpayne@68
|
2090 <td class="enum_member_name"><p><a name="CAIRO-SURFACE-TYPE-XML:CAPS"></a>CAIRO_SURFACE_TYPE_XML</p></td>
|
jpayne@68
|
2091 <td class="enum_member_description">
|
jpayne@68
|
2092 <p>The surface is of type XML (for debugging), since 1.10</p>
|
jpayne@68
|
2093 </td>
|
jpayne@68
|
2094 <td class="enum_member_annotations"> </td>
|
jpayne@68
|
2095 </tr>
|
jpayne@68
|
2096 <tr>
|
jpayne@68
|
2097 <td class="enum_member_name"><p><a name="CAIRO-SURFACE-TYPE-SKIA:CAPS"></a>CAIRO_SURFACE_TYPE_SKIA</p></td>
|
jpayne@68
|
2098 <td> </td>
|
jpayne@68
|
2099 <td> </td>
|
jpayne@68
|
2100 </tr>
|
jpayne@68
|
2101 <tr>
|
jpayne@68
|
2102 <td class="enum_member_name"><p><a name="CAIRO-SURFACE-TYPE-SUBSURFACE:CAPS"></a>CAIRO_SURFACE_TYPE_SUBSURFACE</p></td>
|
jpayne@68
|
2103 <td class="enum_member_description">
|
jpayne@68
|
2104 <p>The surface is a subsurface created with
|
jpayne@68
|
2105 <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>
|
jpayne@68
|
2106 </td>
|
jpayne@68
|
2107 <td class="enum_member_annotations"> </td>
|
jpayne@68
|
2108 </tr>
|
jpayne@68
|
2109 <tr>
|
jpayne@68
|
2110 <td class="enum_member_name"><p><a name="CAIRO-SURFACE-TYPE-COGL:CAPS"></a>CAIRO_SURFACE_TYPE_COGL</p></td>
|
jpayne@68
|
2111 <td class="enum_member_description">
|
jpayne@68
|
2112 <p>This surface is of type Cogl, since 1.12</p>
|
jpayne@68
|
2113 </td>
|
jpayne@68
|
2114 <td class="enum_member_annotations"> </td>
|
jpayne@68
|
2115 </tr>
|
jpayne@68
|
2116 </tbody>
|
jpayne@68
|
2117 </table></div>
|
jpayne@68
|
2118 </div>
|
jpayne@68
|
2119 <p class="since">Since: 1.2</p>
|
jpayne@68
|
2120 </div>
|
jpayne@68
|
2121 </div>
|
jpayne@68
|
2122 <div class="refsect1">
|
jpayne@68
|
2123 <a name="cairo-cairo-surface-t.see-also"></a><h2>See Also</h2>
|
jpayne@68
|
2124 <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>
|
jpayne@68
|
2125 </div>
|
jpayne@68
|
2126 </div>
|
jpayne@68
|
2127 <div class="footer">
|
jpayne@68
|
2128 <hr>Generated by GTK-Doc V1.27</div>
|
jpayne@68
|
2129 </body>
|
jpayne@68
|
2130 </html> |