X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Finclude%2Fside-position-interface.hh;h=6c6e48306681713c4b5de49be6c08708808aa92b;hb=e0e7ae9d391b2e393419182f8adb359b01cbe838;hp=cfa65ffec02be2071bda9e39ec77f05227aabc3d;hpb=f6e3a77381e8eb67aa01195ec3945bd978f86aa8;p=lilypond.git diff --git a/lily/include/side-position-interface.hh b/lily/include/side-position-interface.hh index cfa65ffec0..6c6e483066 100644 --- a/lily/include/side-position-interface.hh +++ b/lily/include/side-position-interface.hh @@ -1,11 +1,10 @@ -/* +/* side-position-interface.hh -- declare Side_position_interface - + source file of the GNU LilyPond music typesetter - - (c) 1999 Han-Wen Nienhuys - - */ + + (c) 1999--2006 Han-Wen Nienhuys +*/ #ifndef SIDE_POSITION_INTERFACE_HH #define SIDE_POSITION_INTERFACE_HH @@ -13,27 +12,29 @@ #include "spanner.hh" #include "item.hh" +/* + TODO: move out unrelated callbacks. + + TODO: reduce number of methods. +*/ struct Side_position_interface { - Score_element * elt_l_; public: - Side_position_interface (Score_element const*); - static Real side_position (Dimension_cache const *); - static Real self_alignment (Dimension_cache const *); - static Real aligned_side (Dimension_cache const *); - static Real quantised_position (Dimension_cache const*); - void set_axis (Axis); - void set_quantised (Axis); - Axis get_axis () const; - - bool supported_b () const; - bool has_interface_b () const; - void add_support (Score_element*); - - Direction get_direction () const; - void set_direction (Direction); -}; + DECLARE_SCHEME_CALLBACK (y_aligned_on_support_refpoints, (SCM element)); + DECLARE_SCHEME_CALLBACK (x_aligned_side, (SCM element)); + DECLARE_SCHEME_CALLBACK (y_aligned_side, (SCM element)); + + static SCM aligned_side (Grob*me, Axis a); + + static SCM general_side_position (Grob *, Axis, bool); + static Axis get_axis (Grob *); + static void set_axis (Grob *, Axis); + static bool has_interface (Grob *); + static void add_support (Grob *, Grob *); + static void add_staff_support (Grob *); + static Direction get_direction (Grob *); +}; #endif /* SIDE_POSITION_INTERFACE_HH */