xcb_poly_line - Man Page

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

See Also

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

Author

Generated from xproto.xml. Contact xcb@lists.freedesktop.org for corrections and improvements.

Referenced By

The man page xcb_poly_line_checked(3) is an alias of xcb_poly_line(3).

libxcb 1.17.0 X Version 11 XCB Requests