summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNeil Puttock <n.puttock@gmail.com>2010-06-07 21:49:31 +0100
committerNeil Puttock <n.puttock@gmail.com>2010-06-07 21:49:31 +0100
commit40085ea3236993f049ef56433ad1c13a9ba3212e (patch)
tree1643c7cddb06a13f150ceb84e560ff0478d5d3f7
parent5d6b0104ce22f859eb46b684b785e19bb05ac96a (diff)
Add line-style 'none for hidden lines.
This simplifies checks in other engravers for hidden lines. * input/regression/line-style.ly: add test for 'none * lily/line-interface.cc (line): return empty stencil if style = 'none
-rw-r--r--input/regression/line-style.ly14
-rw-r--r--lily/line-interface.cc37
2 files changed, 25 insertions, 26 deletions
diff --git a/input/regression/line-style.ly b/input/regression/line-style.ly
index e2b9c99b73..3c58a6913d 100644
--- a/input/regression/line-style.ly
+++ b/input/regression/line-style.ly
@@ -1,10 +1,7 @@
+\version "2.13.24"
+
\header {
- texidoc = "Cover all line styles available"
-
-}
-\version "2.12.0"
-\paper {
- ragged-right = ##T
+ texidoc = "Cover all line styles available."
}
\relative c'' {
@@ -16,9 +13,12 @@
d,2 \glissando d'2
\override Glissando #'style = #'dotted-line
d,2 \glissando d'2
-
+
\override Glissando #'style = #'zigzag
d,2 \glissando d'2
\override Glissando #'style = #'trill
d,2 \glissando d'2
+
+ \override Glissando #'style = #'none
+ d,2 \glissando d'2
}
diff --git a/lily/line-interface.cc b/lily/line-interface.cc
index 3134e04a2a..634ec084a8 100644
--- a/lily/line-interface.cc
+++ b/lily/line-interface.cc
@@ -19,11 +19,11 @@
#include "line-interface.hh"
-#include "staff-symbol-referencer.hh"
+#include "font-interface.hh"
+#include "grob.hh"
#include "lookup.hh"
#include "output-def.hh"
-#include "grob.hh"
-#include "font-interface.hh"
+#include "staff-symbol-referencer.hh"
Stencil
Line_interface::make_arrow (Offset begin, Offset end,
@@ -48,7 +48,7 @@ Line_interface::make_trill_line (Grob *me,
Offset from,
Offset to)
{
- Offset dz = (to-from);
+ Offset dz = (to - from);
Font_metric *fm = Font_interface::get_default_font (me);
@@ -82,7 +82,7 @@ Line_interface::make_zigzag_line (Grob *me,
Offset from,
Offset to)
{
- Offset dz = to -from;
+ Offset dz = to - from;
Real thick = Staff_symbol_referencer::line_thickness (me);
thick *= robust_scm2double (me->get_property ("thickness"), 1.0); // todo: staff sym referencer?
@@ -203,11 +203,11 @@ Line_interface::line (Grob *me, Offset from, Offset to)
SCM type = me->get_property ("style");
if (type == ly_symbol2scm ("zigzag"))
- {
- return make_zigzag_line (me, from, to);
- }
+ return make_zigzag_line (me, from, to);
else if (type == ly_symbol2scm ("trill"))
return make_trill_line (me, from, to);
+ else if (type == ly_symbol2scm ("none"))
+ return Stencil ();
Stencil stencil;
@@ -226,7 +226,7 @@ Line_interface::line (Grob *me, Offset from, Offset to)
if (period <= 0)
return Stencil ();
- Real len = (to-from).length ();
+ Real len = (to - from).length ();
int n = (int) rint ((len - period * fraction) / period);
n = max (0, n);
@@ -236,7 +236,7 @@ Line_interface::line (Grob *me, Offset from, Offset to)
TODO: figure out something intelligent for really short
sections.
*/
- period = ((to-from).length () - period * fraction) / n;
+ period = ((to - from).length () - period * fraction) / n;
}
stencil = make_dashed_line (thick, from, to, period, fraction);
}
@@ -249,21 +249,20 @@ Line_interface::line (Grob *me, Offset from, Offset to)
ADD_INTERFACE (Line_interface,
"Generic line objects. Any object using lines supports this."
" The property @code{style} can be @code{line},"
- " @code{dashed-line}, @code{trill}, @code{dotted-line} or"
- " @code{zigzag}.\n"
+ " @code{dashed-line}, @code{trill}, @code{dotted-line},"
+ " @code{zigzag} or @code{none} (a transparent line).\n"
"\n"
"For @code{dashed-line}, the length of the dashes is tuned"
" with @code{dash-fraction}. If the latter is set to@tie{}0, a"
- " dotted line is produced. If @code{dash-period} is negative,"
- " the line is made transparent.",
+ " dotted line is produced.",
/* properties */
- "dash-period "
+ "arrow-length "
+ "arrow-width "
"dash-fraction "
- "thickness "
+ "dash-period "
"style "
+ "thickness "
"zigzag-length "
"zigzag-width "
- "arrow-length "
- "arrow-width ")
-
+ );