Merge remote branch 'falconindy/mouse'

This commit is contained in:
Bert 2011-01-26 17:48:11 +01:00
commit 0497a7f69d
2 changed files with 28 additions and 1 deletions

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;

View File

@ -69,7 +69,7 @@ void win_open(win_t *win) {
DIE("could not create window"); DIE("could not create window");
XSelectInput(e->dpy, win->xwin, XSelectInput(e->dpy, win->xwin,
StructureNotifyMask | KeyPressMask); StructureNotifyMask | KeyPressMask | ButtonPressMask);
bgc = XCreateGC(e->dpy, win->xwin, 0, None); bgc = XCreateGC(e->dpy, win->xwin, 0, None);