summaryrefslogtreecommitdiff
path: root/gtk2_ardour/editor_canvas_events.cc
diff options
context:
space:
mode:
authorHans Baier <hansfbaier@googlemail.com>2008-12-12 22:04:22 +0000
committerHans Baier <hansfbaier@googlemail.com>2008-12-12 22:04:22 +0000
commitf03a87a132feb525a743de675d0439e981ab329a (patch)
tree995f4bcb7deb66ebe75924d90ce1727d230bed8e /gtk2_ardour/editor_canvas_events.cc
parentbc89fe0147c04b67141936d109c00dfd4d69cc4b (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.cc13
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;