X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Finclude%2Ftie.hh;h=c47a93306c6cc40f99b477772a5a9237111bdab1;hb=c394a8e24aa4c7133ac388f4df88209189811dd3;hp=bb6066a53933e58b4d1cec0bdb2279aac5aae8dc;hpb=c2b0bbf77c6702079acdaa20e54e819728140899;p=lilypond.git diff --git a/lily/include/tie.hh b/lily/include/tie.hh index bb6066a539..c47a93306c 100644 --- a/lily/include/tie.hh +++ b/lily/include/tie.hh @@ -3,48 +3,38 @@ source file of the GNU LilyPond music typesetter - (c) 1997--2005 Han-Wen Nienhuys + (c) 1997--2007 Han-Wen Nienhuys */ #ifndef TIE_HH #define TIE_HH -#include "lily-guile.hh" #include "lily-proto.hh" +#include "skyline.hh" +#include "grob-interface.hh" -struct Tie_configuration -{ - int position_; - Direction dir_; - Interval attachment_x_; - Real edge_y_; - - Tie_configuration () - { - dir_ = CENTER; - position_ = 0; - } - static int compare (Tie_configuration const &a, - Tie_configuration const &b); -}; class Tie { public: static void set_head (Grob *, Direction, Grob *head); - static void set_interface (Grob *); - static bool has_interface (Grob *); - static void set_direction (Grob *); + DECLARE_GROB_INTERFACE(); static Grob *head (Grob *, Direction); static int get_column_rank (Grob *, Direction); - static Real get_position (Grob *); - static Direction get_default_dir (Grob *); - static SCM get_control_points (SCM); - static SCM get_configuration (SCM); + static int get_position (Grob *); + static Direction get_default_dir (Grob *); + static SCM get_control_points (Grob *, Grob *, + Tie_configuration const&, + Tie_details const&); + static SCM get_default_control_points (Grob *); DECLARE_SCHEME_CALLBACK (print, (SCM)); DECLARE_SCHEME_CALLBACK (set_spacing_rods, (SCM)); + DECLARE_SCHEME_CALLBACK (calc_direction, (SCM)); + DECLARE_SCHEME_CALLBACK (calc_control_points, (SCM)); + static bool less (Grob *const &s1, + Grob *const &s2); };