X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Ftime_axis_view_item.h;h=749df465a4ed76d45be08814be38772991e81215;hb=65eeeb7a652d7022783b10e35941ce56e0fc7207;hp=04072d1a8e3840f58d49264f52877f622af12cae;hpb=36a34dc1a48552f6ef820ea964be7a79cc72f8bf;p=ardour.git diff --git a/gtk2_ardour/time_axis_view_item.h b/gtk2_ardour/time_axis_view_item.h index 04072d1a8e..749df465a4 100644 --- a/gtk2_ardour/time_axis_view_item.h +++ b/gtk2_ardour/time_axis_view_item.h @@ -33,8 +33,8 @@ namespace ArdourCanvas { class Pixbuf; class Rectangle; class Item; - class Group; - class Text; + class Container; + class Text; } using ARDOUR::framepos_t; @@ -76,10 +76,10 @@ class TimeAxisViewItem : public Selectable, public PBD::ScopedConnectionList void set_color (uint32_t); void set_name_text_color (); - uint32_t get_fill_color () const; + virtual uint32_t get_fill_color () const; ArdourCanvas::Item* get_canvas_frame(); - ArdourCanvas::Group* get_canvas_group(); + ArdourCanvas::Item* get_canvas_group(); ArdourCanvas::Item* get_name_highlight(); virtual void set_samples_per_pixel (double); @@ -95,9 +95,6 @@ class TimeAxisViewItem : public Selectable, public PBD::ScopedConnectionList virtual void lower () { return; } virtual void lower_to_bottom () { return; } - virtual void hide_rect (); - virtual void show_rect (); - /** @return true if the name area should respond to events */ bool name_active() const { return name_connected; } @@ -116,20 +113,6 @@ class TimeAxisViewItem : public Selectable, public PBD::ScopedConnectionList static double NAME_HIGHLIGHT_SIZE; static double NAME_HIGHLIGHT_THRESH; - /* if this is 1.0, we move the right boundary - of the item frame so that it is 1 pixel - after the end of the item. This gives nice - effects when splitting items. - - if this is zero, the right edge coincides - with the end of the item, and things don't - look so nice. - - this exists to allow easy debugging of the - two scenarios. - */ - static const double RIGHT_EDGE_SHIFT; - /** * Emitted when this Group has been removed. * This is different to the CatchDeletion signal in that this signal @@ -170,12 +153,12 @@ class TimeAxisViewItem : public Selectable, public PBD::ScopedConnectionList }; protected: - TimeAxisViewItem (const std::string &, ArdourCanvas::Group&, TimeAxisView&, double, uint32_t fill_color, + TimeAxisViewItem (const std::string &, ArdourCanvas::Item&, TimeAxisView&, double, uint32_t fill_color, framepos_t, framecnt_t, bool recording = false, bool automation = false, Visibility v = Visibility (0)); TimeAxisViewItem (const TimeAxisViewItem&); - void init (ArdourCanvas::Group*, double, uint32_t, framepos_t, framepos_t, Visibility, bool, bool); + void init (ArdourCanvas::Item*, double, uint32_t, framepos_t, framepos_t, Visibility, bool, bool); virtual bool canvas_group_event (GdkEvent*); @@ -227,22 +210,16 @@ class TimeAxisViewItem : public Selectable, public PBD::ScopedConnectionList /** true if the name should respond to events */ bool name_connected; - /** true if a small vestigial rect should be shown when the item gets very narrow */ - bool show_vestigial; - uint32_t fill_color; - virtual uint32_t fill_opacity() const; - uint32_t last_item_width; int name_text_width; bool wide_enough_for_name; bool high_enough_for_name; - bool rect_visible; - ArdourCanvas::Group* group; - ArdourCanvas::Rectangle* vestigial_frame; + ArdourCanvas::Container* group; ArdourCanvas::Rectangle* frame; + ArdourCanvas::Rectangle* selection_frame; ArdourCanvas::Text* name_text; ArdourCanvas::Rectangle* name_highlight; @@ -254,12 +231,13 @@ class TimeAxisViewItem : public Selectable, public PBD::ScopedConnectionList double _height; Visibility visibility; + std::string fill_color_name; bool _recregion; bool _automation; ///< true if this is an automation region view bool _dragging; + double _width; private: - double _width; void parameter_changed (std::string); void manage_name_highlight ();