Outline highlighted labels in red.

git-svn-id: svn://localhost/ardour2/branches/3.0@5389 d708f5d6-7413-0410-9779-e7cbd77b26cf
This commit is contained in:
Carl Hetherington 2009-07-19 21:46:38 +00:00
parent 82f31ffc79
commit 9f5b9f3c3e
6 changed files with 44 additions and 42 deletions

View file

@ -161,12 +161,12 @@ PortMatrixRowLabels::render (cairo_t* cr)
PortGroup::BundleList const & bundles = (*i)->bundles ();
for (PortGroup::BundleList::const_iterator j = bundles.begin(); j != bundles.end(); ++j) {
render_bundle_name (cr, j->has_colour ? j->colour : get_a_bundle_colour (N), 0, y, j->bundle);
render_bundle_name (cr, background_colour (), j->has_colour ? j->colour : get_a_bundle_colour (N), 0, y, j->bundle);
if (!_matrix->show_only_bundles()) {
for (uint32_t k = 0; k < j->bundle->nchannels(); ++k) {
Gdk::Color c = j->has_colour ? j->colour : get_a_bundle_colour (M);
render_channel_name (cr, c, 0, y, ARDOUR::BundleChannel (j->bundle, k));
render_channel_name (cr, background_colour (), c, 0, y, ARDOUR::BundleChannel (j->bundle, k));
y += grid_spacing();
++M;
}
@ -276,16 +276,16 @@ PortMatrixRowLabels::port_name_x () const
void
PortMatrixRowLabels::render_bundle_name (
cairo_t* cr, Gdk::Color colour, double xoff, double yoff, boost::shared_ptr<ARDOUR::Bundle> b
cairo_t* cr, Gdk::Color fg_colour, Gdk::Color bg_colour, double xoff, double yoff, boost::shared_ptr<ARDOUR::Bundle> b
)
{
double const x = bundle_name_x ();
int const n = _matrix->show_only_bundles() ? 1 : b->nchannels();
set_source_rgb (cr, colour);
set_source_rgb (cr, bg_colour);
cairo_rectangle (cr, xoff + x, yoff, _longest_bundle_name + name_pad() * 2, grid_spacing() * n);
cairo_fill_preserve (cr);
set_source_rgb (cr, background_colour());
set_source_rgb (cr, fg_colour);
cairo_set_line_width (cr, label_border_width ());
cairo_stroke (cr);
@ -305,13 +305,13 @@ PortMatrixRowLabels::render_bundle_name (
void
PortMatrixRowLabels::render_channel_name (
cairo_t* cr, Gdk::Color colour, double xoff, double yoff, ARDOUR::BundleChannel const& bc
cairo_t* cr, Gdk::Color fg_colour, Gdk::Color bg_colour, double xoff, double yoff, ARDOUR::BundleChannel const& bc
)
{
set_source_rgb (cr, colour);
set_source_rgb (cr, bg_colour);
cairo_rectangle (cr, port_name_x() + xoff, yoff, _longest_port_name + name_pad() * 2, grid_spacing());
cairo_fill_preserve (cr);
set_source_rgb (cr, background_colour());
set_source_rgb (cr, fg_colour);
cairo_set_line_width (cr, label_border_width ());
cairo_stroke (cr);
@ -343,17 +343,17 @@ PortMatrixRowLabels::queue_draw_for (ARDOUR::BundleChannel const & bc)
if (_matrix->show_only_bundles()) {
_body->queue_draw_area (
component_to_parent_x (bundle_name_x()),
component_to_parent_y (channel_y (bc)),
_longest_bundle_name + name_pad() * 2,
grid_spacing()
component_to_parent_x (bundle_name_x()) - 1,
component_to_parent_y (channel_y (bc)) - 1,
_longest_bundle_name + name_pad() * 2 + 2,
grid_spacing() + 2
);
} else {
_body->queue_draw_area (
component_to_parent_x (port_name_x()),
component_to_parent_y (channel_y (bc)),
_longest_port_name + name_pad() * 2,
grid_spacing()
component_to_parent_x (port_name_x()) - 1,
component_to_parent_y (channel_y (bc)) - 1,
_longest_port_name + name_pad() * 2 + 2,
grid_spacing() + 2
);
}
}