#include <jack/jack.h>
#include <string>
-#include <libgnomecanvasmm/text.h>
+#include <libgnomecanvasmm/pixbuf.h>
#include "selectable.h"
#include "simplerect.h"
class TimeAxisViewItem : public Selectable
{
public:
- virtual ~TimeAxisViewItem() ;
+ virtual ~TimeAxisViewItem() ;
/**
* Set the position of this item upon the timeline to the specified value
*
* @param new_name the new name text to display
*/
- void set_name_text(std::string new_name) ;
+ void set_name_text(const Glib::ustring& new_name) ;
/**
* Set the height of this item
* @param h the new height
*/
virtual void set_height(double h) ;
-
+
+ void set_y (double);
+
/**
*
*/
- void set_color(Gdk::Color& color) ;
+ void set_color (Gdk::Color const &);
/**
*
/**
*
*/
- ArdourCanvas::Item* get_canvas_group();
+ ArdourCanvas::Group* get_canvas_group();
/**
*
/**
*
*/
- ArdourCanvas::Text* get_name_text();
+ ArdourCanvas::Pixbuf* get_name_pixbuf();
/**
bool name_active() const { return name_connected; }
// Default sizes, font and spacing
- static Pango::FontDescription NAME_FONT ;
+ static Pango::FontDescription* NAME_FONT ;
static bool have_name_font;
static const double NAME_X_OFFSET ;
static const double GRAB_HANDLE_LENGTH ;
* the destructor, this allows us to capture the source of the deletion
* event
*/
+
sigc::signal<void,std::string,void*> ItemRemoved ;
/** Emitted when the name/Id of this item is changed */
/** Emitted when the mionimum item duration is changed */
sigc::signal<void,nframes_t,void*> MinDurationChanged ;
- protected:
-
enum Visibility {
ShowFrame = 0x1,
ShowNameHighlight = 0x2,
HideFrameTB = 0x40,
FullWidthNameHighlight = 0x80
};
-
+ protected:
/**
* Constructs a new TimeAxisViewItem.
*
* @param start the start point of this item
* @param duration the duration of this item
*/
- TimeAxisViewItem(const std::string & it_name, ArdourCanvas::Group& parent, TimeAxisView& tv, double spu, Gdk::Color& base_color,
- nframes_t start, nframes_t duration, Visibility v = Visibility (0));
+ TimeAxisViewItem(const std::string & it_name, ArdourCanvas::Group& parent, TimeAxisView& tv, double spu, Gdk::Color const & base_color,
+ nframes_t start, nframes_t duration, bool recording = false, Visibility v = Visibility (0));
TimeAxisViewItem (const TimeAxisViewItem& other);
- void init (const std::string& it_name, double spu, Gdk::Color& base_color, nframes_t start, nframes_t duration, Visibility vis);
+ void init (const std::string& it_name, double spu, Gdk::Color const & base_color, nframes_t start, nframes_t duration, Visibility vis);
/**
* Calculates some contrasting color for displaying various parts of this item, based upon the base color
*
* @param color the base color of the item
*/
- virtual void compute_colors(Gdk::Color& color) ;
+ virtual void compute_colors (Gdk::Color const & color);
/**
* convenience method to set the various canvas item colors
/**
* Sets the frame color depending on whether this item is selected
*/
- void set_frame_color() ;
+ virtual void set_frame_color() ;
/**
* Sets the colors of the start and end trim handle depending on object state
ArdourCanvas::Group* group;
ArdourCanvas::SimpleRect* vestigial_frame;
ArdourCanvas::SimpleRect* frame;
- ArdourCanvas::Text* name_text;
+ ArdourCanvas::Pixbuf* name_pixbuf;
ArdourCanvas::SimpleRect* name_highlight;
ArdourCanvas::SimpleRect* frame_handle_start;
ArdourCanvas::SimpleRect* frame_handle_end;
Visibility visibility;
+ bool _recregion;
+
}; /* class TimeAxisViewItem */