diff options
| author | Ted Gould <ted@gould.cx> | 2012-11-25 19:41:24 +0000 |
|---|---|---|
| committer | Ted Gould <ted@gould.cx> | 2012-11-25 19:41:24 +0000 |
| commit | 18be0e5e3ab74823043e19dd6ea46c4b6b130e86 (patch) | |
| tree | a62925ec4473c1a21e1c99d1415f4cccab59b432 /src/ui/widget/rotateable.cpp | |
| parent | Getting all the filter headers (diff) | |
| parent | Fix for 1036059 : Keyboard shortcut editor (diff) | |
| download | inkscape-18be0e5e3ab74823043e19dd6ea46c4b6b130e86.tar.gz inkscape-18be0e5e3ab74823043e19dd6ea46c4b6b130e86.zip | |
Update to current trunk
(bzr r11804.1.8)
Diffstat (limited to 'src/ui/widget/rotateable.cpp')
| -rw-r--r-- | src/ui/widget/rotateable.cpp | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/src/ui/widget/rotateable.cpp b/src/ui/widget/rotateable.cpp index 7be666843..1d91515e5 100644 --- a/src/ui/widget/rotateable.cpp +++ b/src/ui/widget/rotateable.cpp @@ -24,12 +24,15 @@ Rotateable::Rotateable(): { dragging = false; working = false; + scrolling = false; modifier = 0; current_axis = axis; signal_button_press_event().connect(sigc::mem_fun(*this, &Rotateable::on_click)); signal_motion_notify_event().connect(sigc::mem_fun(*this, &Rotateable::on_motion)); signal_button_release_event().connect(sigc::mem_fun(*this, &Rotateable::on_release)); + signal_scroll_event().connect(sigc::mem_fun(*this, &Rotateable::on_scroll)); + } bool Rotateable::on_click(GdkEventButton *event) { @@ -124,6 +127,34 @@ bool Rotateable::on_release(GdkEventButton *event) { return false; } +bool Rotateable::on_scroll(GdkEventScroll* event) +{ + double change = 0.0; + + if (event->direction == GDK_SCROLL_UP) { + change = 1.0; + } else if (event->direction == GDK_SCROLL_DOWN) { + change = -1.0; + } else { + return FALSE; + } + + drag_started_x = event->x; + drag_started_y = event->y; + modifier = get_single_modifier(modifier, event->state); + dragging = false; + working = false; + scrolling = true; + current_axis = axis; + + do_scroll(change, modifier); + + dragging = false; + working = false; + scrolling = false; + + return TRUE; +} Rotateable::~Rotateable() { } |
