X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Ftime_axis_view_item.h;h=5bcaa485450eef833b05dd5aa9fa44b78963858b;hb=11e907770a0a7bceea240de30517f2237e5fe128;hp=26f8c07f7aaf3338ed80260161c15804b8f034c5;hpb=ce91b0953b1f45fb378ab7ea72cfefbb607000e6;p=ardour.git diff --git a/gtk2_ardour/time_axis_view_item.h b/gtk2_ardour/time_axis_view_item.h index 26f8c07f7a..5bcaa48545 100644 --- a/gtk2_ardour/time_axis_view_item.h +++ b/gtk2_ardour/time_axis_view_item.h @@ -82,16 +82,19 @@ class TimeAxisViewItem : public Selectable, public PBD::ScopedConnectionList virtual void raise_to_top () { return; } 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; } // Default sizes, font and spacing - static Pango::FontDescription* NAME_FONT; + static Pango::FontDescription NAME_FONT; static void set_constant_heights (); static const double NAME_X_OFFSET; static const double GRAB_HANDLE_LENGTH; - + /* these are not constant, but vary with the pixel size of the font used to display the item name. */ @@ -112,22 +115,22 @@ class TimeAxisViewItem : public Selectable, public PBD::ScopedConnectionList /** Emitted when the name of this item is changed */ sigc::signal NameChanged; - + /** Emiited when the position of this item changes */ sigc::signal PositionChanged; - + /** Emitted when the position lock of this item is changed */ sigc::signal PositionLockChanged; - + /** Emitted when the duration of this item changes */ sigc::signal DurationChanged; - + /** Emitted when the maximum item duration is changed */ sigc::signal MaxDurationChanged; - + /** Emitted when the mionimum item duration is changed */ sigc::signal MinDurationChanged; - + enum Visibility { ShowFrame = 0x1, ShowNameHighlight = 0x2, @@ -138,13 +141,13 @@ class TimeAxisViewItem : public Selectable, public PBD::ScopedConnectionList HideFrameTB = 0x40, FullWidthNameHighlight = 0x80 }; - + protected: TimeAxisViewItem(const std::string &, ArdourCanvas::Group&, TimeAxisView&, double, Gdk::Color const &, framepos_t, framepos_t, bool recording = false, bool automation = false, Visibility v = Visibility (0)); - + TimeAxisViewItem (const TimeAxisViewItem&); - + void init (const std::string&, double, Gdk::Color const &, framepos_t, framepos_t, Visibility, bool, bool); virtual void compute_colors (Gdk::Color const &); @@ -155,39 +158,39 @@ class TimeAxisViewItem : public Selectable, public PBD::ScopedConnectionList virtual void reset_width_dependent_items (double); void reset_name_width (double); void update_name_pixbuf_visibility (); - + static gint idle_remove_this_item(TimeAxisViewItem*, void*); - + /** time axis that this item is on */ TimeAxisView& trackview; - + /** indicates whether this item is locked to its current position */ bool position_locked; - + /** position of this item on the timeline */ framepos_t frame_position; /** duration of this item upon the timeline */ framecnt_t item_duration; - + /** maximum duration that this item can have */ framecnt_t max_item_duration; - + /** minimum duration that this item can have */ framecnt_t min_item_duration; - + /** indicates whether the max duration constraint is active */ bool max_duration_active; - + /** indicates whether the min duration constraint is active */ bool min_duration_active; - + /** samples per canvas unit */ double samples_per_unit; /** should the item respond to events */ bool _sensitive; - + /** * The unique item name of this Item. * Each item upon a time axis must have a unique id. @@ -209,7 +212,7 @@ class TimeAxisViewItem : public Selectable, public PBD::ScopedConnectionList uint32_t selected_frame_color_g; uint32_t selected_frame_color_b; uint32_t label_color; - + uint32_t handle_color_r; uint32_t handle_color_g; uint32_t handle_color_b; @@ -220,7 +223,8 @@ class TimeAxisViewItem : public Selectable, public PBD::ScopedConnectionList int name_pixbuf_width; bool wide_enough_for_name; bool high_enough_for_name; - + bool rect_visible; + ArdourCanvas::Group* group; ArdourCanvas::SimpleRect* vestigial_frame; ArdourCanvas::SimpleRect* frame; @@ -230,12 +234,16 @@ class TimeAxisViewItem : public Selectable, public PBD::ScopedConnectionList /* with these two values, if frame_handle_start == 0 then frame_handle_end will also be 0 */ ArdourCanvas::SimpleRect* frame_handle_start; ///< `frame' (fade) handle for the start of the item, or 0 ArdourCanvas::SimpleRect* frame_handle_end; ///< `frame' (fade) handle for the end of the item, or 0 - + double _height; Visibility visibility; bool _recregion; bool _automation; ///< true if this is an automation region view - + +private: + + void parameter_changed (std::string); + }; /* class TimeAxisViewItem */ #endif /* __gtk_ardour_time_axis_view_item_h__ */