Before, used thickness based only on line-thickness from layout.
For brackets it's now the multiplication of line-thickness and grob's
thickness.
Slur-style-arpeggios now rely on grob-properties thickness and
line-thickness, both multiplies with layout line-thickness.
Similiar to real Slurs.
Interval ())
* Staff_symbol_referencer::staff_space (me);
Interval ())
* Staff_symbol_referencer::staff_space (me);
- Real lt = me->layout ()->get_dimension (ly_symbol2scm ("line-thickness"));
+ Real th
+ = me->layout ()->get_dimension (ly_symbol2scm ("line-thickness"))
+ * robust_scm2double (me->get_property ("thickness"), 1);
Real sp = 1.5 * Staff_symbol_referencer::staff_space (me);
Real dy = heads.length () + sp;
Real x = robust_scm2double (me->get_property ("protrusion"), 0.4);
Real sp = 1.5 * Staff_symbol_referencer::staff_space (me);
Real dy = heads.length () + sp;
Real x = robust_scm2double (me->get_property ("protrusion"), 0.4);
- Stencil mol (Lookup::bracket (Y_AXIS, Interval (0, dy), lt, x, lt));
+ Stencil mol (Lookup::bracket (Y_AXIS, Interval (0, dy), th, x, th));
mol.translate_axis (heads[LEFT] - sp / 2.0, Y_AXIS);
return mol.smobbed_copy ();
}
mol.translate_axis (heads[LEFT] - sp / 2.0, Y_AXIS);
return mol.smobbed_copy ();
}
Interval ())
* Staff_symbol_referencer::staff_space (me);
Interval ())
* Staff_symbol_referencer::staff_space (me);
- Real lt = me->layout ()->get_dimension (ly_symbol2scm ("line-thickness"));
+ Real lt
+ = me->layout ()->get_dimension (ly_symbol2scm ("line-thickness"))
+ * robust_scm2double (me->get_property ("line-thickness"), 1.0);
+ Real th
+ = me->layout ()->get_dimension (ly_symbol2scm ("line-thickness"))
+ * robust_scm2double (me->get_property ("thickness"), 1.0);
Real dy = heads.length ();
Real height_limit = 1.5;
Real dy = heads.length ();
Real height_limit = 1.5;
Bezier curve = slur_shape (dy, height_limit, ratio);
curve.rotate (90.0);
Bezier curve = slur_shape (dy, height_limit, ratio);
curve.rotate (90.0);
- Stencil mol (Lookup::slur (curve, lt, lt, dash_definition));
+ Stencil mol (Lookup::slur (curve, th, lt, dash_definition));
mol.translate_axis (heads[LEFT], Y_AXIS);
return mol.smobbed_copy ();
}
mol.translate_axis (heads[LEFT], Y_AXIS);
return mol.smobbed_copy ();
}
/* properties */
"arpeggio-direction "
"dash-definition " // TODO: make apply to non-slur arpeggios
/* properties */
"arpeggio-direction "
"dash-definition " // TODO: make apply to non-slur arpeggios
"positions "
"protrusion "
"script-priority " // TODO: make around-note-interface
"stems "
"positions "
"protrusion "
"script-priority " // TODO: make around-note-interface
"stems "
. (
(cross-staff . ,ly:arpeggio::calc-cross-staff)
(direction . ,LEFT)
. (
(cross-staff . ,ly:arpeggio::calc-cross-staff)
(direction . ,LEFT)
(padding . 0.5)
(positions . ,ly:arpeggio::calc-positions)
(protrusion . 0.4)
(padding . 0.5)
(positions . ,ly:arpeggio::calc-positions)
(protrusion . 0.4)
(side-axis . ,X)
(staff-position . 0.0)
(stencil . ,ly:arpeggio::print)
(side-axis . ,X)
(staff-position . 0.0)
(stencil . ,ly:arpeggio::print)
(X-extent . ,ly:arpeggio::width)
(Y-extent . ,(grob::unpure-Y-extent-from-stencil ly:arpeggio::pure-height))
(X-offset . ,ly:side-position-interface::x-aligned-side)
(X-extent . ,ly:arpeggio::width)
(Y-extent . ,(grob::unpure-Y-extent-from-stencil ly:arpeggio::pure-height))
(X-offset . ,ly:side-position-interface::x-aligned-side)