]> git.donarmstrong.com Git - lilypond.git/commitdiff
Add line-style 'none for hidden lines.
authorNeil Puttock <n.puttock@gmail.com>
Mon, 7 Jun 2010 20:49:31 +0000 (21:49 +0100)
committerNeil Puttock <n.puttock@gmail.com>
Mon, 7 Jun 2010 20:49:31 +0000 (21:49 +0100)
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
lily/line-interface.cc

index e2b9c99b73dba7ac8396ba9053812d6e564bb525..3c58a6913d8753e217e68c9a47e4ac6f95f2bb81 100644 (file)
@@ -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'' {
   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
 }
index 3134e04a2a8a1d14303a730dad8469811a29f96f..634ec084a8838be32b68c543f21eeb6a7833dd47 100644 (file)
 
 #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 ")
-
+              );