X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Fcanvas-hit.h;h=af644138843c5c4561a1b0beed24f8f363f89703;hb=b502bbc61895d61c39bf240b47e8a3664be2c541;hp=2760e62c7945fdc74adc4543b884cd1e5d95e8a1;hpb=2cbaa2751c0e346f2a6549f832a0ef69b8dd352c;p=ardour.git diff --git a/gtk2_ardour/canvas-hit.h b/gtk2_ardour/canvas-hit.h index 2760e62c79..af64413884 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,12 +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) - : Diamond(group, size), CanvasMidiEvent(region, this) {} + typedef Evoral::Note NoteType; - bool on_event(GdkEvent* ev) { return CanvasMidiEvent::on_event(ev); } + 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() 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