{
Glib::RefPtr<Gdk::Window> win (w.get_window());
- bool tickleft;
+ bool tickleft, tickright;
bool background;
gint width, height;
win->get_size (width, height);
tickleft = w.get_name().substr(w.get_name().length() - 4) == "Left";
- background = types.size() == 0 || tickleft || w.get_name().substr(w.get_name().length() - 5) == "Right";
+ tickright = w.get_name().substr(w.get_name().length() - 5) == "Right";
+ background = types.size() == 0 || tickleft || tickright;
+
+ if (!tickleft && !tickright) {
+ tickright = true;
+ }
cairo_surface_t* surface = cairo_image_surface_create (CAIRO_FORMAT_RGB24, width, height);
cairo_t* cr = cairo_create (surface);
Pango::AttrFontDesc* font_attr;
Pango::FontDescription font;
- font = Pango::FontDescription (""); // use defaults
- //font = get_font_for_style("gain-fader");
- //font = w.get_style()->get_font();
+ font = Pango::FontDescription ("ArdourMono");
+ double fixfontsize = 81920.0 / (double) ARDOUR::Config->get_font_scale();
font.set_weight (Pango::WEIGHT_NORMAL);
- font.set_size (9.0 * PANGO_SCALE);
+ font.set_size (9.0 * PANGO_SCALE * fixfontsize);
font_attr = new Pango::AttrFontDesc (Pango::Attribute::create_attr_font_desc (font));
audio_font_attributes.change (*font_attr);
delete font_attr;
font.set_weight (Pango::WEIGHT_ULTRALIGHT);
font.set_stretch (Pango::STRETCH_ULTRA_CONDENSED);
- font.set_size (7.5 * PANGO_SCALE);
+ font.set_size (8.0 * PANGO_SCALE * fixfontsize);
font_attr = new Pango::AttrFontDesc (Pango::Attribute::create_attr_font_desc (font));
midi_font_attributes.change (*font_attr);
delete font_attr;
- font.set_size (7.0 * PANGO_SCALE);
+ font.set_size (6.0 * PANGO_SCALE * fixfontsize);
font_attr = new Pango::AttrFontDesc (Pango::Attribute::create_attr_font_desc (font));
unit_font_attributes.change (*font_attr);
delete font_attr;
if (tickleft) {
cairo_move_to(cr, width-1.5, pos + .5);
cairo_line_to(cr, width, pos + .5);
- } else {
+ cairo_stroke (cr);
+ } else if (tickright) {
cairo_move_to(cr, 0, pos + .5);
cairo_line_to(cr, 1.5, pos + .5);
+ cairo_stroke (cr);
}
- cairo_stroke (cr);
break;
case DataType::MIDI:
cairo_set_line_width (cr, 1.0);
pos = min (pos, height);
if (tickleft) {
cairo_arc(cr, width - 2.0, pos + .5, 1.0, 0, 2 * M_PI);
- } else {
+ cairo_fill(cr);
+ } else if (tickright) {
cairo_arc(cr, 3, pos + .5, 1.0, 0, 2 * M_PI);
+ cairo_fill(cr);
}
- cairo_fill(cr);
break;
}
int tw, th;
layout->get_pixel_size(tw, th);
- int p = pos - (th / 2);
+ int p = pos - (th / 2) - 1;
p = min (p, height - th);
p = max (p, 0);