]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/align-interface.cc
Issue 5167/6: Changes: show \markup xxx = ... \etc assignments
[lilypond.git] / lily / align-interface.cc
index f9e0e06345187c2534cc69528d130e5bd40359fb..80a9dd3c081f043713b8d8debe07482aeffe02e3 100644 (file)
@@ -1,7 +1,7 @@
 /*
   This file is part of LilyPond, the GNU music typesetter.
 
-  Copyright (C) 2000--2014 Han-Wen Nienhuys <hanwen@xs4all.nl>
+  Copyright (C) 2000--2015 Han-Wen Nienhuys <hanwen@xs4all.nl>
 
   LilyPond is free software: you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
@@ -36,7 +36,7 @@ MAKE_SCHEME_CALLBACK (Align_interface, align_to_minimum_distances, 1);
 SCM
 Align_interface::align_to_minimum_distances (SCM smob)
 {
-  Grob *me = unsmob_grob (smob);
+  Grob *me = unsmob<Grob> (smob);
 
   me->set_property ("positioning-done", SCM_BOOL_T);
 
@@ -52,7 +52,7 @@ MAKE_SCHEME_CALLBACK (Align_interface, align_to_ideal_distances, 1);
 SCM
 Align_interface::align_to_ideal_distances (SCM smob)
 {
-  Grob *me = unsmob_grob (smob);
+  Grob *me = unsmob<Grob> (smob);
 
   me->set_property ("positioning-done", SCM_BOOL_T);
 
@@ -76,7 +76,7 @@ get_skylines (Grob *g,
 
   if (!pure)
     {
-      Skyline_pair *skys = Skyline_pair::unsmob (g->get_property (a == Y_AXIS
+      Skyline_pair *skys = unsmob<Skyline_pair> (g->get_property (a == Y_AXIS
                                                                   ? "vertical-skylines"
                                                                   : "horizontal-skylines"));
       if (skys)
@@ -93,7 +93,7 @@ get_skylines (Grob *g,
   else
     {
       assert (a == Y_AXIS);
-      Interval extent = g->pure_height (g, start, end);
+      Interval extent = g->pure_y_extent (g, start, end);
 
       // This is a hack to get better accuracy on the pure-height of VerticalAlignment.
       // It's quite common for a treble clef to be the highest element of one system
@@ -106,7 +106,7 @@ get_skylines (Grob *g,
       // of the system. This way, the tall treble clefs are only compared with the treble
       // clefs of the other staff and they will be ignored if the staff above is, for example,
       // lyrics.
-      if (Axis_group_interface::has_interface (g))
+      if (has_interface<Axis_group_interface> (g))
         {
           extent = Axis_group_interface::rest_of_line_pure_height (g, start, end);
           Interval begin_of_line_extent = Axis_group_interface::begin_of_line_pure_height (g, start);
@@ -179,7 +179,7 @@ Align_interface::internal_get_minimum_translations (Grob *me,
       SCM fv = ly_assoc_get (scm_cons (scm_from_int (start), scm_from_int (end)),
                              me->get_property ("minimum-translations-alist"),
                              SCM_EOL);
-      if (fv != SCM_EOL)
+      if (!scm_is_null (fv))
         return ly_scm2floatvector (fv);
     }
 
@@ -353,11 +353,11 @@ void
 Align_interface::set_ordered (Grob *me)
 {
   SCM ga_scm = me->get_object ("elements");
-  Grob_array *ga = unsmob_grob_array (ga_scm);
+  Grob_array *ga = unsmob<Grob_array> (ga_scm);
   if (!ga)
     {
       ga_scm = Grob_array::make_array ();
-      ga = unsmob_grob_array (ga_scm);
+      ga = unsmob<Grob_array> (ga_scm);
       me->set_object ("elements", ga_scm);
     }
 
@@ -367,7 +367,7 @@ Align_interface::set_ordered (Grob *me)
 ADD_INTERFACE (Align_interface,
                "Order grobs from top to bottom, left to right, right to left"
                " or bottom to top.  For vertical alignments of staves, the"
-               " @code{break-system-details} of the left"
+               " @code{line-break-system-details} of the left"
                " @rinternals{NonMusicalPaperColumn} may be set to tune"
                " vertical spacing.",