]> git.donarmstrong.com Git - lilypond.git/blob - lily/include/slur-configuration.hh
Fix some bugs in the dynamic engraver and PostScript backend
[lilypond.git] / lily / include / slur-configuration.hh
1 /*
2   slur-configuration.hh -- declare Slur_configuration
3
4   source file of the GNU LilyPond music typesetter
5
6   (c) 2004--2006 Han-Wen Nienhuys <hanwen@xs4all.nl>
7 */
8
9 #ifndef SLUR_CONFIGURATION_HH
10 #define SLUR_CONFIGURATION_HH
11
12 #include "bezier.hh"
13 #include "std-vector.hh"
14 #include "main.hh"
15
16 class Slur_configuration
17 {
18   Real score_;
19   string score_card_;
20
21 public:
22   Drul_array<Offset> attachment_;
23   Bezier curve_;
24   Real height_;
25
26   int index_;
27
28   Slur_configuration ();
29
30   Real score () const { return score_; }
31   string card () const { return score_card_; } 
32   void add_score (Real, string);
33   
34   void generate_curve (Slur_score_state const &state, Real r0, Real h_inf,
35                        vector<Offset> const &);
36   void calculate_score (Slur_score_state const &);
37 protected:
38   void score_extra_encompass (Slur_score_state const &);
39   void score_slopes (Slur_score_state const &);
40   void score_edges (Slur_score_state const &);
41   void score_encompass (Slur_score_state const &);
42 };
43
44 #endif /* SLUR_CONFIGURATION_HH */
45