X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Fcanvas-hit.cc;h=8ebd2f2ae4061c264b76e0b3238c2c0a5ac6642f;hb=82be348d429b97f3e223b3a5b1c6807d23fcdaa0;hp=9075eaaddd59388b97e1390ec560b4713de6fcf3;hpb=bb9cc45cd22af67ac275a5e73accbe14fee664d8;p=ardour.git diff --git a/gtk2_ardour/canvas-hit.cc b/gtk2_ardour/canvas-hit.cc index 9075eaaddd..8ebd2f2ae4 100644 --- a/gtk2_ardour/canvas-hit.cc +++ b/gtk2_ardour/canvas-hit.cc @@ -1,3 +1,22 @@ +/* + Copyright (C) 2012 Paul Davis + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + +*/ + #include "canvas-note.h" #include "midi_region_view.h" #include "public_editor.h" @@ -9,14 +28,26 @@ using namespace ARDOUR; namespace Gnome { namespace Canvas { +CanvasHit::CanvasHit (MidiRegionView& region, + Group& group, + double size, + const boost::shared_ptr note, + bool with_events) + : Diamond(group, size) + , CanvasNoteEvent(region, this, note) +{ + if (with_events) { + signal_event().connect (sigc::mem_fun (*this, &CanvasHit::on_event)); + } +} + bool CanvasHit::on_event(GdkEvent* ev) { - if (!_region.get_trackview().editor().canvas_note_event (ev, this)) { - return CanvasNoteEvent::on_event (ev); - } else { - return true; + if (!CanvasNoteEvent::on_event (ev)) { + return _region.get_time_axis_view().editor().canvas_note_event (ev, this); } + return true; } void