diff --git a/src/dlangui/platforms/x11/x11app.d b/src/dlangui/platforms/x11/x11app.d index 0dfc01cb..92c97033 100644 --- a/src/dlangui/platforms/x11/x11app.d +++ b/src/dlangui/platforms/x11/x11app.d @@ -4,70 +4,73 @@ import std.stdio; import std.c.linux.X11.xcb.xcb; import std.c.linux.X11.xcb.xproto; import std.c.stdlib; -int main() + +int main(string[] args) { - xcb_connection_t *c; - xcb_screen_t *s; - xcb_window_t w; - xcb_gcontext_t g; - xcb_generic_event_t *e; - uint mask; - uint values[2]; - int done = 0; - static xcb_rectangle_t r = { 20, 20, 60, 60 }; + xcb_connection_t *c; + xcb_screen_t *s; + xcb_window_t w; + xcb_gcontext_t g; + xcb_generic_event_t *e; + uint mask; + uint values[2]; + int done = 0; + static xcb_rectangle_t r = { 20, 20, 60, 60 }; - /* open connection with the server */ - c = xcb_connect(null,null); - if (xcb_connection_has_error(c)) { - writefln("Cannot open display"); - return 1; - } - /* get the first screen */ - s = xcb_setup_roots_iterator( xcb_get_setup(c) ).data; + /* open connection with the server */ + c = xcb_connect(null,null); + if (xcb_connection_has_error(c)) { + writefln("Cannot open display"); + return 1; + } + + /* get the first screen */ + s = xcb_setup_roots_iterator( xcb_get_setup(c) ).data; - /* create black graphics context */ - g = xcb_generate_id(c); - w = s.root; - mask = XCB_GC_FOREGROUND | XCB_GC_GRAPHICS_EXPOSURES; - values[0] = s.black_pixel; - values[1] = 0; - xcb_create_gc(c, g, w, mask, &values[0]); + /* create black graphics context */ + g = xcb_generate_id(c); + w = s.root; + mask = XCB_GC_FOREGROUND | XCB_GC_GRAPHICS_EXPOSURES; + values[0] = s.black_pixel; + values[1] = 0; + xcb_create_gc(c, g, w, mask, &values[0]); - /* create window */ - w = xcb_generate_id(c); - mask = XCB_CW_BACK_PIXEL | XCB_CW_EVENT_MASK; - values[0] = s.white_pixel; - values[1] = XCB_EVENT_MASK_EXPOSURE | XCB_EVENT_MASK_KEY_PRESS; - xcb_create_window(c, s.root_depth, w, s.root, - 10, 10, 100, 100, 1, - XCB_WINDOW_CLASS_INPUT_OUTPUT, s.root_visual, - mask, &values[0]); + /* create window */ + w = xcb_generate_id(c); + mask = XCB_CW_BACK_PIXEL | XCB_CW_EVENT_MASK; + values[0] = s.white_pixel; + values[1] = XCB_EVENT_MASK_EXPOSURE | XCB_EVENT_MASK_KEY_PRESS; + xcb_create_window(c, s.root_depth, w, s.root, + 10, 10, 100, 100, 1, + XCB_WINDOW_CLASS_INPUT_OUTPUT, s.root_visual, + mask, &values[0]); - /* map (show) the window */ - xcb_map_window(c, w); + /* map (show) the window */ + xcb_map_window(c, w); - xcb_flush(c); + xcb_flush(c); - /* event loop */ - - do{ - e = xcb_wait_for_event(c); - if(!e)break; - switch (e.response_type & ~0x80) { - case XCB_EXPOSE: /* draw or redraw the window */ - xcb_poly_fill_rectangle(c, w, g, 1, &r); - xcb_flush(c); - break; - case XCB_KEY_PRESS: /* exit on key press */ - done = 1; - break; + /* event loop */ + do { + + e = xcb_wait_for_event(c); + if (!e) + break; + switch (e.response_type & ~0x80) { + case XCB_EXPOSE: /* draw or redraw the window */ + xcb_poly_fill_rectangle(c, w, g, 1, &r); + xcb_flush(c); + break; + case XCB_KEY_PRESS: /* exit on key press */ + done = 1; + break; default: break; - } - free(e); - }while(!done); + } + free(e); + } while(!done); /* close connection to server */ - xcb_disconnect(c); + xcb_disconnect(c); - return 0; + return 0; }