]> git.donarmstrong.com Git - lilypond.git/blob - lily/include/tie-configuration.hh
* configure.in (--enable-std-vector): New option.
[lilypond.git] / lily / include / tie-configuration.hh
1 /*
2   tie-configuration.hh -- declare Tie_configuration
3
4   source file of the GNU LilyPond music typesetter
5
6   (c) 2005--2006 Han-Wen Nienhuys <hanwen@xs4all.nl>
7
8 */
9
10 #ifndef TIE_CONFIGURATION_HH
11 #define TIE_CONFIGURATION_HH
12
13 #include "lily-proto.hh"
14 #include "direction.hh"
15 #include "interval.hh"
16 #include "compare.hh"
17 #include "std-vector.hh"
18
19 class Tie_configuration
20 {
21 public:
22   int position_;
23   Direction dir_;
24   Real delta_y_;
25
26   /* computed. */
27   Interval attachment_x_;
28   
29   Tie_configuration ();
30   void center_tie_vertically (Tie_details const &);
31   Bezier get_transformed_bezier (Tie_details const &) const;
32   Bezier get_untransformed_bezier (Tie_details const &) const;
33   Real height (Tie_details const&) const;
34   
35   static int compare (Tie_configuration const &a,
36                       Tie_configuration const &b);
37   static Real distance (Tie_configuration const &a,
38                        Tie_configuration const &b);
39 };
40
41 INSTANTIATE_COMPARE (Tie_configuration, Tie_configuration::compare);
42
43 typedef std::vector<Tie_configuration> Ties_configuration;
44
45 #endif /* TIE_CONFIGURATION_HH */
46
47
48