13
0
livetrax/gtk2_ardour/canvas-flag.h
David Robillard 31a6e0b254 Fix time / positioning of PC flags (beat time).
Fix needless string copying in flag stuff.
Clean up.


git-svn-id: svn://localhost/ardour2/branches/3.0@4601 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-16 05:54:12 +00:00

65 lines
1.2 KiB
C++

#ifndef CANVASFLAG_H_
#define CANVASFLAG_H_
#include <string>
#include <libgnomecanvasmm/group.h>
#include <libgnomecanvasmm/widget.h>
#include <ardour/midi_model.h>
#include "simplerect.h"
#include "simpleline.h"
#include "interactive-item.h"
class MidiRegionView;
namespace Gnome {
namespace Canvas {
class CanvasFlag : public Group, public InteractiveItem
{
public:
CanvasFlag(
MidiRegionView& region,
Group& parent,
double height,
guint outline_color_rgba = 0xc0c0c0ff,
guint fill_color_rgba = 0x07070707,
double x = 0.0,
double y = 0.0)
: Group(parent, x, y)
, _text(0)
, _height(height)
, _outline_color_rgba(outline_color_rgba)
, _fill_color_rgba(fill_color_rgba)
, _region(region)
, _line(0)
, _rect(0)
{}
virtual ~CanvasFlag();
virtual bool on_event(GdkEvent* ev);
void set_text(const std::string& a_text);
protected:
InteractiveText* _text;
double _height;
guint _outline_color_rgba;
guint _fill_color_rgba;
MidiRegionView& _region;
private:
void delete_allocated_objects();
SimpleLine* _line;
InteractiveRect* _rect;
};
} // namespace Canvas
} // namespace Gnome
#endif /*CANVASFLAG_H_*/