diff options
author | Hans Baier <hansfbaier@googlemail.com> | 2008-12-12 22:04:22 +0000 |
---|---|---|
committer | Hans Baier <hansfbaier@googlemail.com> | 2008-12-12 22:04:22 +0000 |
commit | f03a87a132feb525a743de675d0439e981ab329a (patch) | |
tree | 995f4bcb7deb66ebe75924d90ce1727d230bed8e /gtk2_ardour/editor_canvas_events.cc | |
parent | bc89fe0147c04b67141936d109c00dfd4d69cc4b (diff) |
* Prepared CanvasFlag (and thus ChanvasProgramChange) to be able to receive Scroll wheel events
* made changes in editor_canvas_events.cc to forward events to CanvasFlag (against pauls advice), but IMHO it doesnt add complexity to it since it only adds a few trivial lines which do the same which has already been done for CanvasNote and thus shouldnt complicate the merge in any way
git-svn-id: svn://localhost/ardour2/branches/3.0@4314 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour/editor_canvas_events.cc')
-rw-r--r-- | gtk2_ardour/editor_canvas_events.cc | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/gtk2_ardour/editor_canvas_events.cc b/gtk2_ardour/editor_canvas_events.cc index a9c0bf17a9..f821220cf3 100644 --- a/gtk2_ardour/editor_canvas_events.cc +++ b/gtk2_ardour/editor_canvas_events.cc @@ -41,6 +41,7 @@ #include "canvas_impl.h" #include "simplerect.h" #include "canvas-note-event.h" +#include "canvas-program-change.h" #include "i18n.h" @@ -58,7 +59,9 @@ Editor::track_canvas_scroll (GdkEventScroll* ev) double wx, wy; nframes64_t xdelta; int direction = ev->direction; - CanvasNoteEvent *midi_event = dynamic_cast<CanvasNoteEvent *>(track_canvas->get_item_at(ev->x, ev->y)); + CanvasNoteEvent *midi_event = dynamic_cast<CanvasNoteEvent *>(track_canvas->get_item_at(ev->x, ev->y)); + CanvasFlagRect *flag_rect = dynamic_cast<CanvasFlagRect *>(track_canvas->get_item_at(ev->x, ev->y)); + CanvasFlagText *flag_text = dynamic_cast<CanvasFlagText *>(track_canvas->get_item_at(ev->x, ev->y)); retry: switch (direction) { @@ -97,6 +100,10 @@ Editor::track_canvas_scroll (GdkEventScroll* ev) } else { if(midi_event) { return midi_event->on_event(reinterpret_cast<GdkEvent *>(ev)); + } else if (flag_rect) { + return flag_rect->on_event(reinterpret_cast<GdkEvent *>(ev)); + } else if (flag_text) { + return flag_text->on_event(reinterpret_cast<GdkEvent *>(ev)); } scroll_tracks_up_line (); return true; @@ -133,6 +140,10 @@ Editor::track_canvas_scroll (GdkEventScroll* ev) } else { if(midi_event) { return midi_event->on_event(reinterpret_cast<GdkEvent *>(ev)); + } else if (flag_rect) { + return flag_rect->on_event(reinterpret_cast<GdkEvent *>(ev)); + } else if (flag_text) { + return flag_text->on_event(reinterpret_cast<GdkEvent *>(ev)); } scroll_tracks_down_line (); return true; |