main.c: add zooming on mousewheel events
Signed-off-by: Dave Reisner <d@falconindy.com>
This commit is contained in:
parent
13eb5ac929
commit
9a35f40224
27
main.c
27
main.c
|
@ -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;
|
||||
|
|
Loading…
Reference in a new issue