diff options
author | Peter Hutterer <peter.hutterer@who-t.net> | 2011-12-07 11:45:21 +1000 |
---|---|---|
committer | Peter Hutterer <peter.hutterer@who-t.net> | 2011-12-07 12:24:02 +1000 |
commit | 49a4fcaa604a728730a3d593a5c738d07028d12c (patch) | |
tree | bf643bfdcc399a3afd69c18fed9349f80f874d83 | |
parent | 3ede882724c4d8ca80653382f1aad64ff05836e8 (diff) |
Deduplicate window creation code
Use some variables instead of hardcoded values.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-rw-r--r-- | multitouch.c | 35 |
1 files changed, 17 insertions, 18 deletions
diff --git a/multitouch.c b/multitouch.c index 8e0f613..edcff1c 100644 --- a/multitouch.c +++ b/multitouch.c @@ -22,6 +22,7 @@ #include <X11/extensions/XInput2.h> #define MAX_TOUCHES 10 +#define NWINDOWS 4 /* 4 windows on sidebar */ static void usage(void) { @@ -136,31 +137,29 @@ static void sighandler(int signal) static void init_windows(struct multitouch *mt, enum Mode mode) { - Window win, subwin; + Window win; XEvent event; XIEventMask evmask; unsigned char mask[XIMaskLen(XI_LASTEVENT)]; XIGrabModifiers modifiers; + int xoff = 0, yoff = 0; + unsigned long black = BlackPixel(mt->dpy, mt->screen_no), + white = WhitePixel(mt->dpy, mt->screen_no); + int w = 50, + h = mt->height/NWINDOWS; win = XCreateSimpleWindow(mt->dpy, mt->root, 0, 0, mt->width, mt->height, 0, 0, WhitePixel(mt->dpy, mt->screen_no)); mt->win = win; - subwin = XCreateSimpleWindow(mt->dpy, win, 0, 0, 50, mt->height/4, 0, 0, - BlackPixel(mt->dpy, mt->screen_no)); - mt->blackbar = subwin; - - subwin = XCreateSimpleWindow(mt->dpy, win, 0, mt->height/4, 50, mt->height/4, 0, 0, - WhitePixel(mt->dpy, mt->screen_no)); - mt->whitebar = subwin; - - subwin = XCreateSimpleWindow(mt->dpy, win, 0, mt->height/2, 50, mt->height/4, 0, 0, - BlackPixel(mt->dpy, mt->screen_no)); - mt->blackbar_os = subwin; - - subwin = XCreateSimpleWindow(mt->dpy, win, 0, 3 * mt->height/4, 50, mt->height/4, 0, 0, - WhitePixel(mt->dpy, mt->screen_no)); - mt->whitebar_os = subwin; + mt->blackbar = XCreateSimpleWindow(mt->dpy, win, xoff, yoff, w, h, 0, 0, black); + yoff += h; + mt->whitebar = XCreateSimpleWindow(mt->dpy, win, xoff, yoff, w, h, 0, 0, white); + yoff += h; + mt->blackbar_os = XCreateSimpleWindow(mt->dpy, win, xoff, yoff, w, h, 0, 0, black); + yoff += h; + mt->whitebar_os = XCreateSimpleWindow(mt->dpy, win, xoff, yoff, w, h, 0, 0, white); + yoff += h; XSelectInput(mt->dpy, win, ExposureMask); XMapSubwindows(mt->dpy, win); @@ -458,7 +457,7 @@ static void paint_grabs(struct multitouch *mt) } else if (grab->grab_window == mt->whitebar) { r = 1; g = 0; b = 0; - offset = mt->height/4; + offset = mt->height/NWINDOWS; } else if (grab->grab_window == mt->blackbar_os) { r = 0; g = 1; b = 0; @@ -466,7 +465,7 @@ static void paint_grabs(struct multitouch *mt) } else { r = 0; g = 1; b = 1; - offset = 3 * mt->height/4; + offset = 3 * mt->height/NWINDOWS; } cairo_save(mt->cr_grabs); |