X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Finclude%2Falign-interface.hh;h=612c31c0d5bef18fc53c35575bcec351180b4c27;hb=720bdb29cfac44d9469a54d44bb002e1ccab15f9;hp=3cc04272a824a51b946665d2c1858faf2d8342ac;hpb=5266aa98886211d4ac084029ce0362bb1ca5dce0;p=lilypond.git diff --git a/lily/include/align-interface.hh b/lily/include/align-interface.hh index 3cc04272a8..612c31c0d5 100644 --- a/lily/include/align-interface.hh +++ b/lily/include/align-interface.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2000--2010 Han-Wen Nienhuys + Copyright (C) 2000--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -24,24 +24,30 @@ #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 get_minimum_translations (Grob *, vector const&, - Axis a, - bool include_fixed_spacing, - bool pure, int start, int end); + static void align_elements_to_minimum_distances (Grob *, Axis a); + static void align_elements_to_ideal_distances (Grob *); + static vector get_minimum_translations (Grob *, vector const &, Axis a); + static vector get_minimum_translations_without_min_dist (Grob *, vector const &, Axis a); + static vector get_pure_minimum_translations (Grob *, vector const &, + Axis a, int start, int end); static void set_ordered (Grob *); static Axis axis (Grob *); static void add_element (Grob *, Grob *); static int get_count (Grob *, Grob *); - DECLARE_GROB_INTERFACE(); static Real get_pure_child_y_translation (Grob *, Grob *child, int start, int end); + +protected: + static vector internal_get_minimum_translations (Grob *, vector const &, + Axis a, + bool include_fixed_spacing, + bool pure, int start, int end); }; #endif /* ALIGN_INTERFACE_HH */