From d4b2829de83ca5f0efd3d1ee2683ee400e63ffe2 Mon Sep 17 00:00:00 2001 From: David Robillard Date: Sun, 29 Apr 2012 06:08:19 +0000 Subject: Scroll API. --- pugl/pugl_x11.c | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) (limited to 'pugl/pugl_x11.c') diff --git a/pugl/pugl_x11.c b/pugl/pugl_x11.c index d8685b2..735cdb1 100644 --- a/pugl/pugl_x11.c +++ b/pugl/pugl_x11.c @@ -238,8 +238,23 @@ puglProcessEvents(PuglWindow* win) } break; case ButtonPress: + if (event.xbutton.button >= 4 && event.xbutton.button <= 7) { + if (win->scrollFunc) { + int dx = 0, dy = 0; + switch (event.xbutton.button) { + case 4: dy = 1; break; + case 5: dy = -1; break; + case 6: dx = -1; break; + case 7: dx = 1; break; + } + win->scrollFunc(win, dx, dy); + } + break; + } + // nobreak case ButtonRelease: - if (win->mouseFunc) { + if (win->mouseFunc && + (event.xbutton.button < 4 || event.xbutton.button > 7)) { win->mouseFunc(win, event.xbutton.button, event.type == ButtonPress, event.xbutton.x, event.xbutton.y); -- cgit v1.2.3