diff options
author | Robin Gareus <robin@gareus.org> | 2014-08-31 23:36:38 +0200 |
---|---|---|
committer | Robin Gareus <robin@gareus.org> | 2014-08-31 23:36:38 +0200 |
commit | cb8ce297256b686c67cc5b5fc9bd30d76fffb428 (patch) | |
tree | 65654951ae5e1886e9eeb33d76f41909734bc472 /gtk2_ardour/time_axis_view_item.cc | |
parent | 4718def3c4830bb3fe880518b7cc84bef5c1b57a (diff) |
rework track inset (amend 7d7b787 and bf13bf63):
Only inset red-selection rectangle (top & bottom).
Do not draw duplicate borders (waste pixels) for regular regions.
Diffstat (limited to 'gtk2_ardour/time_axis_view_item.cc')
-rw-r--r-- | gtk2_ardour/time_axis_view_item.cc | 31 |
1 files changed, 28 insertions, 3 deletions
diff --git a/gtk2_ardour/time_axis_view_item.cc b/gtk2_ardour/time_axis_view_item.cc index 4ed14f9199..74651f67f6 100644 --- a/gtk2_ardour/time_axis_view_item.cc +++ b/gtk2_ardour/time_axis_view_item.cc @@ -201,11 +201,11 @@ TimeAxisViewItem::init (ArdourCanvas::Item* parent, double fpp, uint32_t base_co trackview.current_height() - 1.0)); CANVAS_DEBUG_NAME (frame, string_compose ("frame for %1", get_item_name())); - + if (Config->get_show_name_highlight()) { frame->set_outline_what (ArdourCanvas::Rectangle::What (ArdourCanvas::Rectangle::LEFT|ArdourCanvas::Rectangle::RIGHT)); } else { - frame->set_outline_what (ArdourCanvas::Rectangle::What (ArdourCanvas::Rectangle::LEFT|ArdourCanvas::Rectangle::RIGHT|ArdourCanvas::Rectangle::BOTTOM|ArdourCanvas::Rectangle::TOP)); + frame->set_outline_what (ArdourCanvas::Rectangle::What (ArdourCanvas::Rectangle::LEFT|ArdourCanvas::Rectangle::RIGHT|ArdourCanvas::Rectangle::BOTTOM)); } if (_recregion) { @@ -543,6 +543,20 @@ TimeAxisViewItem::set_selected(bool yn) Selectable::set_selected (yn); set_frame_color (); set_name_text_color (); + + if (frame) { + if (!Config->get_show_name_highlight() && yn) { + frame->set_outline_what (ArdourCanvas::Rectangle::What (ArdourCanvas::Rectangle::LEFT|ArdourCanvas::Rectangle::RIGHT|ArdourCanvas::Rectangle::BOTTOM|ArdourCanvas::Rectangle::TOP)); + frame->set_y1 (_height - 1.0); + } else { + if (Config->get_show_name_highlight()) { + frame->set_outline_what (ArdourCanvas::Rectangle::What (ArdourCanvas::Rectangle::LEFT|ArdourCanvas::Rectangle::RIGHT)); + } else { + frame->set_outline_what (ArdourCanvas::Rectangle::What (ArdourCanvas::Rectangle::LEFT|ArdourCanvas::Rectangle::RIGHT|ArdourCanvas::Rectangle::BOTTOM)); + } + frame->set_y1 (_height); + } + } } } @@ -593,7 +607,18 @@ TimeAxisViewItem::set_height (double height) } if (frame) { - frame->set_y1 (height -1); + if (!Config->get_show_name_highlight() && _selected) { + frame->set_outline_what (ArdourCanvas::Rectangle::What (ArdourCanvas::Rectangle::LEFT|ArdourCanvas::Rectangle::RIGHT|ArdourCanvas::Rectangle::BOTTOM|ArdourCanvas::Rectangle::TOP)); + frame->set_y1 (_height - 1.0); + } else { + if (Config->get_show_name_highlight()) { + frame->set_outline_what (ArdourCanvas::Rectangle::What (ArdourCanvas::Rectangle::LEFT|ArdourCanvas::Rectangle::RIGHT)); + } else { + frame->set_outline_what (ArdourCanvas::Rectangle::What (ArdourCanvas::Rectangle::LEFT|ArdourCanvas::Rectangle::RIGHT|ArdourCanvas::Rectangle::BOTTOM)); + } + frame->set_y1 (_height); + } + if (frame_handle_start) { frame_handle_start->set_y1 (height); frame_handle_end->set_y1 (height); |