- /* rectangle */
- set_source_rgb (cr, get_a_group_colour (g));
- double const rw = _highest_group_name + 2 * name_pad();
- cairo_rectangle (cr, x, y, rw, h);
- cairo_fill (cr);
-
- /* hence what abbreviation (or not) we need for the group name */
- std::string const upper = Glib::ustring ((*i)->name).uppercase ();
- std::pair<std::string, double> display = fit_to_pixels (cr, upper, h);
-
- /* plot it */
- set_source_rgb (cr, text_colour());
- cairo_move_to (cr, x + rw - name_pad(), y + (h + display.second) / 2);
- cairo_save (cr);
- cairo_rotate (cr, - M_PI / 2);
- cairo_show_text (cr, display.first.c_str());
- cairo_restore (cr);
-
- y += h;
- ++g;
- }
-
- /* BUNDLE NAMES */
-
- y = 0;
- int N = 0;
- PortGroup::BundleList const r = _matrix->rows()->bundles();
- for (PortGroup::BundleList::const_iterator i = r.begin(); i != r.end(); ++i) {
- render_bundle_name (cr, i->has_colour ? i->colour : get_a_bundle_colour (N), 0, y, i->bundle);
- int const n = _matrix->show_only_bundles() ? 1 : i->bundle->nchannels();
- y += row_height() * n;