X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Fcanvas-hit.h;h=e6be076aa8b89e0f469ded0610e2ab9eca10224f;hb=a8e019c9e0a0fcbbe9aa75f25dba90ca1a5eda2b;hp=b924f981bb687f97e084dae4bbee9015819a367c;hpb=056b2a59d5cb28042926dab61f56e49917c8eec4;p=ardour.git diff --git a/gtk2_ardour/canvas-hit.h b/gtk2_ardour/canvas-hit.h index b924f981bb..e6be076aa8 100644 --- a/gtk2_ardour/canvas-hit.h +++ b/gtk2_ardour/canvas-hit.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2007 Paul Davis + Copyright (C) 2007 Paul Davis Author: Dave Robillard This program is free software; you can redistribute it and/or modify @@ -27,21 +27,30 @@ 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::Note* note=NULL) - : Diamond(group, size), CanvasMidiEvent(region, this, note) {} - - // FIXME - double x1() { return 0.0; } - double y1() { return 0.0; } - double x2() { return 0.0; } - double y2() { return 0.0; } - + typedef Evoral::Note NoteType; + + CanvasHit( + MidiRegionView& region, + Group& group, + double size, + const boost::shared_ptr note = boost::shared_ptr(), + bool with_events = true); + + 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); + void move_event(double dx, double dy); }; } // namespace Gnome