Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <request name="PolyLine" opcode="65" combine-adjacent="true">
- <field type="BYTE" name="coordinate_mode" enum="CoordMode" />
- <field type="DRAWABLE" name="drawable" />
- <field type="GCONTEXT" name="gc" />
- <list type="POINT" name="points" />
- <doc>
- [snip]
- </doc>
- </request>
- xcb_void_cookie_t
- xcb_poly_line (xcb_connection_t *c,
- uint8_t coordinate_mode,
- xcb_drawable_t drawable,
- xcb_gcontext_t gc,
- uint32_t points_len,
- const xcb_point_t *points)
- {
- static const xcb_protocol_request_t xcb_req = {
- .count = 4,
- .ext = 0,
- .opcode = XCB_POLY_LINE,
- .isvoid = 1
- };
- struct iovec xcb_parts[6];
- xcb_void_cookie_t xcb_ret;
- xcb_poly_line_request_t xcb_out;
- xcb_out.coordinate_mode = coordinate_mode;
- xcb_out.drawable = drawable;
- xcb_out.gc = gc;
- xcb_parts[2].iov_base = (char *) &xcb_out;
- xcb_parts[2].iov_len = sizeof(xcb_out);
- xcb_parts[3].iov_base = 0;
- xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
- /* xcb_point_t points */
- xcb_parts[4].iov_base = (char *) points;
- xcb_parts[4].iov_len = points_len * sizeof(xcb_point_t);
- xcb_parts[5].iov_base = 0;
- xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
- xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
- return xcb_ret;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement