Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

xcb-examples(3) [centos man page]

xcb-examples(3) 						   XCB examples 						   xcb-examples(3)

NAME
xcb-examples - manpage examples DESCRIPTION
Many of the XCB manpages contain example code. These examples intend to explain how to use one particular part of XCB. They almost never represent a standalone (or even useful) program - X11 programs are relatively involved and thus beyond the scope of a manpage example. ENVIRONMENT
Every example assumes you have an xcb_connection and possibly other variables at hand. For illustrating how xcb_get_property works, you need the window of which you want to get the property, for example. To make it clear that these variables are your responsibility, these examples consist of a single function which takes the necessary variables as parameters. FLUSHING
Flushing means calling xcb_flush to clear the XCB-internal write buffer and send all pending requests to the X11 server. You don't explic- itly need to flush before using a reply function (like xcb_query_pointer_reply), but you do need to flush before entering the event loop of your program. There are only two cases when XCB flushes by itself. The first case is when its write buffer becomes full, the second case is when you are asking for the reply of a request which wasn't flushed out yet (like xcb_query_pointer_reply). This last point also includes xcb_request_check(). Please note that waiting for an event does NOT flush. Examples generally include the xcb_flush call where appropriate (for example after setting a property). Therefore, including these func- tions and calling them in your application should just work. However, you might get better results when flushing outside of the function, depending on the architecture of your program. COMPILATION
If an example does not compile (without warnings) when using -std=c99, that is considered a documentation bug. Similarly, not handling errors or leaking memory is also considered a documentation bug. Please inform us about it on xcb@lists.freedesktop.org. CODING STYLE
Every example uses 4 spaces for indention. Comments are in asterisks, like /* this */. No line is longer than 80 characters (including indention). SEE ALSO
xcb_connect(3), xcb_get_property(3), xcb_flush(3) AUTHOR
Michael Stapelberg <michael+xcb at stapelberg dot de> XCB
2011-12-11 xcb-examples(3)

Check Out this Related Man Page

xcb_poly_line(3)						   XCB Requests 						  xcb_poly_line(3)

NAME
xcb_poly_line - draw lines SYNOPSIS
#include <xcb/xproto.h> Request function xcb_void_cookie_t xcb_poly_line(xcb_connection_t *conn, uint8_t coordinate_mode, xcb_drawable_t drawable, xcb_gcontext_t gc, uint32_t points_len, const xcb_point_t *points); REQUEST ARGUMENTS
conn The XCB connection to X11. coordinate_mode One of the following values: XCB_COORD_MODE_ORIGIN Treats all coordinates as relative to the origin. XCB_COORD_MODE_PREVIOUS Treats all coordinates after the first as relative to the previous coordinate. drawable The drawable to draw the line(s) on. gc The graphics context to use. points_len The number of xcb_point_t structures in points. points An array of points. DESCRIPTION
Draws points_len-1 lines between each pair of points (point[i], point[i+1]) in the points array. The lines are drawn in the order listed in the array. They join correctly at all intermediate points, and if the first and last points coincide, the first and last lines also join correctly. For any given line, a pixel is not drawn more than once. If thin (zero line-width) lines intersect, the intersecting pixels are drawn multiple times. If wide lines intersect, the intersecting pixels are drawn only once, as though the entire request were a single, filled shape. RETURN VALUE
Returns an xcb_void_cookie_t. Errors (if any) have to be handled in the event loop. If you want to handle errors directly with xcb_request_check instead, use xcb_poly_line_checked. See xcb-requests(3) for details. ERRORS
xcb_drawable_error_t TODO: reasons? xcb_gc_error_t TODO: reasons? xcb_value_error_t TODO: reasons? xcb_match_error_t TODO: reasons? EXAMPLE
/* * Draw a straight line. * */ void my_example(xcb_connection *conn, xcb_drawable_t drawable, xcb_gcontext_t gc) { xcb_poly_line(conn, XCB_COORD_MODE_ORIGIN, drawable, gc, 2, (xcb_point_t[]) { {10, 10}, {100, 10} }); xcb_flush(conn); } SEE ALSO
xcb-requests(3), xcb-examples(3) AUTHOR
Generated from xproto.xml. Contact xcb@lists.freedesktop.org for corrections and improvements. XCB
2014-06-10 xcb_poly_line(3)
Man Page