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

planemo upload commit 2e9511a184a1ca667c7be0c6321a36dc4e3d116d
author jpayne
date Tue, 18 Mar 2025 16:23:26 -0400
parents
children
comparison
equal deleted inserted replaced
67:0e9998148a16 68:5028fdace37b
1 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2 <html>
3 <head>
4 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
5 <title>XCB Surfaces: Cairo: A Vector Graphics Library</title>
6 <meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
7 <link rel="home" href="index.html" title="Cairo: A Vector Graphics Library">
8 <link rel="up" href="cairo-surfaces.html" title="Surfaces">
9 <link rel="prev" href="cairo-Quartz-Surfaces.html" title="Quartz Surfaces">
10 <link rel="next" href="cairo-XLib-Surfaces.html" title="XLib Surfaces">
11 <meta name="generator" content="GTK-Doc V1.27 (XML mode)">
12 <link rel="stylesheet" href="style.css" type="text/css">
13 </head>
14 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
15 <table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
16 <td width="100%" align="left" class="shortcuts">
17 <a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
18 <a href="#cairo-XCB-Surfaces.description" class="shortcut">Description</a></span>
19 </td>
20 <td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
21 <td><a accesskey="u" href="cairo-surfaces.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
22 <td><a accesskey="p" href="cairo-Quartz-Surfaces.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
23 <td><a accesskey="n" href="cairo-XLib-Surfaces.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
24 </tr></table>
25 <div class="refentry">
26 <a name="cairo-XCB-Surfaces"></a><div class="titlepage"></div>
27 <div class="refnamediv"><table width="100%"><tr>
28 <td valign="top">
29 <h2><span class="refentrytitle"><a name="cairo-XCB-Surfaces.top_of_page"></a>XCB Surfaces</span></h2>
30 <p>XCB Surfaces — X Window System rendering using the XCB library</p>
31 </td>
32 <td class="gallery_image" valign="top" align="right"></td>
33 </tr></table></div>
34 <div class="refsect1">
35 <a name="cairo-XCB-Surfaces.functions"></a><h2>Functions</h2>
36 <div class="informaltable"><table class="informaltable" width="100%" border="0">
37 <colgroup>
38 <col width="150px" class="functions_return">
39 <col class="functions_name">
40 </colgroup>
41 <tbody>
42 <tr>
43 <td class="function_type">
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> *
45 </td>
46 <td class="function_name">
47 <a class="link" href="cairo-XCB-Surfaces.html#cairo-xcb-surface-create" title="cairo_xcb_surface_create ()">cairo_xcb_surface_create</a> <span class="c_punctuation">()</span>
48 </td>
49 </tr>
50 <tr>
51 <td class="function_type">
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> *
53 </td>
54 <td class="function_name">
55 <a class="link" href="cairo-XCB-Surfaces.html#cairo-xcb-surface-create-for-bitmap" title="cairo_xcb_surface_create_for_bitmap ()">cairo_xcb_surface_create_for_bitmap</a> <span class="c_punctuation">()</span>
56 </td>
57 </tr>
58 <tr>
59 <td class="function_type">
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> *
61 </td>
62 <td class="function_name">
63 <a class="link" href="cairo-XCB-Surfaces.html#cairo-xcb-surface-create-with-xrender-format" title="cairo_xcb_surface_create_with_xrender_format ()">cairo_xcb_surface_create_with_xrender_format</a> <span class="c_punctuation">()</span>
64 </td>
65 </tr>
66 <tr>
67 <td class="function_type">
68 <span class="returnvalue">void</span>
69 </td>
70 <td class="function_name">
71 <a class="link" href="cairo-XCB-Surfaces.html#cairo-xcb-surface-set-size" title="cairo_xcb_surface_set_size ()">cairo_xcb_surface_set_size</a> <span class="c_punctuation">()</span>
72 </td>
73 </tr>
74 <tr>
75 <td class="function_type">
76 <span class="returnvalue">void</span>
77 </td>
78 <td class="function_name">
79 <a class="link" href="cairo-XCB-Surfaces.html#cairo-xcb-surface-set-drawable" title="cairo_xcb_surface_set_drawable ()">cairo_xcb_surface_set_drawable</a> <span class="c_punctuation">()</span>
80 </td>
81 </tr>
82 <tr>
83 <td class="function_type">
84 <span class="returnvalue">xcb_connection_t</span> *
85 </td>
86 <td class="function_name">
87 <a class="link" href="cairo-XCB-Surfaces.html#cairo-xcb-device-get-connection" title="cairo_xcb_device_get_connection ()">cairo_xcb_device_get_connection</a> <span class="c_punctuation">()</span>
88 </td>
89 </tr>
90 <tr>
91 <td class="function_type">
92 <span class="returnvalue">void</span>
93 </td>
94 <td class="function_name">
95 <a class="link" href="cairo-XCB-Surfaces.html#cairo-xcb-device-debug-cap-xrender-version" title="cairo_xcb_device_debug_cap_xrender_version ()">cairo_xcb_device_debug_cap_xrender_version</a> <span class="c_punctuation">()</span>
96 </td>
97 </tr>
98 <tr>
99 <td class="function_type">
100 <span class="returnvalue">void</span>
101 </td>
102 <td class="function_name">
103 <a class="link" href="cairo-XCB-Surfaces.html#cairo-xcb-device-debug-cap-xshm-version" title="cairo_xcb_device_debug_cap_xshm_version ()">cairo_xcb_device_debug_cap_xshm_version</a> <span class="c_punctuation">()</span>
104 </td>
105 </tr>
106 <tr>
107 <td class="function_type">
108 <span class="returnvalue">int</span>
109 </td>
110 <td class="function_name">
111 <a class="link" href="cairo-XCB-Surfaces.html#cairo-xcb-device-debug-get-precision" title="cairo_xcb_device_debug_get_precision ()">cairo_xcb_device_debug_get_precision</a> <span class="c_punctuation">()</span>
112 </td>
113 </tr>
114 <tr>
115 <td class="function_type">
116 <span class="returnvalue">void</span>
117 </td>
118 <td class="function_name">
119 <a class="link" href="cairo-XCB-Surfaces.html#cairo-xcb-device-debug-set-precision" title="cairo_xcb_device_debug_set_precision ()">cairo_xcb_device_debug_set_precision</a> <span class="c_punctuation">()</span>
120 </td>
121 </tr>
122 </tbody>
123 </table></div>
124 </div>
125 <div class="refsect1">
126 <a name="cairo-XCB-Surfaces.other"></a><h2>Types and Values</h2>
127 <div class="informaltable"><table class="informaltable" width="100%" border="0">
128 <colgroup>
129 <col width="150px" class="name">
130 <col class="description">
131 </colgroup>
132 <tbody>
133 <tr>
134 <td class="define_keyword">#define</td>
135 <td class="function_name"><a class="link" href="cairo-XCB-Surfaces.html#CAIRO-HAS-XCB-SURFACE:CAPS" title="CAIRO_HAS_XCB_SURFACE">CAIRO_HAS_XCB_SURFACE</a></td>
136 </tr>
137 <tr>
138 <td class="define_keyword">#define</td>
139 <td class="function_name"><a class="link" href="cairo-XCB-Surfaces.html#CAIRO-HAS-XCB-SHM-FUNCTIONS:CAPS" title="CAIRO_HAS_XCB_SHM_FUNCTIONS">CAIRO_HAS_XCB_SHM_FUNCTIONS</a></td>
140 </tr>
141 </tbody>
142 </table></div>
143 </div>
144 <div class="refsect1">
145 <a name="cairo-XCB-Surfaces.description"></a><h2>Description</h2>
146 <p>The XCB surface is used to render cairo graphics to X Window System
147 windows and pixmaps using the XCB library.</p>
148 <p>Note that the XCB surface automatically takes advantage of the X render
149 extension if it is available.</p>
150 </div>
151 <div class="refsect1">
152 <a name="cairo-XCB-Surfaces.functions_details"></a><h2>Functions</h2>
153 <div class="refsect2">
154 <a name="cairo-xcb-surface-create"></a><h3>cairo_xcb_surface_create ()</h3>
155 <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> *
156 cairo_xcb_surface_create (<em class="parameter"><code><span class="type">xcb_connection_t</span> *connection</code></em>,
157 <em class="parameter"><code><span class="type">xcb_drawable_t</span> drawable</code></em>,
158 <em class="parameter"><code><span class="type">xcb_visualtype_t</span> *visual</code></em>,
159 <em class="parameter"><code><span class="type">int</span> width</code></em>,
160 <em class="parameter"><code><span class="type">int</span> height</code></em>);</pre>
161 <p>Creates an XCB surface that draws to the given drawable.
162 The way that colors are represented in the drawable is specified
163 by the provided visual.</p>
164 <p>Note: If <em class="parameter"><code>drawable</code></em>
165 is a Window, then the function
166 <a class="link" href="cairo-XCB-Surfaces.html#cairo-xcb-surface-set-size" title="cairo_xcb_surface_set_size ()"><code class="function">cairo_xcb_surface_set_size()</code></a> must be called whenever the size of the
167 window changes.</p>
168 <p>When <em class="parameter"><code>drawable</code></em>
169 is a Window containing child windows then drawing to
170 the created surface will be clipped by those child windows. When
171 the created surface is used as a source, the contents of the
172 children will be included.</p>
173 <div class="refsect3">
174 <a name="cairo-xcb-surface-create.parameters"></a><h4>Parameters</h4>
175 <div class="informaltable"><table class="informaltable" width="100%" border="0">
176 <colgroup>
177 <col width="150px" class="parameters_name">
178 <col class="parameters_description">
179 <col width="200px" class="parameters_annotations">
180 </colgroup>
181 <tbody>
182 <tr>
183 <td class="parameter_name"><p>connection</p></td>
184 <td class="parameter_description"><p>an XCB connection</p></td>
185 <td class="parameter_annotations"> </td>
186 </tr>
187 <tr>
188 <td class="parameter_name"><p>drawable</p></td>
189 <td class="parameter_description"><p>an XCB drawable</p></td>
190 <td class="parameter_annotations"> </td>
191 </tr>
192 <tr>
193 <td class="parameter_name"><p>visual</p></td>
194 <td class="parameter_description"><p>the visual to use for drawing to <em class="parameter"><code>drawable</code></em>
195 . The depth
196 of the visual must match the depth of the drawable.
197 Currently, only TrueColor visuals are fully supported.</p></td>
198 <td class="parameter_annotations"> </td>
199 </tr>
200 <tr>
201 <td class="parameter_name"><p>width</p></td>
202 <td class="parameter_description"><p>the current width of <em class="parameter"><code>drawable</code></em>
203 </p></td>
204 <td class="parameter_annotations"> </td>
205 </tr>
206 <tr>
207 <td class="parameter_name"><p>height</p></td>
208 <td class="parameter_description"><p>the current height of <em class="parameter"><code>drawable</code></em>
209 </p></td>
210 <td class="parameter_annotations"> </td>
211 </tr>
212 </tbody>
213 </table></div>
214 </div>
215 <div class="refsect3">
216 <a name="cairo-xcb-surface-create.returns"></a><h4>Returns</h4>
217 <p> a pointer to the newly created surface. The caller
218 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
219 with it.</p>
220 <p>This function always returns a valid pointer, but it will return a
221 pointer to a "nil" surface if an error such as out of memory
222 occurs. You can use <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-status" title="cairo_surface_status ()"><code class="function">cairo_surface_status()</code></a> to check for this.</p>
223 </div>
224 <p class="since">Since: 1.12</p>
225 </div>
226 <hr>
227 <div class="refsect2">
228 <a name="cairo-xcb-surface-create-for-bitmap"></a><h3>cairo_xcb_surface_create_for_bitmap ()</h3>
229 <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> *
230 cairo_xcb_surface_create_for_bitmap (<em class="parameter"><code><span class="type">xcb_connection_t</span> *connection</code></em>,
231 <em class="parameter"><code><span class="type">xcb_screen_t</span> *screen</code></em>,
232 <em class="parameter"><code><span class="type">xcb_pixmap_t</span> bitmap</code></em>,
233 <em class="parameter"><code><span class="type">int</span> width</code></em>,
234 <em class="parameter"><code><span class="type">int</span> height</code></em>);</pre>
235 <p>Creates an XCB surface that draws to the given bitmap.
236 This will be drawn to as a <a class="link" href="cairo-Image-Surfaces.html#CAIRO-FORMAT-A1:CAPS"><code class="literal">CAIRO_FORMAT_A1</code></a> object.</p>
237 <div class="refsect3">
238 <a name="cairo-xcb-surface-create-for-bitmap.parameters"></a><h4>Parameters</h4>
239 <div class="informaltable"><table class="informaltable" width="100%" border="0">
240 <colgroup>
241 <col width="150px" class="parameters_name">
242 <col class="parameters_description">
243 <col width="200px" class="parameters_annotations">
244 </colgroup>
245 <tbody>
246 <tr>
247 <td class="parameter_name"><p>connection</p></td>
248 <td class="parameter_description"><p>an XCB connection</p></td>
249 <td class="parameter_annotations"> </td>
250 </tr>
251 <tr>
252 <td class="parameter_name"><p>screen</p></td>
253 <td class="parameter_description"><p>the XCB screen associated with <em class="parameter"><code>bitmap</code></em>
254 </p></td>
255 <td class="parameter_annotations"> </td>
256 </tr>
257 <tr>
258 <td class="parameter_name"><p>bitmap</p></td>
259 <td class="parameter_description"><p>an XCB drawable (a Pixmap with depth 1)</p></td>
260 <td class="parameter_annotations"> </td>
261 </tr>
262 <tr>
263 <td class="parameter_name"><p>width</p></td>
264 <td class="parameter_description"><p>the current width of <em class="parameter"><code>bitmap</code></em>
265 </p></td>
266 <td class="parameter_annotations"> </td>
267 </tr>
268 <tr>
269 <td class="parameter_name"><p>height</p></td>
270 <td class="parameter_description"><p>the current height of <em class="parameter"><code>bitmap</code></em>
271 </p></td>
272 <td class="parameter_annotations"> </td>
273 </tr>
274 </tbody>
275 </table></div>
276 </div>
277 <div class="refsect3">
278 <a name="cairo-xcb-surface-create-for-bitmap.returns"></a><h4>Returns</h4>
279 <p> a pointer to the newly created surface. The caller
280 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
281 with it.</p>
282 <p>This function always returns a valid pointer, but it will return a
283 pointer to a "nil" surface if an error such as out of memory
284 occurs. You can use <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-status" title="cairo_surface_status ()"><code class="function">cairo_surface_status()</code></a> to check for this.</p>
285 </div>
286 <p class="since">Since: 1.12</p>
287 </div>
288 <hr>
289 <div class="refsect2">
290 <a name="cairo-xcb-surface-create-with-xrender-format"></a><h3>cairo_xcb_surface_create_with_xrender_format ()</h3>
291 <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> *
292 cairo_xcb_surface_create_with_xrender_format
293 (<em class="parameter"><code><span class="type">xcb_connection_t</span> *connection</code></em>,
294 <em class="parameter"><code><span class="type">xcb_screen_t</span> *screen</code></em>,
295 <em class="parameter"><code><span class="type">xcb_drawable_t</span> drawable</code></em>,
296 <em class="parameter"><code><span class="type">xcb_render_pictforminfo_t</span> *format</code></em>,
297 <em class="parameter"><code><span class="type">int</span> width</code></em>,
298 <em class="parameter"><code><span class="type">int</span> height</code></em>);</pre>
299 <p>Creates an XCB surface that draws to the given drawable.
300 The way that colors are represented in the drawable is specified
301 by the provided picture format.</p>
302 <p>Note: If <em class="parameter"><code>drawable</code></em>
303 is a Window, then the function
304 <a class="link" href="cairo-XCB-Surfaces.html#cairo-xcb-surface-set-size" title="cairo_xcb_surface_set_size ()"><code class="function">cairo_xcb_surface_set_size()</code></a> must be called whenever the size of the
305 window changes.</p>
306 <p>When <em class="parameter"><code>drawable</code></em>
307 is a Window containing child windows then drawing to
308 the created surface will be clipped by those child windows. When
309 the created surface is used as a source, the contents of the
310 children will be included.</p>
311 <div class="refsect3">
312 <a name="cairo-xcb-surface-create-with-xrender-format.parameters"></a><h4>Parameters</h4>
313 <div class="informaltable"><table class="informaltable" width="100%" border="0">
314 <colgroup>
315 <col width="150px" class="parameters_name">
316 <col class="parameters_description">
317 <col width="200px" class="parameters_annotations">
318 </colgroup>
319 <tbody>
320 <tr>
321 <td class="parameter_name"><p>connection</p></td>
322 <td class="parameter_description"><p>an XCB connection</p></td>
323 <td class="parameter_annotations"> </td>
324 </tr>
325 <tr>
326 <td class="parameter_name"><p>drawable</p></td>
327 <td class="parameter_description"><p>an XCB drawable</p></td>
328 <td class="parameter_annotations"> </td>
329 </tr>
330 <tr>
331 <td class="parameter_name"><p>screen</p></td>
332 <td class="parameter_description"><p>the XCB screen associated with <em class="parameter"><code>drawable</code></em>
333 </p></td>
334 <td class="parameter_annotations"> </td>
335 </tr>
336 <tr>
337 <td class="parameter_name"><p>format</p></td>
338 <td class="parameter_description"><p>the picture format to use for drawing to <em class="parameter"><code>drawable</code></em>
339 . The
340 depth of <em class="parameter"><code>format</code></em>
341 mush match the depth of the drawable.</p></td>
342 <td class="parameter_annotations"> </td>
343 </tr>
344 <tr>
345 <td class="parameter_name"><p>width</p></td>
346 <td class="parameter_description"><p>the current width of <em class="parameter"><code>drawable</code></em>
347 </p></td>
348 <td class="parameter_annotations"> </td>
349 </tr>
350 <tr>
351 <td class="parameter_name"><p>height</p></td>
352 <td class="parameter_description"><p>the current height of <em class="parameter"><code>drawable</code></em>
353 </p></td>
354 <td class="parameter_annotations"> </td>
355 </tr>
356 </tbody>
357 </table></div>
358 </div>
359 <div class="refsect3">
360 <a name="cairo-xcb-surface-create-with-xrender-format.returns"></a><h4>Returns</h4>
361 <p> a pointer to the newly created surface. The caller
362 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
363 with it.</p>
364 <p>This function always returns a valid pointer, but it will return a
365 pointer to a "nil" surface if an error such as out of memory
366 occurs. You can use <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-status" title="cairo_surface_status ()"><code class="function">cairo_surface_status()</code></a> to check for this.</p>
367 </div>
368 <p class="since">Since: 1.12</p>
369 </div>
370 <hr>
371 <div class="refsect2">
372 <a name="cairo-xcb-surface-set-size"></a><h3>cairo_xcb_surface_set_size ()</h3>
373 <pre class="programlisting"><span class="returnvalue">void</span>
374 cairo_xcb_surface_set_size (<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>,
375 <em class="parameter"><code><span class="type">int</span> width</code></em>,
376 <em class="parameter"><code><span class="type">int</span> height</code></em>);</pre>
377 <p>Informs cairo of the new size of the XCB drawable underlying the
378 surface. For a surface created for a window (rather than a pixmap),
379 this function must be called each time the size of the window
380 changes. (For a subwindow, you are normally resizing the window
381 yourself, but for a toplevel window, it is necessary to listen for
382 ConfigureNotify events.)</p>
383 <p>A pixmap can never change size, so it is never necessary to call
384 this function on a surface created for a pixmap.</p>
385 <p>If <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-flush" title="cairo_surface_flush ()"><code class="function">cairo_surface_flush()</code></a> wasn't called, some pending operations
386 might be discarded.</p>
387 <div class="refsect3">
388 <a name="cairo-xcb-surface-set-size.parameters"></a><h4>Parameters</h4>
389 <div class="informaltable"><table class="informaltable" width="100%" border="0">
390 <colgroup>
391 <col width="150px" class="parameters_name">
392 <col class="parameters_description">
393 <col width="200px" class="parameters_annotations">
394 </colgroup>
395 <tbody>
396 <tr>
397 <td class="parameter_name"><p>surface</p></td>
398 <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> for the XCB backend</p></td>
399 <td class="parameter_annotations"> </td>
400 </tr>
401 <tr>
402 <td class="parameter_name"><p>width</p></td>
403 <td class="parameter_description"><p>the new width of the surface</p></td>
404 <td class="parameter_annotations"> </td>
405 </tr>
406 <tr>
407 <td class="parameter_name"><p>height</p></td>
408 <td class="parameter_description"><p>the new height of the surface</p></td>
409 <td class="parameter_annotations"> </td>
410 </tr>
411 </tbody>
412 </table></div>
413 </div>
414 <p class="since">Since: 1.12</p>
415 </div>
416 <hr>
417 <div class="refsect2">
418 <a name="cairo-xcb-surface-set-drawable"></a><h3>cairo_xcb_surface_set_drawable ()</h3>
419 <pre class="programlisting"><span class="returnvalue">void</span>
420 cairo_xcb_surface_set_drawable (<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>,
421 <em class="parameter"><code><span class="type">xcb_drawable_t</span> drawable</code></em>,
422 <em class="parameter"><code><span class="type">int</span> width</code></em>,
423 <em class="parameter"><code><span class="type">int</span> height</code></em>);</pre>
424 <p>Informs cairo of the new drawable and size of the XCB drawable underlying the
425 surface.</p>
426 <p>If <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-flush" title="cairo_surface_flush ()"><code class="function">cairo_surface_flush()</code></a> wasn't called, some pending operations
427 might be discarded.</p>
428 <div class="refsect3">
429 <a name="cairo-xcb-surface-set-drawable.parameters"></a><h4>Parameters</h4>
430 <div class="informaltable"><table class="informaltable" width="100%" border="0">
431 <colgroup>
432 <col width="150px" class="parameters_name">
433 <col class="parameters_description">
434 <col width="200px" class="parameters_annotations">
435 </colgroup>
436 <tbody>
437 <tr>
438 <td class="parameter_name"><p>surface</p></td>
439 <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> for the XCB backend</p></td>
440 <td class="parameter_annotations"> </td>
441 </tr>
442 <tr>
443 <td class="parameter_name"><p>drawable</p></td>
444 <td class="parameter_description"><p>the new drawable of the surface</p></td>
445 <td class="parameter_annotations"> </td>
446 </tr>
447 <tr>
448 <td class="parameter_name"><p>width</p></td>
449 <td class="parameter_description"><p>the new width of the surface</p></td>
450 <td class="parameter_annotations"> </td>
451 </tr>
452 <tr>
453 <td class="parameter_name"><p>height</p></td>
454 <td class="parameter_description"><p>the new height of the surface</p></td>
455 <td class="parameter_annotations"> </td>
456 </tr>
457 </tbody>
458 </table></div>
459 </div>
460 <p class="since">Since: 1.12</p>
461 </div>
462 <hr>
463 <div class="refsect2">
464 <a name="cairo-xcb-device-get-connection"></a><h3>cairo_xcb_device_get_connection ()</h3>
465 <pre class="programlisting"><span class="returnvalue">xcb_connection_t</span> *
466 cairo_xcb_device_get_connection (<em class="parameter"><code><a class="link" href="cairo-cairo-device-t.html#cairo-device-t" title="cairo_device_t"><span class="type">cairo_device_t</span></a> *device</code></em>);</pre>
467 <p>Get the connection for the XCB device.</p>
468 <div class="refsect3">
469 <a name="cairo-xcb-device-get-connection.parameters"></a><h4>Parameters</h4>
470 <div class="informaltable"><table class="informaltable" width="100%" border="0">
471 <colgroup>
472 <col width="150px" class="parameters_name">
473 <col class="parameters_description">
474 <col width="200px" class="parameters_annotations">
475 </colgroup>
476 <tbody><tr>
477 <td class="parameter_name"><p>device</p></td>
478 <td class="parameter_description"><p>a <a class="link" href="cairo-cairo-device-t.html#cairo-device-t" title="cairo_device_t"><span class="type">cairo_device_t</span></a> for the XCB backend</p></td>
479 <td class="parameter_annotations"> </td>
480 </tr></tbody>
481 </table></div>
482 </div>
483 <div class="refsect3">
484 <a name="cairo-xcb-device-get-connection.returns"></a><h4>Returns</h4>
485 <p> the <span class="type">xcb_connection_t</span> for the connection</p>
486 </div>
487 <p class="since">Since: 1.12</p>
488 </div>
489 <hr>
490 <div class="refsect2">
491 <a name="cairo-xcb-device-debug-cap-xrender-version"></a><h3>cairo_xcb_device_debug_cap_xrender_version ()</h3>
492 <pre class="programlisting"><span class="returnvalue">void</span>
493 cairo_xcb_device_debug_cap_xrender_version
494 (<em class="parameter"><code><a class="link" href="cairo-cairo-device-t.html#cairo-device-t" title="cairo_device_t"><span class="type">cairo_device_t</span></a> *device</code></em>,
495 <em class="parameter"><code><span class="type">int</span> major_version</code></em>,
496 <em class="parameter"><code><span class="type">int</span> minor_version</code></em>);</pre>
497 <p>Restricts all future XCB surfaces for this devices to the specified version
498 of the RENDER extension. This function exists solely for debugging purpose.
499 It let's you find out how cairo would behave with an older version of
500 the RENDER extension.</p>
501 <p>Use the special values -1 and -1 for disabling the RENDER extension.</p>
502 <div class="refsect3">
503 <a name="cairo-xcb-device-debug-cap-xrender-version.parameters"></a><h4>Parameters</h4>
504 <div class="informaltable"><table class="informaltable" width="100%" border="0">
505 <colgroup>
506 <col width="150px" class="parameters_name">
507 <col class="parameters_description">
508 <col width="200px" class="parameters_annotations">
509 </colgroup>
510 <tbody>
511 <tr>
512 <td class="parameter_name"><p>device</p></td>
513 <td class="parameter_description"><p>a <a class="link" href="cairo-cairo-device-t.html#cairo-device-t" title="cairo_device_t"><span class="type">cairo_device_t</span></a> for the XCB backend</p></td>
514 <td class="parameter_annotations"> </td>
515 </tr>
516 <tr>
517 <td class="parameter_name"><p>major_version</p></td>
518 <td class="parameter_description"><p>major version to restrict to</p></td>
519 <td class="parameter_annotations"> </td>
520 </tr>
521 <tr>
522 <td class="parameter_name"><p>minor_version</p></td>
523 <td class="parameter_description"><p>minor version to restrict to</p></td>
524 <td class="parameter_annotations"> </td>
525 </tr>
526 </tbody>
527 </table></div>
528 </div>
529 <p class="since">Since: 1.12</p>
530 </div>
531 <hr>
532 <div class="refsect2">
533 <a name="cairo-xcb-device-debug-cap-xshm-version"></a><h3>cairo_xcb_device_debug_cap_xshm_version ()</h3>
534 <pre class="programlisting"><span class="returnvalue">void</span>
535 cairo_xcb_device_debug_cap_xshm_version
536 (<em class="parameter"><code><a class="link" href="cairo-cairo-device-t.html#cairo-device-t" title="cairo_device_t"><span class="type">cairo_device_t</span></a> *device</code></em>,
537 <em class="parameter"><code><span class="type">int</span> major_version</code></em>,
538 <em class="parameter"><code><span class="type">int</span> minor_version</code></em>);</pre>
539 <p>Restricts all future XCB surfaces for this devices to the specified version
540 of the SHM extension. This function exists solely for debugging purpose.
541 It let's you find out how cairo would behave with an older version of
542 the SHM extension.</p>
543 <p>Use the special values -1 and -1 for disabling the SHM extension.</p>
544 <div class="refsect3">
545 <a name="cairo-xcb-device-debug-cap-xshm-version.parameters"></a><h4>Parameters</h4>
546 <div class="informaltable"><table class="informaltable" width="100%" border="0">
547 <colgroup>
548 <col width="150px" class="parameters_name">
549 <col class="parameters_description">
550 <col width="200px" class="parameters_annotations">
551 </colgroup>
552 <tbody>
553 <tr>
554 <td class="parameter_name"><p>device</p></td>
555 <td class="parameter_description"><p>a <a class="link" href="cairo-cairo-device-t.html#cairo-device-t" title="cairo_device_t"><span class="type">cairo_device_t</span></a> for the XCB backend</p></td>
556 <td class="parameter_annotations"> </td>
557 </tr>
558 <tr>
559 <td class="parameter_name"><p>major_version</p></td>
560 <td class="parameter_description"><p>major version to restrict to</p></td>
561 <td class="parameter_annotations"> </td>
562 </tr>
563 <tr>
564 <td class="parameter_name"><p>minor_version</p></td>
565 <td class="parameter_description"><p>minor version to restrict to</p></td>
566 <td class="parameter_annotations"> </td>
567 </tr>
568 </tbody>
569 </table></div>
570 </div>
571 <p class="since">Since: 1.12</p>
572 </div>
573 <hr>
574 <div class="refsect2">
575 <a name="cairo-xcb-device-debug-get-precision"></a><h3>cairo_xcb_device_debug_get_precision ()</h3>
576 <pre class="programlisting"><span class="returnvalue">int</span>
577 cairo_xcb_device_debug_get_precision (<em class="parameter"><code><a class="link" href="cairo-cairo-device-t.html#cairo-device-t" title="cairo_device_t"><span class="type">cairo_device_t</span></a> *device</code></em>);</pre>
578 <p>Get the Xrender precision mode.</p>
579 <div class="refsect3">
580 <a name="cairo-xcb-device-debug-get-precision.parameters"></a><h4>Parameters</h4>
581 <div class="informaltable"><table class="informaltable" width="100%" border="0">
582 <colgroup>
583 <col width="150px" class="parameters_name">
584 <col class="parameters_description">
585 <col width="200px" class="parameters_annotations">
586 </colgroup>
587 <tbody><tr>
588 <td class="parameter_name"><p>device</p></td>
589 <td class="parameter_description"><p>a <a class="link" href="cairo-cairo-device-t.html#cairo-device-t" title="cairo_device_t"><span class="type">cairo_device_t</span></a> for the XCB backend</p></td>
590 <td class="parameter_annotations"> </td>
591 </tr></tbody>
592 </table></div>
593 </div>
594 <div class="refsect3">
595 <a name="cairo-xcb-device-debug-get-precision.returns"></a><h4>Returns</h4>
596 <p> the render precision mode</p>
597 </div>
598 <p class="since">Since: 1.12</p>
599 </div>
600 <hr>
601 <div class="refsect2">
602 <a name="cairo-xcb-device-debug-set-precision"></a><h3>cairo_xcb_device_debug_set_precision ()</h3>
603 <pre class="programlisting"><span class="returnvalue">void</span>
604 cairo_xcb_device_debug_set_precision (<em class="parameter"><code><a class="link" href="cairo-cairo-device-t.html#cairo-device-t" title="cairo_device_t"><span class="type">cairo_device_t</span></a> *device</code></em>,
605 <em class="parameter"><code><span class="type">int</span> precision</code></em>);</pre>
606 <p>Render supports two modes of precision when rendering trapezoids. Set
607 the precision to the desired mode.</p>
608 <div class="refsect3">
609 <a name="cairo-xcb-device-debug-set-precision.parameters"></a><h4>Parameters</h4>
610 <div class="informaltable"><table class="informaltable" width="100%" border="0">
611 <colgroup>
612 <col width="150px" class="parameters_name">
613 <col class="parameters_description">
614 <col width="200px" class="parameters_annotations">
615 </colgroup>
616 <tbody>
617 <tr>
618 <td class="parameter_name"><p>device</p></td>
619 <td class="parameter_description"><p>a <a class="link" href="cairo-cairo-device-t.html#cairo-device-t" title="cairo_device_t"><span class="type">cairo_device_t</span></a> for the XCB backend</p></td>
620 <td class="parameter_annotations"> </td>
621 </tr>
622 <tr>
623 <td class="parameter_name"><p>precision</p></td>
624 <td class="parameter_description"><p>the precision to use</p></td>
625 <td class="parameter_annotations"> </td>
626 </tr>
627 </tbody>
628 </table></div>
629 </div>
630 <p class="since">Since: 1.12</p>
631 </div>
632 </div>
633 <div class="refsect1">
634 <a name="cairo-XCB-Surfaces.other_details"></a><h2>Types and Values</h2>
635 <div class="refsect2">
636 <a name="CAIRO-HAS-XCB-SURFACE:CAPS"></a><h3>CAIRO_HAS_XCB_SURFACE</h3>
637 <pre class="programlisting">#define CAIRO_HAS_XCB_SURFACE 1
638 </pre>
639 <p>Defined if the xcb surface backend is available.
640 This macro can be used to conditionally compile backend-specific code.</p>
641 <p class="since">Since: 1.12</p>
642 </div>
643 <hr>
644 <div class="refsect2">
645 <a name="CAIRO-HAS-XCB-SHM-FUNCTIONS:CAPS"></a><h3>CAIRO_HAS_XCB_SHM_FUNCTIONS</h3>
646 <pre class="programlisting">#define CAIRO_HAS_XCB_SHM_FUNCTIONS 1
647 </pre>
648 </div>
649 </div>
650 <div class="refsect1">
651 <a name="cairo-XCB-Surfaces.see-also"></a><h2>See Also</h2>
652 <p><a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a></p>
653 </div>
654 </div>
655 <div class="footer">
656 <hr>Generated by GTK-Doc V1.27</div>
657 </body>
658 </html>