]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/line-interface.cc
Fix some bugs in the dynamic engraver and PostScript backend
[lilypond.git] / lily / line-interface.cc
index 81019e210ee0718db5ef5ffa1ba9b8290ff93b41..6401b3896ae942ced9333c9b101ab43582275ef4 100644 (file)
@@ -3,7 +3,7 @@
 
   source file of the GNU LilyPond music typesetter
 
-  (c) 2004--2005 Han-Wen Nienhuys <hanwen@xs4all.nl>
+  (c) 2004--2006 Han-Wen Nienhuys <hanwen@xs4all.nl>
 */
 
 #include "line-interface.hh"
@@ -18,15 +18,15 @@ Line_interface::make_arrow (Offset begin, Offset end,
                            Real length, Real width)
 {
   Real angle = (end - begin).arg ();
-  Array<Offset> points;
-  
-  points.push (Offset (0, 0));
-  points.push (Offset (-length, width));
-  points.push (Offset (-length, -width));
+  vector<Offset> points;
 
-  for (int i = 0; i < points.size(); i++)
+  points.push_back (Offset (0, 0));
+  points.push_back (Offset (-length, width));
+  points.push_back (Offset (-length, -width));
+
+  for (vsize i = 0; i < points.size (); i++)
     points[i] = points[i] * complex_exp (Offset (0, angle)) + end;
-    
+
   return Lookup::round_filled_polygon (points, thick);
 }
 
@@ -89,21 +89,20 @@ Line_interface::arrows (Grob *me, Offset from, Offset to,
     {
       Real thick = Staff_symbol_referencer::line_thickness (me)
        * robust_scm2double (me->get_property ("thickness"), 1);
-      Real ss =  Staff_symbol_referencer::staff_space (me);
-      
+      Real ss = Staff_symbol_referencer::staff_space (me);
+
       Real len = robust_scm2double (me->get_property ("arrow-length"), 1.3 * ss);
       Real wid = robust_scm2double (me->get_property ("arrow-width"), 0.5 * ss);
 
       if (to_arrow)
-        a.add_stencil (make_arrow (from, to, thick, len, wid));
-       
+       a.add_stencil (make_arrow (from, to, thick, len, wid));
+
       if (from_arrow)
-        a.add_stencil (make_arrow (to, from, thick, len, wid));
+       a.add_stencil (make_arrow (to, from, thick, len, wid));
     }
 
   return a;
 }
-                       
 
 Stencil
 Line_interface::line (Grob *me, Offset from, Offset to)
@@ -114,7 +113,7 @@ Line_interface::line (Grob *me, Offset from, Offset to)
   SCM type = me->get_property ("style");
 
   Stencil stil;
-  
+
   SCM dash_fraction = me->get_property ("dash-fraction");
   if (scm_is_number (dash_fraction) || type == ly_symbol2scm ("dotted-line"))
     {
@@ -131,10 +130,10 @@ Line_interface::line (Grob *me, Offset from, Offset to)
       if (period < 0)
        return Stencil ();
 
-      stil =  make_dashed_line (thick, from, to, period, fraction);
+      stil = make_dashed_line (thick, from, to, period, fraction);
     }
   else
-    stil =  make_line (thick, from, to);
+    stil = make_line (thick, from, to);
 
   return stil;
 }
@@ -147,4 +146,10 @@ ADD_INTERFACE (Line_interface, "line-interface",
               "produced. If @code{dash-fraction} is negative, the line is made "
               "transparent.",
 
-              "dash-period dash-fraction thickness style arrow-length arrow-width")
+              /* properties */
+              "dash-period "
+              "dash-fraction "
+              "thickness "
+              "style "
+              "arrow-length "
+              "arrow-width")