xcb_poly_line_checked (3) - Linux Manuals

xcb_poly_line_checked: draw lines

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_g_context_error_t
TODO: reasons?
xcb_match_error_t
TODO: reasons?
xcb_value_error_t
TODO: reasons?

EXAMPLE

/*
 * Draw a straight line.
 *
 */
void my_example(xcb_connection_t *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);
}

AUTHOR

Generated from xproto.xml. Contact xcb [at] lists.freedesktop.org for corrections and improvements.

SEE ALSO

xcb-requests(3), xcb-examples(3)