- if (event->xany.type == ButtonPress &&
- event->xbutton.button == Button1)
- {
- mc->button_down_p = True;
- gltrackball_start (mc->trackball,
- event->xbutton.x, event->xbutton.y,
- MI_WIDTH (mi), MI_HEIGHT (mi));
- return True;
- }
- else if (event->xany.type == ButtonRelease &&
- event->xbutton.button == Button1)
- {
- mc->button_down_p = False;
- return True;
- }
- else if (event->xany.type == ButtonPress &&
- (event->xbutton.button == Button4 ||
- event->xbutton.button == Button5 ||
- event->xbutton.button == Button6 ||
- event->xbutton.button == Button7))
- {
- gltrackball_mousewheel (mc->trackball, event->xbutton.button, 10,
- !!event->xbutton.state);
- return True;
- }
- else if (event->xany.type == KeyPress)
+ if (gltrackball_event_handler (event, mc->trackball,
+ MI_WIDTH (mi), MI_HEIGHT (mi),
+ &mc->button_down_p))
+ return True;
+ else