summaryrefslogtreecommitdiff
path: root/gtk2_ardour/time_axis_view_item.cc
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2014-08-31 23:36:38 +0200
committerRobin Gareus <robin@gareus.org>2014-08-31 23:36:38 +0200
commitcb8ce297256b686c67cc5b5fc9bd30d76fffb428 (patch)
tree65654951ae5e1886e9eeb33d76f41909734bc472 /gtk2_ardour/time_axis_view_item.cc
parent4718def3c4830bb3fe880518b7cc84bef5c1b57a (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.cc31
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);