X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Finclude%2Fslur.hh;h=476b960b92c19327f966542e2a9bd9ff3443e356;hb=7c99507d1fab4e99a60f490469a8d3221ac036db;hp=e3df46d0ae876590e50cb41231c7200c2062b002;hpb=63c9cee8ce190aaae4a5db3d2e200d35a570838d;p=lilypond.git diff --git a/lily/include/slur.hh b/lily/include/slur.hh index e3df46d0ae..476b960b92 100644 --- a/lily/include/slur.hh +++ b/lily/include/slur.hh @@ -1,40 +1,38 @@ /* - slur.hh -- part of GNU LilyPond + slur.hh -- declare Slur - (c) 1996,97 Han-Wen Nienhuys + (c) 1996--2004 Han-Wen Nienhuys */ #ifndef SLUR_HH #define SLUR_HH -#include "directional-spanner.hh" +#include "lily-guile.hh" #include "lily-proto.hh" -#include "parray.hh" -#include "bow.hh" -#include "curve.hh" - -/** - A #Bow# which tries to drape itself around the stems too. - */ -class Slur : public Bow { +#include "rod.hh" + +class Slur +{ public: - Link_array encompass_arr_; - void add (Note_column*); - -protected: - virtual Molecule* brew_molecule_p () const; - Array get_notes () const; - Array get_controls () const; - - virtual void set_default_dir(); - virtual void do_post_processing(); - virtual void do_add_processing (); - virtual void do_pre_processing (); - virtual void do_substitute_dependency (Score_elem*, Score_elem*); - virtual Real height_f () const; - - SCORE_ELEM_CLONE(Slur); - DECLARE_MY_RUNTIME_TYPEINFO; + static void add_column (Grob *me, Grob *col); + DECLARE_SCHEME_CALLBACK (print, (SCM)); + static void set_interface (Grob*); + static bool has_interface (Grob*); + static Array get_encompass_offsets (Grob *me); + static Bezier get_curve (Grob *me); + static Direction get_default_dir (Grob *me); + DECLARE_SCHEME_CALLBACK (after_line_breaking, (SCM)); + + DECLARE_SCHEME_CALLBACK (height, (SCM,SCM)); +private: + static Real get_boundary_notecolumn_y (Grob *me, Direction dir); + static Offset broken_trend_offset (Grob *me, Direction dir); + static Offset get_attachment (Grob *me,Direction dir, Grob **common); + static void de_uglyfy (Grob *me,Slur_bezier_bow* bb, Real default_height); + static SCM set_extremities (Grob *me); + static void set_control_points (Grob *me); + static void check_slope (Grob *me); + static Offset encompass_offset (Grob *me, Grob *col, Grob **common); }; #endif // SLUR_HH