- /* draw position */
-
- position.position.cartesian (c);
- cart_to_gtk (c);
-
- cairo_new_path (cr);
- cairo_arc (cr, c.x, c.y, arc_radius + 1.0, 0, 2.0 * M_PI);
- cairo_set_source_rgba (cr, 1.0, 0.419, 0.419, 0.85);
- cairo_fill_preserve (cr);
- cairo_set_source_rgba (cr, 1.0, 0.905, 0.905, 0.85);
- cairo_stroke (cr);
-
- /* signals */
-
- if (signals.size() > 1) {
- for (Targets::iterator i = signals.begin(); i != signals.end(); ++i) {
- Target* signal = *i;
-
- if (signal->visible) {
-
- /* TODO check for overlap - multiple src at same position
- * -> visualize it properly
- */
- PBD::AngularVector sp = signal->position;
- if (!have_elevation) sp.ele = 0;
- sp.cartesian (c);
- cart_to_gtk (c);
-
- cairo_new_path (cr);
- cairo_arc (cr, c.x, c.y, arc_radius, 0, 2.0 * M_PI);
- cairo_set_source_rgba (cr, 0.282, 0.517, 0.662, 0.75);
- cairo_fill_preserve (cr);
- cairo_set_source_rgba (cr, 0.517, 0.772, 0.882, 0.8);
- cairo_stroke (cr);
-
- if (!small_size && !signal->text.empty()) {
- cairo_set_source_rgba (cr, 0.517, 0.772, 0.882, .9);
- /* the +/- adjustments are a hack to try to center the text in the circle
- * TODO use pango get_pixel_size() -- see mono_panner.cc
- */
- if (small_size) {
- cairo_move_to (cr, c.x - 1, c.y + 1);
- } else {
- cairo_move_to (cr, c.x - 4, c.y + 4);
- }
- cairo_show_text (cr, signal->text.c_str());
- }
- }
- }
- }