/*
- Copyright (C) 2007 Paul Davis
- Author: Dave Robillard
+ Copyright (C) 2007 Paul Davis
+ Author: 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
namespace Gnome {
namespace Canvas {
-class CanvasHit : public Diamond, public CanvasMidiEvent {
+class CanvasHit : public Diamond, public CanvasNoteEvent {
public:
- CanvasHit(MidiRegionView& region, Group& group, double size)
- : Diamond(group, size), CanvasMidiEvent(region, this) {}
+ typedef Evoral::Note<double> NoteType;
- bool on_event(GdkEvent* ev) { return CanvasMidiEvent::on_event(ev); }
+ CanvasHit(
+ MidiRegionView& region,
+ Group& group,
+ double size,
+ const boost::shared_ptr<NoteType> note = boost::shared_ptr<NoteType>(),
+ bool with_events = true);
+
+ void show() { Diamond::show(); }
+ void hide() { Diamond::hide(); }
+
+ double x1() const { double x1, y1, x2, y2; get_bounds(x1,y1,x2,y2); return x1; }
+ double y1() const { double x1, y1, x2, y2; get_bounds(x1,y1,x2,y2); return y1; }
+ double x2() const { double x1, y1, x2, y2; get_bounds(x1,y1,x2,y2); return x2; }
+ double y2() const { double x1, y1, x2, y2; get_bounds(x1,y1,x2,y2); return y2; }
+
+ void set_outline_color(uint32_t c) { property_outline_color_rgba() = c; }
+ void set_fill_color(uint32_t c) { property_fill_color_rgba() = c; }
+
+ bool on_event(GdkEvent* ev);
+ void move_event(double dx, double dy);
};
} // namespace Gnome