Various tweaks to the port matrix: open to full size; remove buttons and move their...
[ardour.git] / gtk2_ardour / canvas-hit.h
index 114d608a89e9b69b3b243dc57556d0db97fdb330..a467952966ad793199dbc196bf4932ab785aec33 100644 (file)
 namespace Gnome {
 namespace Canvas {
 
-class CanvasHit : public Diamond, public CanvasMidiEvent {
+class CanvasHit : public Diamond, public CanvasNoteEvent {
 public:
-       CanvasHit(MidiRegionView& region, Group& group, double size, const ARDOUR::MidiModel::Note* note=NULL)
-               : Diamond(group, size), CanvasMidiEvent(region, this, note) {}
+       typedef Evoral::Note<double> NoteType;
+
+       CanvasHit(
+                       MidiRegionView&                   region,
+                       Group&                            group,
+                       double                            size,
+                       const boost::shared_ptr<NoteType> note = boost::shared_ptr<NoteType>())
+
+               : Diamond(group, size), CanvasNoteEvent(region, this, note)
+       {
+       }
        
-       // FIXME
-       double x1() { return 0.0; }
-       double y1() { return 0.0; }
-       double x2() { return 0.0; }
-       double y2() { return 0.0; }
+       void show() { Diamond::show(); }
+       void hide() { Diamond::hide(); }
+
+       double x1() { double x1, y1, x2, y2; get_bounds(x1,y1,x2,y2); return x1; }
+       double y1() { double x1, y1, x2, y2; get_bounds(x1,y1,x2,y2); return y1; }
+       double x2() { double x1, y1, x2, y2; get_bounds(x1,y1,x2,y2); return x2; }
+       double y2() { 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) { return CanvasMidiEvent::on_event(ev); }
+       bool on_event(GdkEvent* ev) { return CanvasNoteEvent::on_event(ev); }
 };
 
 } // namespace Gnome