From 40085ea3236993f049ef56433ad1c13a9ba3212e Mon Sep 17 00:00:00 2001 From: Neil Puttock Date: Mon, 7 Jun 2010 21:49:31 +0100 Subject: [PATCH] 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 --- input/regression/line-style.ly | 14 ++++++------- lily/line-interface.cc | 37 +++++++++++++++++----------------- 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 ") - + ); -- 2.39.2