*
* Note: Because of this, derived classes need to manually bounce events to
* on_event, it won't happen automatically.
+ *
+ * A newer, better canvas should remove the need for all the ugly here.
*/
class CanvasMidiEvent {
public:
- CanvasMidiEvent(MidiRegionView& region, Item* item, const ARDOUR::MidiModel::Note* note = NULL);
+ CanvasMidiEvent(MidiRegionView& region, Item* item, const ARDOUR::Note* note = NULL);
virtual ~CanvasMidiEvent() {}
bool on_event(GdkEvent* ev);
virtual void set_outline_color(uint32_t c) = 0;
virtual void set_fill_color(uint32_t c) = 0;
+
+ virtual double x1() = 0;
+ virtual double y1() = 0;
+ virtual double x2() = 0;
+ virtual double y2() = 0;
+
+ const Item* item() const { return _item; }
+ Item* item() { return _item; }
- const ARDOUR::MidiModel::Note* note() { return _note; }
+ const ARDOUR::Note* note() { return _note; }
protected:
enum State { None, Pressed, Dragging };
- MidiRegionView& _region;
- Item* const _item;
- State _state;
- const ARDOUR::MidiModel::Note* _note;
- bool _selected;
+ MidiRegionView& _region;
+ Item* const _item;
+ State _state;
+ const ARDOUR::Note* _note;
+ bool _selected;
};
} // namespace Gnome