X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Ftime_axis_view_item.cc;h=e6053906e05d68afc3f4b039259099823154d53f;hb=2558e52e22e3fc604e68a469e9a41608f9166148;hp=0d5f649a99b8f9f011b12c652836426baaafa007;hpb=318a9edab99606d7fbf7eb21d816c7416c76b894;p=ardour.git diff --git a/gtk2_ardour/time_axis_view_item.cc b/gtk2_ardour/time_axis_view_item.cc index 0d5f649a99..e6053906e0 100644 --- a/gtk2_ardour/time_axis_view_item.cc +++ b/gtk2_ardour/time_axis_view_item.cc @@ -95,7 +95,7 @@ TimeAxisViewItem::set_constant_heights () Y_OFFSET is measured from the top of the time axis view item. */ - if (Config->get_show_name_highlight()) { + if (ARDOUR_UI::config()->get_show_name_highlight()) { NAME_Y_OFFSET = height + 1; NAME_HIGHLIGHT_SIZE = height + 2; } else { @@ -169,6 +169,7 @@ TimeAxisViewItem::init (ArdourCanvas::Item* parent, double fpp, uint32_t base_co group->Event.connect (sigc::mem_fun (*this, &TimeAxisViewItem::canvas_group_event)); fill_color = base_color; + fill_color_name = "time axis view item base"; samples_per_pixel = fpp; frame_position = start; item_duration = duration; @@ -183,7 +184,6 @@ TimeAxisViewItem::init (ArdourCanvas::Item* parent, double fpp, uint32_t base_co last_item_width = 0; wide_enough_for_name = wide; high_enough_for_name = high; - rect_visible = true; vestigial_frame = 0; if (duration == 0) { @@ -201,13 +201,13 @@ TimeAxisViewItem::init (ArdourCanvas::Item* parent, double fpp, uint32_t base_co CANVAS_DEBUG_NAME (frame, string_compose ("frame for %1", get_item_name())); if (_recregion) { - frame->set_outline_color (ARDOUR_UI::config()->get_RecordingRect()); + frame->set_outline_color (ARDOUR_UI::config()->color ("recording rect")); } else { - frame->set_outline_color (ARDOUR_UI::config()->get_TimeAxisFrame()); + frame->set_outline_color (ARDOUR_UI::config()->color ("time axis frame")); } } - if (Config->get_show_name_highlight() && (visibility & ShowNameHighlight)) { + if (ARDOUR_UI::config()->get_show_name_highlight() && (visibility & ShowNameHighlight)) { double width; double start = 1.0; @@ -235,7 +235,7 @@ TimeAxisViewItem::init (ArdourCanvas::Item* parent, double fpp, uint32_t base_co if (visibility & ShowNameText) { name_text = new ArdourCanvas::Text (group); CANVAS_DEBUG_NAME (name_text, string_compose ("name text for %1", get_item_name())); - if (Config->get_show_name_highlight()) { + if (ARDOUR_UI::config()->get_show_name_highlight()) { name_text->set_position (ArdourCanvas::Duple (NAME_X_OFFSET, trackview.current_height() - NAME_Y_OFFSET)); } else { name_text->set_position (ArdourCanvas::Duple (NAME_X_OFFSET, NAME_Y_OFFSET)); @@ -286,30 +286,6 @@ TimeAxisViewItem::canvas_group_event (GdkEvent* /*ev*/) return false; } -void -TimeAxisViewItem::hide_rect () -{ - rect_visible = false; - set_frame_color (); - - if (name_highlight) { - name_highlight->set_outline_what (ArdourCanvas::Rectangle::What (0)); - name_highlight->set_fill_color (UINT_RGBA_CHANGE_A (fill_color, 64)); - } -} - -void -TimeAxisViewItem::show_rect () -{ - rect_visible = true; - set_frame_color (); - - if (name_highlight) { - name_highlight->set_outline_what (ArdourCanvas::Rectangle::TOP); - name_highlight->set_fill_color (fill_color); - } -} - /** * Set the position of this item on the timeline. * @@ -537,7 +513,7 @@ TimeAxisViewItem::set_selected(bool yn) if (!selection_frame) { selection_frame = new ArdourCanvas::TimeRectangle (group); selection_frame->set_fill (false); - selection_frame->set_outline_color (ARDOUR_UI::config()->get_SelectedTimeAxisFrame()); + selection_frame->set_outline_color (ARDOUR_UI::config()->color ("selected time axis frame")); selection_frame->set_ignore_events (true); } selection_frame->set (frame->get().shrink (1.0)); @@ -588,7 +564,7 @@ TimeAxisViewItem::set_height (double height) manage_name_highlight (); if (visibility & ShowNameText) { - if (Config->get_show_name_highlight()) { + if (ARDOUR_UI::config()->get_show_name_highlight()) { name_text->set_y_position (height - NAME_Y_OFFSET); } else { name_text->set_y_position (NAME_Y_OFFSET); @@ -700,7 +676,7 @@ TimeAxisViewItem::set_name_text_color () uint32_t f; - if (Config->get_show_name_highlight()) { + if (ARDOUR_UI::config()->get_show_name_highlight()) { /* name text will always be on top of name highlight, which will always use our fill color. */ @@ -715,58 +691,30 @@ TimeAxisViewItem::set_name_text_color () name_text->set_color (ArdourCanvas::contrasting_text_color (f)); } -uint32_t -TimeAxisViewItem::fill_opacity () const -{ - if (!rect_visible) { - /* if the frame/rect is marked as "invisible", then the - fill should be translucent.parent. - */ - return 64; - } - - if (_dragging) { - return 130; - } - - uint32_t col = ARDOUR_UI::config()->get_FrameBase(); - return UINT_RGBA_A (col); -} - -uint32_t +ArdourCanvas::Color TimeAxisViewItem::get_fill_color () const { - uint32_t f; - uint32_t o; - - o = fill_opacity (); + ArdourCanvas::Color c; + const std::string mod_name = (_dragging ? "dragging region" : fill_color_name); if (_selected) { - f = ARDOUR_UI::config()->get_SelectedFrameBase(); + c = ARDOUR_UI::config()->color_mod ("selected region base", mod_name); - if (o == 0) { - /* some condition of this item has set fill opacity to - * zero, but it has been selected, so use a mid-way - * alpha value to make it reasonably visible. - */ - o = 130; - } - } else { if (_recregion) { - f = ARDOUR_UI::config()->get_RecordingRect(); + c = ARDOUR_UI::config()->color ("recording rect"); } else { - if ((!Config->get_show_name_highlight() || high_enough_for_name) && !ARDOUR_UI::config()->get_color_regions_using_track_color()) { - f = ARDOUR_UI::config()->get_FrameBase(); + if ((!ARDOUR_UI::config()->get_show_name_highlight() || high_enough_for_name) && !ARDOUR_UI::config()->get_color_regions_using_track_color()) { + c = ARDOUR_UI::config()->color_mod (fill_color_name, mod_name); } else { - f = fill_color; + c = ARDOUR_UI::config()->color_mod (fill_color, mod_name); } } } - return UINT_RGBA_CHANGE_A (f, o); + return c; } /** @@ -783,14 +731,7 @@ TimeAxisViewItem::set_frame_color() set_frame_gradient (); if (!_recregion) { - uint32_t f = ARDOUR_UI::config()->get_TimeAxisFrame(); - - if (!rect_visible) { - /* make the frame outline be visible but rather transparent */ - f = UINT_RGBA_CHANGE_A (f, 64); - } - - frame->set_outline_color (f); + frame->set_outline_color (ARDOUR_UI::config()->color ("time axis frame")); } } @@ -858,13 +799,10 @@ TimeAxisViewItem::frame_handle_crossing (GdkEvent* ev, ArdourCanvas::Rectangle* item->set_fill (false); break; case GDK_ENTER_NOTIFY: - if (trackview.editor().effective_mouse_mode() == Editing::MouseObject && - !trackview.editor().internal_editing()) { - /* never set this to be visible in internal - edit mode. Note, however, that we do need to - undo visibility (LEAVE_NOTIFY case above) no - matter what the mode is. - */ + if (trackview.editor().effective_mouse_mode() == Editing::MouseObject) { + /* Never set this to be visible in other modes. Note, however, + that we do need to undo visibility (LEAVE_NOTIFY case above) no + matter what the mode is. */ item->set_fill (true); } break; @@ -910,8 +848,8 @@ TimeAxisViewItem::reset_width_dependent_items (double pixel_width) if (!vestigial_frame) { vestigial_frame = new ArdourCanvas::TimeRectangle (group, ArdourCanvas::Rect (0.0, 0.0, 2.0, trackview.current_height())); CANVAS_DEBUG_NAME (vestigial_frame, string_compose ("vestigial frame for %1", get_item_name())); - vestigial_frame->set_outline_color (ARDOUR_UI::config()->get_VestigialFrame()); - vestigial_frame->set_fill_color (ARDOUR_UI::config()->get_VestigialFrame()); + vestigial_frame->set_outline_color (ARDOUR_UI::config()->color ("vestigial frame")); + vestigial_frame->set_fill_color (ARDOUR_UI::config()->color ("vestigial frame")); vestigial_frame->set_outline_what (ArdourCanvas::Rectangle::What (ArdourCanvas::Rectangle::LEFT|ArdourCanvas::Rectangle::RIGHT)); }