Changing active-state needs no color lookup
[ardour.git] / gtk2_ardour / hit.cc
index ab47dee6e8ff7ba1d5a950e55da57f03283deb63..d750ed3f9d75a63750f9ead980e80e41e03dde14 100644 (file)
@@ -1,21 +1,23 @@
 /*
-    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 <paul@linuxaudiosystems.com>
+ * Copyright (C) 2014 David Robillard <d@drobilla.net>
+ *
+ * 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"
 
@@ -27,7 +29,7 @@
 using namespace ARDOUR;
 using namespace ArdourCanvas;
 
-Hit::Hit (MidiRegionView& region, Item* parent, double size, const boost::shared_ptr<NoteType> note, bool with_events) 
+Hit::Hit (MidiRegionView& region, Item* parent, double size, const boost::shared_ptr<NoteType> note, bool with_events)
        : NoteBase (region, with_events, note)
 {
        _polygon = new ArdourCanvas::Polygon (parent);
@@ -76,8 +78,8 @@ Hit::hide ()
        _polygon->hide ();
 }
 
-void
-Hit::set_height (Distance height)
+Points
+Hit::points(Distance height)
 {
        /* draw a diamond */
 
@@ -89,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
@@ -125,3 +139,9 @@ Hit::y1 () const
        /* bottom vertex */
        return _polygon->position().y + _polygon->get()[3].y;
 }
+
+void
+Hit::set_ignore_events (bool ignore)
+{
+       _polygon->set_ignore_events (ignore);
+}