+ if (swidth < 0.0) {
+ /* flip where the L/R boxes are drawn */
+ swap (left, right);
+ }
+
+ /* left box */
+
+ left -= lr_box_size/2;
+ right -= lr_box_size/2;
+
+ cairo_rectangle (cr,
+ left,
+ (lr_box_size/2)+step_down,
+ lr_box_size, lr_box_size);
+ cairo_set_source_rgba (cr, UINT_RGBA_R_FLT(o), UINT_RGBA_G_FLT(o), UINT_RGBA_B_FLT(o), UINT_RGBA_A_FLT(o));
+ cairo_stroke_preserve (cr);
+ cairo_set_source_rgba (cr, UINT_RGBA_R_FLT(f), UINT_RGBA_G_FLT(f), UINT_RGBA_B_FLT(f), UINT_RGBA_A_FLT(f));
+ cairo_fill (cr);
+
+ /* add text */
+
+ cairo_move_to (cr,
+ left + 3,
+ (lr_box_size/2) + step_down + 13);
+ cairo_select_font_face (cr, "sans-serif", CAIRO_FONT_SLANT_NORMAL, CAIRO_FONT_WEIGHT_BOLD);
+ if (state != Mono) {
+ cairo_set_source_rgba (cr, UINT_RGBA_R_FLT(t), UINT_RGBA_G_FLT(t), UINT_RGBA_B_FLT(t), UINT_RGBA_A_FLT(t));
+ cairo_show_text (cr, "L");
+ }
+
+ /* right box */
+
+ cairo_rectangle (cr,
+ right,
+ (lr_box_size/2)+step_down,
+ lr_box_size, lr_box_size);
+ cairo_set_source_rgba (cr, UINT_RGBA_R_FLT(o), UINT_RGBA_G_FLT(o), UINT_RGBA_B_FLT(o), UINT_RGBA_A_FLT(o));
+ cairo_stroke_preserve (cr);
+ cairo_set_source_rgba (cr, UINT_RGBA_R_FLT(f), UINT_RGBA_G_FLT(f), UINT_RGBA_B_FLT(f), UINT_RGBA_A_FLT(f));
+ cairo_fill (cr);
+
+ /* add text */
+
+ cairo_move_to (cr,
+ right + 3,
+ (lr_box_size/2)+step_down + 13);
+ cairo_set_source_rgba (cr, UINT_RGBA_R_FLT(t), UINT_RGBA_G_FLT(t), UINT_RGBA_B_FLT(t), UINT_RGBA_A_FLT(t));
+ if (state == Mono) {
+ cairo_show_text (cr, "M");
+ } else {
+ cairo_show_text (cr, "R");
+ }
+
+ /* draw the central box */
+
+ cairo_set_line_width (cr, 1);
+ cairo_rectangle (cr, lrint (center - (pos_box_size/2.0)), top_step, pos_box_size, pos_box_size);
+ cairo_set_source_rgba (cr, UINT_RGBA_R_FLT(o), UINT_RGBA_G_FLT(o), UINT_RGBA_B_FLT(o), UINT_RGBA_A_FLT(o));
+ cairo_stroke_preserve (cr);
+ cairo_set_source_rgba (cr, UINT_RGBA_R_FLT(f), UINT_RGBA_G_FLT(f), UINT_RGBA_B_FLT(f), UINT_RGBA_A_FLT(f));
+ cairo_fill (cr);
+
+ /* done */
+