]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/line-interface.cc
* lily/main.cc (setup_guile_env): new function. Set GC min_yields
[lilypond.git] / lily / line-interface.cc
index 8262a014f900e6f47d33c9fda7e34ede6fd1a054..81019e210ee0718db5ef5ffa1ba9b8290ff93b41 100644 (file)
@@ -17,7 +17,7 @@ Line_interface::make_arrow (Offset begin, Offset end,
                            Real thick,
                            Real length, Real width)
 {
-  Real angle = (end - begin).arg();
+  Real angle = (end - begin).arg ();
   Array<Offset> points;
   
   points.push (Offset (0, 0));
@@ -34,16 +34,16 @@ Stencil
 Line_interface::make_dashed_line (Real thick, Offset from, Offset to,
                                  Real dash_period, Real dash_fraction)
 {
-  dash_fraction = (dash_fraction >? 0) <? 1.0;
+  dash_fraction = min (max (dash_fraction, 0.0), 1.0);
   Real on = dash_fraction * dash_period + thick;
   Real off = dash_period - on;
 
   SCM at = scm_list_n (ly_symbol2scm ("dashed-line"),
-                      scm_make_real (thick),
-                      scm_make_real (on),
-                      scm_make_real (off),
-                      scm_make_real (to[X_AXIS] - from[X_AXIS]),
-                      scm_make_real (to[Y_AXIS] - from[Y_AXIS]),
+                      scm_from_double (thick),
+                      scm_from_double (on),
+                      scm_from_double (off),
+                      scm_from_double (to[X_AXIS] - from[X_AXIS]),
+                      scm_from_double (to[Y_AXIS] - from[Y_AXIS]),
                       SCM_UNDEFINED);
 
   Box box;
@@ -62,11 +62,11 @@ Stencil
 Line_interface::make_line (Real th, Offset from, Offset to)
 {
   SCM at = scm_list_n (ly_symbol2scm ("draw-line"),
-                      scm_make_real (th),
-                      scm_make_real (from[X_AXIS]),
-                      scm_make_real (from[Y_AXIS]),
-                      scm_make_real (to[X_AXIS]),
-                      scm_make_real (to[Y_AXIS]),
+                      scm_from_double (th),
+                      scm_from_double (from[X_AXIS]),
+                      scm_from_double (from[Y_AXIS]),
+                      scm_from_double (to[X_AXIS]),
+                      scm_from_double (to[Y_AXIS]),
                       SCM_UNDEFINED);
 
   Box box;
@@ -113,7 +113,7 @@ Line_interface::line (Grob *me, Offset from, Offset to)
 
   SCM type = me->get_property ("style");
 
-  Stencil l;
+  Stencil stil;
   
   SCM dash_fraction = me->get_property ("dash-fraction");
   if (scm_is_number (dash_fraction) || type == ly_symbol2scm ("dotted-line"))
@@ -124,21 +124,19 @@ Line_interface::line (Grob *me, Offset from, Offset to)
        ? 0.0
        : robust_scm2double (dash_fraction, 0.4);
 
-      fraction = (fraction >? 0) <? 1.0;
+      fraction = min (max (fraction, 0.0), 1.0);
       Real period = Staff_symbol_referencer::staff_space (me)
        * robust_scm2double (me->get_property ("dash-period"), 1.0);
 
       if (period < 0)
        return Stencil ();
 
-      l =  make_dashed_line (thick, from, to, period, fraction);
+      stil =  make_dashed_line (thick, from, to, period, fraction);
     }
   else
-    {
-      l =  make_line (thick, from, to);
-    }
+    stil =  make_line (thick, from, to);
 
-  return l;
+  return stil;
 }
 
 ADD_INTERFACE (Line_interface, "line-interface",