X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Fcanvas-hit.h;h=f25c49ab10d6ee7d54f6f3e462cc3ed26a637cc2;hb=2db69318cef5bc7b49a3c6e00b3ca3f0f2023374;hp=114d608a89e9b69b3b243dc57556d0db97fdb330;hpb=f92be1e34c7fa2f25f36c23974045bce22a5049f;p=ardour.git diff --git a/gtk2_ardour/canvas-hit.h b/gtk2_ardour/canvas-hit.h index 114d608a89..f25c49ab10 100644 --- a/gtk2_ardour/canvas-hit.h +++ b/gtk2_ardour/canvas-hit.h @@ -1,6 +1,6 @@ /* - 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 @@ -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::MidiModel::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() 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) { return CanvasMidiEvent::on_event(ev); } + bool on_event(GdkEvent* ev); + void move_event(double dx, double dy); }; } // namespace Gnome