X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Fhit.cc;h=d750ed3f9d75a63750f9ead980e80e41e03dde14;hb=46bbe834009d51a652e03a7fd4fa57bfb6457e38;hp=c06160f3b2c1df0e6fb95c9c2ebb35f68643564a;hpb=ff46a3c3a216afc97fee0c796ac2eaa92d58becb;p=ardour.git diff --git a/gtk2_ardour/hit.cc b/gtk2_ardour/hit.cc index c06160f3b2..d750ed3f9d 100644 --- a/gtk2_ardour/hit.cc +++ b/gtk2_ardour/hit.cc @@ -1,36 +1,35 @@ /* - Copyright (C) 2007 Paul Davis - Author: Dave Robillard - - 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. -*/ + * Copyright (C) 2013-2017 Paul Davis + * Copyright (C) 2014 David Robillard + * + * 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., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#include "temporal/beats.h" #include "evoral/Note.hpp" #include "canvas/polygon.h" #include "canvas/debug.h" -#include "midi_region_view.h" -#include "public_editor.h" -#include "utils.h" #include "hit.h" using namespace ARDOUR; using namespace ArdourCanvas; -Hit::Hit (MidiRegionView& region, Item* parent, double size, const boost::shared_ptr note, bool with_events) +Hit::Hit (MidiRegionView& region, Item* parent, double size, const boost::shared_ptr note, bool with_events) : NoteBase (region, with_events, note) { _polygon = new ArdourCanvas::Polygon (parent); @@ -79,8 +78,8 @@ Hit::hide () _polygon->hide (); } -void -Hit::set_height (Distance height) +Points +Hit::points(Distance height) { /* draw a diamond */ @@ -92,7 +91,19 @@ Hit::set_height (Distance height) p.push_back (Duple (+half_height, 0)); // right, middle p.push_back (Duple (0, +half_height)); // bottom - _polygon->set (p); + return p; +} + +void +Hit::set_height (Distance height) +{ + _polygon->set (points(height)); +} + +Duple +Hit::position () +{ + return _polygon->position (); } void @@ -105,26 +116,32 @@ Coord Hit::x0 () const { /* left vertex */ - return _polygon->get()[0].x; + return _polygon->position().x + _polygon->get()[0].x; } Coord Hit::x1 () const { /* right vertex */ - return _polygon->get()[2].x; + return _polygon->position().x + _polygon->get()[2].x; } Coord Hit::y0 () const { /* top vertex */ - return _polygon->get()[1].y; + return _polygon->position().y + _polygon->get()[1].y; } Coord Hit::y1 () const { /* bottom vertex */ - return _polygon->get()[3].y; + return _polygon->position().y + _polygon->get()[3].y; +} + +void +Hit::set_ignore_events (bool ignore) +{ + _polygon->set_ignore_events (ignore); }