]> git.donarmstrong.com Git - lilypond.git/blob - lily/include/slur.hh
release: 1.3.89
[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    details -- alist containing contaning a few magic constants.
21
22    note-columns -- list of elt pointers to note columns.
23
24    attachment -- cons of symbols, '(LEFT-TYPE . RIGHT-TYPE), where
25      both types may be alongside-stem, stem, head or loose-end
26    
27    direction -- up or down?
28
29    y-free -- ? 
30    
31  */
32 class Slur
33 {
34 public:
35   static void add_column (Score_element*me,Score_element*col);
36   static SCM brew_molecule (SCM);
37   static void set_interface (Score_element*);
38   static bool  has_interface (Score_element*);
39   static Array<Offset> get_encompass_offset_arr (Score_element*me) ;
40   static Bezier get_curve (Score_element*me) ;
41   static Direction get_default_dir (Score_element*me) ;
42   static SCM after_line_breaking (SCM);
43   static SCM set_spacing_rods (SCM);
44 private:  
45   static Real get_first_notecolumn_y (Score_element *me, Direction dir);
46   static Offset broken_trend_offset (Score_element *me, Direction dir);
47   static Offset get_attachment (Score_element*me,Direction dir, Score_element**common) ;
48   static void de_uglyfy (Score_element*me,Slur_bezier_bow* bb, Real default_height);
49   static void set_extremities (Score_element*me);
50   static void set_control_points (Score_element*me);
51   static Offset encompass_offset (Score_element*me,Score_element *col,Score_element**common);
52 };
53
54 #endif // SLUR_HH
55
56