x11rb::protocol::xproto

Function poly_line

Source
pub fn poly_line<'c, 'input, Conn>(
    conn: &'c Conn,
    coordinate_mode: CoordMode,
    drawable: Drawable,
    gc: Gcontext,
    points: &'input [Point],
) -> Result<VoidCookie<'c, Conn>, ConnectionError>
where Conn: RequestConnection + ?Sized,
Expand description

draw lines.

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.

§Fields

  • 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.
  • coordinate_mode -

§Errors

  • Drawable - TODO: reasons?
  • GContext - TODO: reasons?
  • Match - TODO: reasons?
  • Value - 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);
}