X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Fcanvas-hit.h;h=f25c49ab10d6ee7d54f6f3e462cc3ed26a637cc2;hb=a1ecad4cfe80a9a0c39e3c6bb5dd3b47d2a5bfb3;hp=ffa1764003efbc09424b93044057f2f4ab8dc051;hpb=6d319e2132270b89efc47820e707840eb49a2cfe;p=ardour.git diff --git a/gtk2_ardour/canvas-hit.h b/gtk2_ardour/canvas-hit.h index ffa1764003..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 @@ -29,25 +29,28 @@ namespace Canvas { class CanvasHit : public Diamond, public CanvasNoteEvent { public: + typedef Evoral::Note NoteType; + CanvasHit( - MidiRegionView& region, - Group& group, - double size, - const boost::shared_ptr note = boost::shared_ptr()) - - : Diamond(group, size), CanvasMidiEvent(region, this, note) - { - } - - 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; } - + 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 CanvasNoteEvent::on_event(ev); } + bool on_event(GdkEvent* ev); + void move_event(double dx, double dy); }; } // namespace Gnome