Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code | Sign in
(777)

Unified Diff: lily/arpeggio.cc

Issue 326970043: Let arpeggio-bracket/slur depend on grob-property thickness (Closed)
Patch Set: let arpeggio-slur rely on grob-line-thickness as well Created 6 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Please Sign in to add in-line comments.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | scm/define-grobs.scm » ('j') | scm/define-grobs.scm » ('J')
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: lily/arpeggio.cc
diff --git a/lily/arpeggio.cc b/lily/arpeggio.cc
index 95da047a067bd5ced57ba29f53a0a2ee93405bbe..3f0d32fe81149baf362cf25e2ebc6126a9f4d1a5 100644
--- a/lily/arpeggio.cc
+++ b/lily/arpeggio.cc
@@ -189,12 +189,14 @@ Arpeggio::brew_chord_bracket (SCM smob)
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);
- 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 ();
}
@@ -209,7 +211,12 @@ Arpeggio::brew_chord_slur (SCM smob)
Interval ())
* Staff_symbol_referencer::staff_space (me);
- Real lt = me->layout ()->get_dimension (ly_symbol2scm ("line-thickness"));
+ Real lt
Carl 2017/08/01 12:45:59 I think lt should just be line-thickness, and th s
+ = 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;
@@ -217,7 +224,7 @@ Arpeggio::brew_chord_slur (SCM smob)
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 ();
}
@@ -251,9 +258,11 @@ ADD_INTERFACE (Arpeggio,
/* properties */
"arpeggio-direction "
"dash-definition " // TODO: make apply to non-slur arpeggios
+ "line-thickness "
Carl 2017/08/01 12:45:59 I think that only thickness should be added
"positions "
"protrusion "
"script-priority " // TODO: make around-note-interface
"stems "
+ "thickness "
);
« no previous file with comments | « no previous file | scm/define-grobs.scm » ('j') | scm/define-grobs.scm » ('J')

Powered by Google App Engine
RSS Feeds Recent Issues | This issue
This is Rietveld f62528b