5 #include <xcb/xcb_event.h>
9 void warn(char *fmt, ...)
13 vfprintf(stderr, fmt, ap);
17 __attribute__((noreturn))
18 void err(char *fmt, ...)
22 vfprintf(stderr, fmt, ap);
27 bool get_color(char *col, uint32_t *pxl)
29 xcb_colormap_t map = screen->default_colormap;
32 unsigned int red, green, blue;
33 if (sscanf(col + 1, "%02x%02x%02x", &red, &green, &blue) == 3) {
34 /* 2**16 - 1 == 0xffff and 0x101 * 0xij == 0xijij */
38 xcb_alloc_color_reply_t *reply = xcb_alloc_color_reply(dpy, xcb_alloc_color(dpy, map, red, green, blue), NULL);
46 xcb_alloc_named_color_reply_t *reply = xcb_alloc_named_color_reply(dpy, xcb_alloc_named_color(dpy, map, strlen(col), col), NULL);
56 double distance(xcb_point_t a, xcb_point_t b)
58 return hypot(a.x - b.x, a.y - b.y);