<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> <title>i3: src/xcb.c File Reference</title> <link href="tabs.css" rel="stylesheet" type="text/css"/> <link href="doxygen.css" rel="stylesheet" type="text/css"/> </head> <body> <!-- Generated by Doxygen 1.6.2-20100208 --> <div class="navigation" id="top"> <div class="tabs"> <ul> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="annotated.html"><span>Data Structures</span></a></li> <li class="current"><a href="files.html"><span>Files</span></a></li> </ul> </div> <div class="tabs"> <ul> <li><a href="files.html"><span>File List</span></a></li> <li><a href="globals.html"><span>Globals</span></a></li> </ul> </div> </div> <div class="contents"> <h1>src/xcb.c File Reference</h1><code>#include <stdint.h></code><br/> <code>#include <stdio.h></code><br/> <code>#include <stdlib.h></code><br/> <code>#include <string.h></code><br/> <code>#include <xcb/xcb.h></code><br/> <code>#include <xcb/xcb_keysyms.h></code><br/> <code>#include "<a class="el" href="a00041_source.html">i3.h</a>"</code><br/> <code>#include "<a class="el" href="a00052_source.html">util.h</a>"</code><br/> <code>#include "<a class="el" href="a00054_source.html">xcb.h</a>"</code><br/> <code>#include "<a class="el" href="a00044_source.html">log.h</a>"</code><br/> <div class="dynheader"> Include dependency graph for xcb.c:</div> <div class="dynsection"> </div> <p><a href="a00079_source.html">Go to the source code of this file.</a></p> <table border="0" cellpadding="0" cellspacing="0"> <tr><td colspan="2"><h2>Functions</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00079.html#aba321386159b0e7044414c644e0a4d90">TAILQ_HEAD</a> (cached_fonts_head, <a class="el" href="a00015.html">Font</a>)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">uint32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="a00079.html#a0146fe310e31c9509a7a7846aa547c67">get_colorpixel</a> (xcb_connection_t *conn, char *hex)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Returns the colorpixel to use for the given hex color (think of HTML). <a href="#a0146fe310e31c9509a7a7846aa547c67"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">xcb_window_t </td><td class="memItemRight" valign="bottom"><a class="el" href="a00079.html#a1c6bb71a9f8e0501e2228dd3dca3bd6a">create_window</a> (xcb_connection_t *conn, <a class="el" href="a00020.html">Rect</a> dims, uint16_t window_class, int cursor, bool map, uint32_t mask, uint32_t *values)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Convenience wrapper around xcb_create_window which takes care of depth, generating an ID and checking for errors. <a href="#a1c6bb71a9f8e0501e2228dd3dca3bd6a"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00079.html#ac20ce6b9cf46f63675e363ac5dc2f24e">xcb_change_gc_single</a> (xcb_connection_t *conn, xcb_gcontext_t gc, uint32_t mask, uint32_t value)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Changes a single value in the graphic context (so one doesn’t have to define an array of values). <a href="#ac20ce6b9cf46f63675e363ac5dc2f24e"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00079.html#aceb7b1de1af10ea8def35d48a1b0caad">xcb_draw_line</a> (xcb_connection_t *conn, xcb_drawable_t drawable, xcb_gcontext_t gc, uint32_t colorpixel, uint32_t x, uint32_t y, uint32_t to_x, uint32_t to_y)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Draws a line from x,y to to_x,to_y using the given color. <a href="#aceb7b1de1af10ea8def35d48a1b0caad"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00079.html#ac2b163cc3d76bdec224a1ce5c7ac9c6d">xcb_draw_rect</a> (xcb_connection_t *conn, xcb_drawable_t drawable, xcb_gcontext_t gc, uint32_t colorpixel, uint32_t x, uint32_t y, uint32_t width, uint32_t height)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Draws a rectangle from x,y with width,height using the given color. <a href="#ac2b163cc3d76bdec224a1ce5c7ac9c6d"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00079.html#a164801596691fe72d4e2e2f1b8b3cee1">fake_configure_notify</a> (xcb_connection_t *conn, <a class="el" href="a00020.html">Rect</a> r, xcb_window_t window)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Generates a configure_notify event and sends it to the given window Applications need this to think they’ve configured themselves correctly. <a href="#a164801596691fe72d4e2e2f1b8b3cee1"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00079.html#a66ff853f6bedca4b4c142f3b7561b189">fake_absolute_configure_notify</a> (xcb_connection_t *conn, <a class="el" href="a00007.html">Client</a> *client)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Generates a configure_notify_event with absolute coordinates (relative to the X root window, not to the client’s frame) for the given client. <a href="#a66ff853f6bedca4b4c142f3b7561b189"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00079.html#aeae86e9fc76e08fd43f142de4d11bba0">xcb_get_numlock_mask</a> (xcb_connection_t *conn)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Finds out which modifier mask is the one for numlock, as the user may change this. <a href="#aeae86e9fc76e08fd43f142de4d11bba0"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00079.html#a6ea5ab6082e87ce76340a38034f7b513">xcb_raise_window</a> (xcb_connection_t *conn, xcb_window_t window)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Raises the given window (typically client->frame) above all other windows. <a href="#a6ea5ab6082e87ce76340a38034f7b513"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00079.html#a22762f8bf69c7dcfdafac47e5e39695a">cached_pixmap_prepare</a> (xcb_connection_t *conn, struct <a class="el" href="a00004.html">Cached_Pixmap</a> *<a class="el" href="a00075.html#a81dcec2414a6c7beb665ce0fe5e1eaf6">pixmap</a>)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Prepares the given <a class="el" href="a00004.html">Cached_Pixmap</a> for usage (checks whether the size of the object this pixmap is related to (e.g. <a href="#a22762f8bf69c7dcfdafac47e5e39695a"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="a00079.html#a01397b2251980ca02d24194293fc79d0">predict_text_width</a> (xcb_connection_t *conn, const char *font_pattern, char *text, int length)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Calculate the width of the given text (16-bit characters, UCS) with given real length (amount of glyphs) using the given font. <a href="#a01397b2251980ca02d24194293fc79d0"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00079.html#a7bbb53cdd77036e67c997f0c93e67cef">xcb_set_window_rect</a> (xcb_connection_t *conn, xcb_window_t window, <a class="el" href="a00020.html">Rect</a> r)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Configures the given window to have the size/position specified by given rect. <a href="#a7bbb53cdd77036e67c997f0c93e67cef"></a><br/></td></tr> </table> <hr/><h2>Function Documentation</h2> <a class="anchor" id="a22762f8bf69c7dcfdafac47e5e39695a"></a><!-- doxytag: member="xcb.c::cached_pixmap_prepare" ref="a22762f8bf69c7dcfdafac47e5e39695a" args="(xcb_connection_t *conn, struct Cached_Pixmap *pixmap)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void cached_pixmap_prepare </td> <td>(</td> <td class="paramtype">xcb_connection_t * </td> <td class="paramname"> <em>conn</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">struct <a class="el" href="a00004.html">Cached_Pixmap</a> * </td> <td class="paramname"> <em>pixmap</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>Prepares the given <a class="el" href="a00004.html">Cached_Pixmap</a> for usage (checks whether the size of the object this pixmap is related to (e.g. </p> <p>a window) has changed and re-creates the pixmap if so). </p> <p>Definition at line <a class="el" href="a00079_source.html#l00271">271</a> of file <a class="el" href="a00079_source.html">xcb.c</a>.</p> <p>References <a class="el" href="a00044_source.html#l00021">DLOG</a>, <a class="el" href="a00036_source.html#l00126">Cached_Pixmap::gc</a>, <a class="el" href="a00036_source.html#l00100">Rect::height</a>, <a class="el" href="a00036_source.html#l00123">Cached_Pixmap::id</a>, <a class="el" href="a00036_source.html#l00129">Cached_Pixmap::rect</a>, <a class="el" href="a00036_source.html#l00135">Cached_Pixmap::referred_drawable</a>, <a class="el" href="a00036_source.html#l00133">Cached_Pixmap::referred_rect</a>, <a class="el" href="a00071_source.html#l00089">root_depth</a>, and <a class="el" href="a00036_source.html#l00099">Rect::width</a>.</p> <p>Referenced by <a class="el" href="a00069_source.html#l00348">render_container()</a>.</p> </div> </div> <a class="anchor" id="a1c6bb71a9f8e0501e2228dd3dca3bd6a"></a><!-- doxytag: member="xcb.c::create_window" ref="a1c6bb71a9f8e0501e2228dd3dca3bd6a" args="(xcb_connection_t *conn, Rect dims, uint16_t window_class, int cursor, bool map, uint32_t mask, uint32_t *values)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">xcb_window_t create_window </td> <td>(</td> <td class="paramtype">xcb_connection_t * </td> <td class="paramname"> <em>conn</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="a00020.html">Rect</a> </td> <td class="paramname"> <em>dims</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">uint16_t </td> <td class="paramname"> <em>window_class</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"> <em>cursor</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">bool </td> <td class="paramname"> <em>map</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">uint32_t </td> <td class="paramname"> <em>mask</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">uint32_t * </td> <td class="paramname"> <em>values</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>Convenience wrapper around xcb_create_window which takes care of depth, generating an ID and checking for errors. </p> <p>Definition at line <a class="el" href="a00079_source.html#l00093">93</a> of file <a class="el" href="a00079_source.html">xcb.c</a>.</p> <p>References <a class="el" href="a00036_source.html#l00100">Rect::height</a>, <a class="el" href="a00036_source.html#l00333">Font::id</a>, <a class="el" href="a00054.html#a50c1fc0de5343536d542c8349ab7ab0d">load_font()</a>, <a class="el" href="a00071_source.html#l00085">root</a>, <a class="el" href="a00036_source.html#l00099">Rect::width</a>, <a class="el" href="a00036_source.html#l00097">Rect::x</a>, <a class="el" href="a00054_source.html#l00022">XCB_CURSOR_LEFT_PTR</a>, and <a class="el" href="a00036_source.html#l00098">Rect::y</a>.</p> <p>Referenced by <a class="el" href="a00073_source.html#l00166">initialize_output()</a>, <a class="el" href="a00072_source.html#l00151">reparent_window()</a>, <a class="el" href="a00074_source.html#l00076">resize_graphical_handler()</a>, and <a class="el" href="a00077_source.html#l00347">switch_layout_mode()</a>.</p> <p><div class="dynheader"> Here is the call graph for this function:</div> <div class="dynsection"> </div> </p> </div> </div> <a class="anchor" id="a66ff853f6bedca4b4c142f3b7561b189"></a><!-- doxytag: member="xcb.c::fake_absolute_configure_notify" ref="a66ff853f6bedca4b4c142f3b7561b189" args="(xcb_connection_t *conn, Client *client)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void fake_absolute_configure_notify </td> <td>(</td> <td class="paramtype">xcb_connection_t * </td> <td class="paramname"> <em>conn</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="a00007.html">Client</a> * </td> <td class="paramname"> <em>client</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>Generates a configure_notify_event with absolute coordinates (relative to the X root window, not to the client’s frame) for the given client. </p> <p>Definition at line <a class="el" href="a00079_source.html#l00190">190</a> of file <a class="el" href="a00079_source.html">xcb.c</a>.</p> <p>References <a class="el" href="a00036_source.html#l00452">Client::child</a>, <a class="el" href="a00036_source.html#l00364">Client::child_rect</a>, <a class="el" href="a00079_source.html#l00165">fake_configure_notify()</a>, <a class="el" href="a00036_source.html#l00100">Rect::height</a>, <a class="el" href="a00036_source.html#l00359">Client::rect</a>, <a class="el" href="a00036_source.html#l00099">Rect::width</a>, <a class="el" href="a00036_source.html#l00097">Rect::x</a>, and <a class="el" href="a00036_source.html#l00098">Rect::y</a>.</p> <p>Referenced by <a class="el" href="a00066_source.html#l00261">DRAGGING_CB()</a>, <a class="el" href="a00066_source.html#l00488">floating_move()</a>, <a class="el" href="a00067_source.html#l00292">handle_configure_request()</a>, and <a class="el" href="a00069_source.html#l00248">resize_client()</a>.</p> <p><div class="dynheader"> Here is the call graph for this function:</div> <div class="dynsection"> </div> </p> </div> </div> <a class="anchor" id="a164801596691fe72d4e2e2f1b8b3cee1"></a><!-- doxytag: member="xcb.c::fake_configure_notify" ref="a164801596691fe72d4e2e2f1b8b3cee1" args="(xcb_connection_t *conn, Rect r, xcb_window_t window)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void fake_configure_notify </td> <td>(</td> <td class="paramtype">xcb_connection_t * </td> <td class="paramname"> <em>conn</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="a00020.html">Rect</a> </td> <td class="paramname"> <em>r</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">xcb_window_t </td> <td class="paramname"> <em>window</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>Generates a configure_notify event and sends it to the given window Applications need this to think they’ve configured themselves correctly. </p> <p>The truth is, however, that we will manage them. </p> <p>Definition at line <a class="el" href="a00079_source.html#l00165">165</a> of file <a class="el" href="a00079_source.html">xcb.c</a>.</p> <p>References <a class="el" href="a00036_source.html#l00100">Rect::height</a>, <a class="el" href="a00036_source.html#l00099">Rect::width</a>, <a class="el" href="a00036_source.html#l00097">Rect::x</a>, and <a class="el" href="a00036_source.html#l00098">Rect::y</a>.</p> <p>Referenced by <a class="el" href="a00060_source.html#l00156">client_enter_fullscreen()</a>, <a class="el" href="a00079_source.html#l00190">fake_absolute_configure_notify()</a>, and <a class="el" href="a00067_source.html#l00292">handle_configure_request()</a>.</p> </div> </div> <a class="anchor" id="a0146fe310e31c9509a7a7846aa547c67"></a><!-- doxytag: member="xcb.c::get_colorpixel" ref="a0146fe310e31c9509a7a7846aa547c67" args="(xcb_connection_t *conn, char *hex)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">uint32_t get_colorpixel </td> <td>(</td> <td class="paramtype">xcb_connection_t * </td> <td class="paramname"> <em>conn</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">char * </td> <td class="paramname"> <em>hex</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>Returns the colorpixel to use for the given hex color (think of HTML). </p> <p>The hex_color has to start with #, for example FF00FF.</p> <p>NOTE that <a class="el" href="a00079.html#a0146fe310e31c9509a7a7846aa547c67" title="Returns the colorpixel to use for the given hex color (think of HTML).">get_colorpixel()</a> does _NOT_ check the given color code for validity. This has to be done by the caller. </p> <p>Definition at line <a class="el" href="a00079_source.html#l00077">77</a> of file <a class="el" href="a00079_source.html">xcb.c</a>.</p> <p>Referenced by <a class="el" href="a00069_source.html#l00098">decorate_window()</a>, <a class="el" href="a00067_source.html#l00770">handle_expose_event()</a>, <a class="el" href="a00069_source.html#l00348">render_container()</a>, <a class="el" href="a00069_source.html#l00596">render_internal_bar()</a>, <a class="el" href="a00075_source.html#l00053">sig_draw_window()</a>, and <a class="el" href="a00056_source.html#l01427">yyparse()</a>.</p> </div> </div> <a class="anchor" id="a01397b2251980ca02d24194293fc79d0"></a><!-- doxytag: member="xcb.c::predict_text_width" ref="a01397b2251980ca02d24194293fc79d0" args="(xcb_connection_t *conn, const char *font_pattern, char *text, int length)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int predict_text_width </td> <td>(</td> <td class="paramtype">xcb_connection_t * </td> <td class="paramname"> <em>conn</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char * </td> <td class="paramname"> <em>font_pattern</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">char * </td> <td class="paramname"> <em>text</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"> <em>length</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>Calculate the width of the given text (16-bit characters, UCS) with given real length (amount of glyphs) using the given font. </p> <p>Definition at line <a class="el" href="a00079_source.html#l00301">301</a> of file <a class="el" href="a00079_source.html">xcb.c</a>.</p> <p>References <a class="el" href="a00044_source.html#l00020">ELOG</a>, <a class="el" href="a00036_source.html#l00333">Font::id</a>, and <a class="el" href="a00054.html#a50c1fc0de5343536d542c8349ab7ab0d">load_font()</a>.</p> <p>Referenced by <a class="el" href="a00075_source.html#l00151">handle_signal()</a>, <a class="el" href="a00062_source.html#l00307">load_configuration()</a>, and <a class="el" href="a00078_source.html#l00078">workspace_set_name()</a>.</p> <p><div class="dynheader"> Here is the call graph for this function:</div> <div class="dynsection"> </div> </p> </div> </div> <a class="anchor" id="aba321386159b0e7044414c644e0a4d90"></a><!-- doxytag: member="xcb.c::TAILQ_HEAD" ref="aba321386159b0e7044414c644e0a4d90" args="(cached_fonts_head, Font)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">TAILQ_HEAD </td> <td>(</td> <td class="paramtype">cached_fonts_head </td> <td class="paramname">, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="a00015.html">Font</a> </td> <td class="paramname"></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="a00079_source.html#l00026">26</a> of file <a class="el" href="a00079_source.html">xcb.c</a>.</p> <p>References <a class="el" href="a00077_source.html#l00159">check_error()</a>, <a class="el" href="a00052_source.html#l00019">die</a>, <a class="el" href="a00052_source.html#l00020">exit_if_null</a>, <a class="el" href="a00036_source.html#l00329">Font::pattern</a>, <a class="el" href="a00077_source.html#l00068">smalloc()</a>, <a class="el" href="a00077_source.html#l00080">sstrdup()</a>, <a class="el" href="a00047_source.html#l00335">TAILQ_FOREACH</a>, and <a class="el" href="a00047_source.html#l00363">TAILQ_INSERT_TAIL</a>.</p> <p><div class="dynheader"> Here is the call graph for this function:</div> <div class="dynsection"> </div> </p> </div> </div> <a class="anchor" id="ac20ce6b9cf46f63675e363ac5dc2f24e"></a><!-- doxytag: member="xcb.c::xcb_change_gc_single" ref="ac20ce6b9cf46f63675e363ac5dc2f24e" args="(xcb_connection_t *conn, xcb_gcontext_t gc, uint32_t mask, uint32_t value)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void xcb_change_gc_single </td> <td>(</td> <td class="paramtype">xcb_connection_t * </td> <td class="paramname"> <em>conn</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">xcb_gcontext_t </td> <td class="paramname"> <em>gc</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">uint32_t </td> <td class="paramname"> <em>mask</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">uint32_t </td> <td class="paramname"> <em>value</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>Changes a single value in the graphic context (so one doesn’t have to define an array of values). </p> <p>Definition at line <a class="el" href="a00079_source.html#l00133">133</a> of file <a class="el" href="a00079_source.html">xcb.c</a>.</p> <p>Referenced by <a class="el" href="a00069_source.html#l00098">decorate_window()</a>, <a class="el" href="a00067_source.html#l00770">handle_expose_event()</a>, <a class="el" href="a00075_source.html#l00151">handle_signal()</a>, <a class="el" href="a00069_source.html#l00348">render_container()</a>, <a class="el" href="a00069_source.html#l00596">render_internal_bar()</a>, <a class="el" href="a00075_source.html#l00053">sig_draw_window()</a>, <a class="el" href="a00079_source.html#l00141">xcb_draw_line()</a>, and <a class="el" href="a00079_source.html#l00152">xcb_draw_rect()</a>.</p> </div> </div> <a class="anchor" id="aceb7b1de1af10ea8def35d48a1b0caad"></a><!-- doxytag: member="xcb.c::xcb_draw_line" ref="aceb7b1de1af10ea8def35d48a1b0caad" args="(xcb_connection_t *conn, xcb_drawable_t drawable, xcb_gcontext_t gc, uint32_t colorpixel, uint32_t x, uint32_t y, uint32_t to_x, uint32_t to_y)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void xcb_draw_line </td> <td>(</td> <td class="paramtype">xcb_connection_t * </td> <td class="paramname"> <em>conn</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">xcb_drawable_t </td> <td class="paramname"> <em>drawable</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">xcb_gcontext_t </td> <td class="paramname"> <em>gc</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">uint32_t </td> <td class="paramname"> <em>colorpixel</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">uint32_t </td> <td class="paramname"> <em>x</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">uint32_t </td> <td class="paramname"> <em>y</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">uint32_t </td> <td class="paramname"> <em>to_x</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">uint32_t </td> <td class="paramname"> <em>to_y</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>Draws a line from x,y to to_x,to_y using the given color. </p> <p>Definition at line <a class="el" href="a00079_source.html#l00141">141</a> of file <a class="el" href="a00079_source.html">xcb.c</a>.</p> <p>References <a class="el" href="a00079_source.html#l00133">xcb_change_gc_single()</a>.</p> <p>Referenced by <a class="el" href="a00069_source.html#l00098">decorate_window()</a>.</p> <p><div class="dynheader"> Here is the call graph for this function:</div> <div class="dynsection"> </div> </p> </div> </div> <a class="anchor" id="ac2b163cc3d76bdec224a1ce5c7ac9c6d"></a><!-- doxytag: member="xcb.c::xcb_draw_rect" ref="ac2b163cc3d76bdec224a1ce5c7ac9c6d" args="(xcb_connection_t *conn, xcb_drawable_t drawable, xcb_gcontext_t gc, uint32_t colorpixel, uint32_t x, uint32_t y, uint32_t width, uint32_t height)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void xcb_draw_rect </td> <td>(</td> <td class="paramtype">xcb_connection_t * </td> <td class="paramname"> <em>conn</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">xcb_drawable_t </td> <td class="paramname"> <em>drawable</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">xcb_gcontext_t </td> <td class="paramname"> <em>gc</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">uint32_t </td> <td class="paramname"> <em>colorpixel</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">uint32_t </td> <td class="paramname"> <em>x</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">uint32_t </td> <td class="paramname"> <em>y</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">uint32_t </td> <td class="paramname"> <em>width</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">uint32_t </td> <td class="paramname"> <em>height</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>Draws a rectangle from x,y with width,height using the given color. </p> <p>Definition at line <a class="el" href="a00079_source.html#l00152">152</a> of file <a class="el" href="a00079_source.html">xcb.c</a>.</p> <p>References <a class="el" href="a00036_source.html#l00146">Stack_Window::rect</a>, and <a class="el" href="a00079_source.html#l00133">xcb_change_gc_single()</a>.</p> <p>Referenced by <a class="el" href="a00069_source.html#l00596">render_internal_bar()</a>.</p> <p><div class="dynheader"> Here is the call graph for this function:</div> <div class="dynsection"> </div> </p> </div> </div> <a class="anchor" id="aeae86e9fc76e08fd43f142de4d11bba0"></a><!-- doxytag: member="xcb.c::xcb_get_numlock_mask" ref="aeae86e9fc76e08fd43f142de4d11bba0" args="(xcb_connection_t *conn)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void xcb_get_numlock_mask </td> <td>(</td> <td class="paramtype">xcb_connection_t * </td> <td class="paramname"> <em>conn</em></td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>Finds out which modifier mask is the one for numlock, as the user may change this. </p> <p>Definition at line <a class="el" href="a00079_source.html#l00205">205</a> of file <a class="el" href="a00079_source.html">xcb.c</a>.</p> <p>References <a class="el" href="a00071_source.html#l00066">keysyms</a>, <a class="el" href="a00054_source.html#l00027">XCB_NUM_LOCK</a>, and <a class="el" href="a00054.html#ac430ae06cbf6f5ef252c9ebfca47e644">xcb_numlock_mask</a>.</p> <p>Referenced by <a class="el" href="a00067_source.html#l00253">handle_mapping_notify()</a>, <a class="el" href="a00071_source.html#l00193">main()</a>, and <a class="el" href="a00071_source.html#l00130">xkb_got_event()</a>.</p> </div> </div> <a class="anchor" id="a6ea5ab6082e87ce76340a38034f7b513"></a><!-- doxytag: member="xcb.c::xcb_raise_window" ref="a6ea5ab6082e87ce76340a38034f7b513" args="(xcb_connection_t *conn, xcb_window_t window)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void xcb_raise_window </td> <td>(</td> <td class="paramtype">xcb_connection_t * </td> <td class="paramname"> <em>conn</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">xcb_window_t </td> <td class="paramname"> <em>window</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>Raises the given window (typically client->frame) above all other windows. </p> <p>Definition at line <a class="el" href="a00079_source.html#l00259">259</a> of file <a class="el" href="a00079_source.html">xcb.c</a>.</p> <p>Referenced by <a class="el" href="a00059_source.html#l00255">handle_button_press()</a>, <a class="el" href="a00072_source.html#l00151">reparent_window()</a>, and <a class="el" href="a00066_source.html#l00041">toggle_floating_mode()</a>.</p> </div> </div> <a class="anchor" id="a7bbb53cdd77036e67c997f0c93e67cef"></a><!-- doxytag: member="xcb.c::xcb_set_window_rect" ref="a7bbb53cdd77036e67c997f0c93e67cef" args="(xcb_connection_t *conn, xcb_window_t window, Rect r)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void xcb_set_window_rect </td> <td>(</td> <td class="paramtype">xcb_connection_t * </td> <td class="paramname"> <em>conn</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">xcb_window_t </td> <td class="paramname"> <em>window</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="a00020.html">Rect</a> </td> <td class="paramname"> <em>r</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>Configures the given window to have the size/position specified by given rect. </p> <p>Definition at line <a class="el" href="a00079_source.html#l00328">328</a> of file <a class="el" href="a00079_source.html">xcb.c</a>.</p> <p>References <a class="el" href="a00036_source.html#l00097">Rect::x</a>.</p> <p>Referenced by <a class="el" href="a00060_source.html#l00156">client_enter_fullscreen()</a>, <a class="el" href="a00073_source.html#l00246">output_change_mode()</a>, and <a class="el" href="a00069_source.html#l00248">resize_client()</a>.</p> </div> </div> </div> <hr class="footer"/><address style="text-align: right;"><small>Generated by <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.2-20100208 </small></address> </body> </html>