2
tie-configuration.hh -- declare Tie_configuration
4
source file of the GNU LilyPond music typesetter
6
(c) 2005--2006 Han-Wen Nienhuys <hanwen@xs4all.nl>
10
#ifndef TIE_CONFIGURATION_HH
11
#define TIE_CONFIGURATION_HH
14
#include "lily-proto.hh"
15
#include "direction.hh"
16
#include "interval.hh"
18
#include "std-vector.hh"
20
class Tie_configuration
22
#if DEBUG_SLUR_SCORING
27
friend class Tie_formatting_problem;
29
Real score () const { return score_; }
30
string card () const { return score_card_; }
37
Interval attachment_x_;
39
void add_score (Real, string);
41
void center_tie_vertically (Tie_details const &);
42
Bezier get_transformed_bezier (Tie_details const &) const;
43
Bezier get_untransformed_bezier (Tie_details const &) const;
44
Real height (Tie_details const&) const;
46
static int compare (Tie_configuration const &a,
47
Tie_configuration const &b);
48
static Real distance (Tie_configuration const &a,
49
Tie_configuration const &b);
52
INSTANTIATE_COMPARE (Tie_configuration, Tie_configuration::compare);
54
class Ties_configuration : public vector<Tie_configuration>
59
vector<string> tie_score_cards_;
61
friend class Tie_formatting_problem;
63
Ties_configuration ();
64
void add_score (Real amount, string description);
65
void add_tie_score (Real amount, int i, string description);
69
string tie_card (int i) const { return tie_score_cards_[i]; }
72
#endif /* TIE_CONFIGURATION_HH */