Scroll to navigation

xcb_poly_line(3) XCB Requests xcb_poly_line(3)


xcb_poly_line - draw lines


#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);


The XCB connection to X11.
One of the following values:
Treats all coordinates as relative to the origin.
Treats all coordinates after the first as relative to the previous coordinate.

The drawable to draw the line(s) on.
The graphics context to use.
The number of xcb_point_t structures in points.
An array of points.


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.


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.


TODO: reasons?
TODO: reasons?
TODO: reasons?
TODO: reasons?



* 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); }


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


Generated from xproto.xml. Contact for corrections and improvements.

libxcb 1.17.0 X Version 11