From a26f2837166f7232d13322e013883ed003d46f27 Mon Sep 17 00:00:00 2001 From: EliteTK Date: Thu, 10 Jul 2014 22:35:21 +0100 Subject: More stuff. --- xcb.c | 76 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 76 insertions(+) create mode 100644 xcb.c (limited to 'xcb.c') diff --git a/xcb.c b/xcb.c new file mode 100644 index 0000000..933e4ac --- /dev/null +++ b/xcb.c @@ -0,0 +1,76 @@ +#include +#include + +int main(int argc, char **argv) +{ + xcb_point_t points[] = { + {10, 10}, + {10, 20}, + {20, 10}, + {20, 20} + }; + + xcb_point_t polyline[] = { + {50, 10}, + { 5, 20}, + {20,-20}, + {10, 10} + }; + + xcb_segment_t segments[] { + {100, 10, 140, 30}, + {110, 25, 130, 60} + }; + + xcb_rectangle_t rectangles[] = { + {10, 50, 40, 20}, + {80, 50, 10, 40} + }; + + xcb_arc_t arcs[] = { + {10, 100, 60, 40, 0, 90 << 6}, + {90, 100, 55, 40, 0, 270 << 6} + }; + + xcb_connection_t *connection = xcb_connect(NULL, NULL); + + const xcb_setup_t *setup = xcb_get_setup(connection); + xcb_screen_t *screen = xcb_setup_roots_iterator(setup).data; + + xcb_drawable_t window = screen->root; + xcb_gcontext_t foreground = xcb_generate_id(connection); + uint32_t mask = XCB_GC_FOREGROUND | XCB_GC_GRAPHICS_EXPOSURES; + uint32_t values[2] = { + screen->black_pixel, + 0 + }; + + xcb_create_gc(connection, foreground, window, mask, values); + + mask = XCB_CW_BLACK_PIXEL | XCB_CW_EVENT_MASK; + values = { + screen->white_pixel, + + + xcb_window_t window = xcb_generate_id(connection); + xcb_create_window(connection, + XCB_COPY_FROM_PARENT, + window, + screen->root, + 0, 0, + 150, 150, + 10, + XCB_WINDOW_CLASS_INPUT_OUTPUT, + screen->root_visual, + 0, NULL); + + xcb_map_window(connection, window); + + xcb_flush(connection); + + pause(); + + xcb_disconnect(connection); + + return 0; +} -- cgit v1.2.3-54-g00ecf