]> git.donarmstrong.com Git - lilypond.git/blob - lily/include/tie-formatting-problem.hh
oops. Include $CONFIGFILE.make, not
[lilypond.git] / lily / include / tie-formatting-problem.hh
1 /*
2   tie-formatting-problem.hh -- declare
3
4   source file of the GNU LilyPond music typesetter
5
6   (c) 2005 Han-Wen Nienhuys <hanwen@xs4all.nl>
7
8 */
9
10 #ifndef TIE_FORMATTING_PROBLEM_HH
11 #define TIE_FORMATTING_PROBLEM_HH
12
13 #include "drul-array.hh"
14 #include "parray.hh"
15 #include "skyline.hh"
16 #include "lily-proto.hh"
17
18
19 struct Tie_details
20 {
21   Real height_limit_;
22   Real ratio_;
23   Real staff_space_;
24   Real x_gap_;
25   Real between_length_limit_;
26   
27   Tie_details ();
28   void from_grob (Grob *);
29 };
30
31 class Tie_formatting_problem
32 {
33   Drul_array< Array<Skyline_entry> > chord_outlines_;
34   Grob *x_refpoint_;
35 public:
36   Tie_details details_;
37
38 public:
39   Tie_formatting_problem ();
40
41   void from_ties (Link_array<Grob> const &ties);
42   void from_tie (Grob *tie);
43   void from_lv_ties (Link_array<Grob> const &);
44   void set_chord_outline (Link_array<Item>, Direction);
45
46   Interval get_attachment (Real) const;
47   Grob *common_x_refpoint () const;
48 };
49
50 #endif /* TIE_FORMATTING_PROBLEM_HH */