2008-04-29 03:28:24 -04:00
|
|
|
#include "canvas-program-change.h"
|
|
|
|
#include <iostream>
|
2008-04-29 17:58:05 -04:00
|
|
|
#include "ardour_ui.h"
|
2008-04-29 03:28:24 -04:00
|
|
|
|
2008-04-29 17:58:05 -04:00
|
|
|
using namespace Gnome::Canvas;
|
2008-04-29 03:28:24 -04:00
|
|
|
using namespace std;
|
|
|
|
|
|
|
|
CanvasProgramChange::CanvasProgramChange(
|
|
|
|
MidiRegionView& region,
|
|
|
|
Group& parent,
|
2008-09-18 20:47:49 -04:00
|
|
|
boost::shared_ptr<Evoral::Event> event,
|
2008-04-29 03:28:24 -04:00
|
|
|
double height,
|
|
|
|
double x,
|
|
|
|
double y)
|
2008-05-15 01:00:28 -04:00
|
|
|
: Group(parent, x, y)
|
|
|
|
, _region(region)
|
|
|
|
, _event(event)
|
|
|
|
, _text(0)
|
|
|
|
, _line(0)
|
|
|
|
, _rect(0)
|
2008-04-29 03:28:24 -04:00
|
|
|
{
|
2008-05-15 01:00:28 -04:00
|
|
|
char pgm_str[4];
|
2008-09-22 12:28:02 -04:00
|
|
|
snprintf(pgm_str, 4, "%d", (int)(((Evoral::MIDIEvent*)event.get())->pgm_number()));
|
2008-05-15 01:00:28 -04:00
|
|
|
_text = new Text(*this, 0.0, 0.0, pgm_str);
|
2008-04-29 03:28:24 -04:00
|
|
|
_text->property_justification() = Gtk::JUSTIFY_CENTER;
|
|
|
|
_text->property_fill_color_rgba() = ARDOUR_UI::config()->canvasvar_MidiProgramChangeOutline.get();
|
|
|
|
double flagwidth = _text->property_text_width() + 10.0;
|
|
|
|
double flagheight = _text->property_text_height() + 3.0;
|
|
|
|
_text->property_x() = flagwidth / 2.0;
|
|
|
|
_text->property_y() = flagheight / 2.0;
|
|
|
|
_text->show();
|
|
|
|
_line = new SimpleLine(*this, 0.0, 0.0, 0.0, height);
|
|
|
|
_line->property_color_rgba() = ARDOUR_UI::config()->canvasvar_MidiProgramChangeOutline.get();
|
|
|
|
_rect = new SimpleRect(*this, 0.0, 0.0, flagwidth, flagheight);
|
|
|
|
_rect->property_outline_color_rgba() = ARDOUR_UI::config()->canvasvar_MidiProgramChangeOutline.get();
|
|
|
|
_rect->property_fill_color_rgba() = ARDOUR_UI::config()->canvasvar_MidiProgramChangeFill.get();
|
|
|
|
_text->lower_to_bottom();
|
|
|
|
_text->raise(2);
|
|
|
|
}
|
|
|
|
|
|
|
|
CanvasProgramChange::~CanvasProgramChange()
|
|
|
|
{
|
2008-05-15 01:00:28 -04:00
|
|
|
delete _line;
|
|
|
|
delete _rect;
|
|
|
|
delete _text;
|
2008-04-29 03:28:24 -04:00
|
|
|
}
|
|
|
|
|