]> git.donarmstrong.com Git - lilypond.git/blob - lily/include/slur.hh
release: 1.3.88
[lilypond.git] / lily / include / slur.hh
1 /*
2   slur.hh -- declare Slur
3
4   (c) 1996--2000 Han-Wen Nienhuys
5 */
6
7 #ifndef SLUR_HH
8 #define SLUR_HH
9
10 #include "lily-guile.hh"
11 #include "lily-proto.hh"
12 #include "rod.hh"
13
14 /**
15
16    de-uglify-parameters -- list of 3 real constants. They define the
17      valid areas for the middle control points. Used in de_uglyfy.
18      They are a bit empirical.
19
20      
21  */
22 class Slur
23 {
24 public:
25   static void add_column (Score_element*me,Score_element*col);
26   static SCM brew_molecule (SCM);
27   static void set_interface (Score_element*);
28   static bool  has_interface (Score_element*);
29   static Array<Offset> get_encompass_offset_arr (Score_element*me) ;
30   static Bezier get_curve (Score_element*me) ;
31   static Direction get_default_dir (Score_element*me) ;
32   static SCM after_line_breaking (SCM);
33   static SCM set_spacing_rods (SCM);
34 private:  
35   static Real get_first_notecolumn_y (Score_element *me, Direction dir);
36   static Offset broken_trend_offset (Score_element *me, Direction dir);
37   static Offset get_attachment (Score_element*me,Direction dir, Score_element**common) ;
38   static void de_uglyfy (Score_element*me,Slur_bezier_bow* bb, Real default_height);
39   static void set_extremities (Score_element*me);
40   static void set_control_points (Score_element*me);
41   static Offset encompass_offset (Score_element*me,Score_element *col,Score_element**common);
42 };
43
44 #endif // SLUR_HH
45
46