class Hit : public NoteBase
{
public:
- typedef Evoral::Note<double> NoteType;
+ typedef Evoral::Note<Evoral::Beats> NoteType;
- Hit (
- MidiRegionView& region,
- ArdourCanvas::Group* group,
- double size,
- const boost::shared_ptr<NoteType> note = boost::shared_ptr<NoteType>(),
- bool with_events = true);
+ Hit (MidiRegionView& region,
+ ArdourCanvas::Item* parent,
+ double size,
+ const boost::shared_ptr<NoteType> note = boost::shared_ptr<NoteType>(),
+ bool with_events = true);
+
+ ~Hit();
void show ();
void hide ();
ArdourCanvas::Coord x1 () const;
ArdourCanvas::Coord y1 () const;
+ ArdourCanvas::Duple position ();
+
void set_position (ArdourCanvas::Duple);
void set_height (ArdourCanvas::Coord);
void set_outline_color (uint32_t);
void set_fill_color (uint32_t);
+ void set_ignore_events (bool);
+
void move_event (double, double);
+ /* no trimming of percussive hits */
+ bool big_enough_to_trim() const { return false; }
+
+ static ArdourCanvas::Points points(ArdourCanvas::Distance height);
+
private:
ArdourCanvas::Polygon* _polygon;
};