/*
- Copyright (C) 2007 Paul Davis
+ Copyright (C) 2007 Paul Davis
Author: Dave Robillard
+ Author: Hans Baier
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
#include <iostream>
#include "simplerect.h"
-#include "canvas-midi-event.h"
+#include "canvas-note-event.h"
#include "midi_util.h"
namespace Gnome {
namespace Canvas {
-class CanvasNote : public SimpleRect, public CanvasMidiEvent {
+class CanvasNote : public SimpleRect, public CanvasNoteEvent {
public:
- CanvasNote(
- MidiRegionView& region,
- Group& group,
- const boost::shared_ptr<ARDOUR::Note> note = boost::shared_ptr<ARDOUR::Note>())
+ typedef Evoral::Note<Evoral::MusicalTime> NoteType;
- : SimpleRect(group), CanvasMidiEvent(region, this, note)
- {
- }
-
double x1() { return property_x1(); }
double y1() { return property_y1(); }
double x2() { return property_x2(); }
double y2() { return property_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); }
+
+ void set_outline_color(uint32_t c) { property_outline_color_rgba() = c; hide(); show(); }
+ void set_fill_color(uint32_t c) { property_fill_color_rgba() = c; hide(); show(); }
+
+ void show() { SimpleRect::show(); }
+ void hide() { SimpleRect::hide(); }
+
+ bool on_event(GdkEvent* ev);
+ void move_event(double dx, double dy);
+
+ CanvasNote (MidiRegionView& region,
+ Group& group,
+ const boost::shared_ptr<NoteType> note = boost::shared_ptr<NoteType>())
+ : SimpleRect(group), CanvasNoteEvent(region, this, note)
+ {
+ }
};
} // namespace Gnome