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