main.c: add zooming on mousewheel events

Signed-off-by: Dave Reisner <d@falconindy.com>
This commit is contained in:
Dave Reisner 2011-01-22 22:04:55 -05:00
parent 13eb5ac929
commit 9a35f40224

27
main.c
View File

@ -31,10 +31,12 @@
void on_keypress(XEvent*); void on_keypress(XEvent*);
void on_configurenotify(XEvent*); void on_configurenotify(XEvent*);
void on_buttonpress(XEvent*);
void update_title(); void update_title();
static void (*handler[LASTEvent])(XEvent*) = { static void (*handler[LASTEvent])(XEvent*) = {
[ButtonPress] = on_buttonpress,
[KeyPress] = on_keypress, [KeyPress] = on_keypress,
[ConfigureNotify] = on_configurenotify [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) { void on_keypress(XEvent *ev) {
char key; char key;
KeySym keysym; KeySym keysym;