-void Viewport::setup_viewport(int width, int height)
-{
- glViewport(0, 0, (GLint)width, (GLint)height);
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
- glOrtho(0, width, height, 0, -1, 1);
- glMatrixMode(GL_MODELVIEW);
+ if (event->orientation() == Qt::Vertical) {
+ if (event->modifiers() & Qt::ControlModifier) {
+ // Vertical scrolling with the control key pressed
+ // is intrepretted as vertical scrolling
+ view_.set_v_offset(-view_.owner_visual_v_offset() -
+ (event->delta() * height()) / (8 * 120));
+ } else {
+ // Vertical scrolling is interpreted as zooming in/out
+ view_.zoom(event->delta() / 120, event->x());
+ }
+ } else if (event->orientation() == Qt::Horizontal) {
+ // Horizontal scrolling is interpreted as moving left/right
+ view_.set_scale_offset(view_.scale(),
+ event->delta() * view_.scale() + view_.offset());
+ }