diff options
author | Bert <ber.t@gmx.com> | 2011-01-26 17:48:11 +0100 |
---|---|---|
committer | Bert <ber.t@gmx.com> | 2011-01-26 17:48:11 +0100 |
commit | 0497a7f69d356f9008e0c89f390e6c72a9dbfbcc (patch) | |
tree | d7c11a3be026ed19a7092b8f41d58f9b1f99542a | |
parent | a43d51d2bcd3e8964bf6ab51264b2a7f15ccb609 (diff) | |
parent | 9a35f40224a08bfcc27b4ba79301e22a58cf4495 (diff) | |
download | nsxiv-0497a7f69d356f9008e0c89f390e6c72a9dbfbcc.tar.zst |
Merge remote branch 'falconindy/mouse'
-rw-r--r-- | main.c | 27 | ||||
-rw-r--r-- | window.c | 2 |
2 files changed, 28 insertions, 1 deletions
@@ -31,10 +31,12 @@ void on_keypress(XEvent*); void on_configurenotify(XEvent*); +void on_buttonpress(XEvent*); void update_title(); static void (*handler[LASTEvent])(XEvent*) = { + [ButtonPress] = on_buttonpress, [KeyPress] = on_keypress, [ConfigureNotify] = on_configurenotify }; @@ -126,6 +128,31 @@ void cleanup() { } } +void on_buttonpress(XEvent *ev) { + int changed; + XButtonEvent *buttonevent; + + changed = 0; + buttonevent = &ev->xbutton; + + switch (buttonevent->button) { + case Button4: + changed = img_zoom_in(&img); + break; + case Button5: + changed = img_zoom_out(&img); + break; + default: + return; + } + + if (changed) { + img_render(&img, &win); + update_title(); + timeout = 0; + } +} + void on_keypress(XEvent *ev) { char key; KeySym keysym; @@ -69,7 +69,7 @@ void win_open(win_t *win) { DIE("could not create window"); XSelectInput(e->dpy, win->xwin, - StructureNotifyMask | KeyPressMask); + StructureNotifyMask | KeyPressMask | ButtonPressMask); bgc = XCreateGC(e->dpy, win->xwin, 0, None); |