]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/include/align-interface.hh
Clean up the Align_interface API.
[lilypond.git] / lily / include / align-interface.hh
index 3cc04272a824a51b946665d2c1858faf2d8342ac..45963a7a00f6d5f946153f98b38602db4e017701 100644 (file)
 #include "std-vector.hh"
 #include "grob-interface.hh"
 
-struct Align_interface
+class Align_interface
 {
+public:
   DECLARE_SCHEME_CALLBACK (align_to_minimum_distances, (SCM));
   DECLARE_SCHEME_CALLBACK (align_to_ideal_distances, (SCM));
   static void align_elements_to_minimum_distances(Grob *, Axis a);
   static void align_elements_to_ideal_distances(Grob *);
-  static vector<Real> get_minimum_translations (Grob *, vector<Grob*> const&,
-                                               Axis a,
-                                               bool include_fixed_spacing,
-                                               bool pure, int start, int end);
+  static vector<Real> get_minimum_translations (Grob *, vector<Grob*> const&, Axis a);
+  static vector<Real> get_minimum_translations_without_min_dist (Grob *, vector<Grob*> const&, Axis a);
+  static vector<Real> get_pure_minimum_translations (Grob *, vector<Grob*> const&,
+                                                    Axis a, int start, int end);
   static void set_ordered (Grob *);
   static Axis axis (Grob *);
   static void add_element (Grob *, Grob *);
@@ -42,6 +43,12 @@ struct Align_interface
   DECLARE_GROB_INTERFACE();
 
   static Real get_pure_child_y_translation (Grob *, Grob *child, int start, int end);
+
+protected:
+  static vector<Real> internal_get_minimum_translations (Grob *, vector<Grob*> const&,
+                                                        Axis a,
+                                                        bool include_fixed_spacing,
+                                                        bool pure, int start, int end);
 };
 
 #endif /* ALIGN_INTERFACE_HH */