]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/align-interface.cc
* mf/GNUmakefile: always trace pfa fonts.
[lilypond.git] / lily / align-interface.cc
index 6a39e6b08d3b4ffb7c5d3c2576197ff09d79d294..5f7306d2b1340ac8aee0099221be2a2c811ba20e 100644 (file)
@@ -233,7 +233,7 @@ Align_interface::align_elements_to_extents (Grob * me, Axis a)
        FIXME: uncommenting freaks out the Y-alignment of
        line-of-score.
        */
-      // Real align_param = ly_dir_p (align)  ? gh_scm2double (align) : 0.0;
+      // Real align_param = is_direction (align)  ? gh_scm2double (align) : 0.0;
       
       if (gh_number_p (align))
        center_offset = total.linear_combination (gh_scm2double (align));
@@ -262,6 +262,27 @@ Align_interface::set_axis (Grob*me,Axis a)
 }
 
 
+/*
+  Find Y-axis parent of G that has a #'forced-distance property. This
+  has the effect of finding the piano-staff given an object in that
+  piano staff.
+ */
+Grob *
+find_fixed_alignment_parent  (Grob *g)
+{
+  while (g)
+    {
+      if (gh_number_p (g->get_grob_property ("forced-distance")))
+       return g;
+
+      g = g->get_parent (Y_AXIS);
+    }
+
+  return 0;
+}
+
+
+
 
 ADD_INTERFACE (Align_interface, "align-interface",
   " Order grobs top to bottom/left to right/right to left etc.",
@@ -272,3 +293,4 @@ struct Foobar
 {
   bool has_interface (Grob*);
 };
+