X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Finclude%2Ftie-configuration.hh;h=aaf0746a4aadf6ba72b2ce1e8de6d953b465fc20;hb=34cc8063c5cb355e975ba7a54b89ef04f6250f2e;hp=999d1ea8b6f721533d95bd6720d3e83dbfe27066;hpb=31568c504806f35aac420a394c9eab07abd9faa7;p=lilypond.git diff --git a/lily/include/tie-configuration.hh b/lily/include/tie-configuration.hh index 999d1ea8b6..aaf0746a4a 100644 --- a/lily/include/tie-configuration.hh +++ b/lily/include/tie-configuration.hh @@ -1,48 +1,86 @@ /* - tie-configuration.hh -- declare Tie_configuration + This file is part of LilyPond, the GNU music typesetter. - source file of the GNU LilyPond music typesetter + Copyright (C) 2005--2015 Han-Wen Nienhuys - (c) 2005--2006 Han-Wen Nienhuys + LilyPond is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + LilyPond is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with LilyPond. If not, see . */ #ifndef TIE_CONFIGURATION_HH #define TIE_CONFIGURATION_HH -#include "lily-proto.hh" #include "direction.hh" #include "interval.hh" -#include "compare.hh" #include "std-vector.hh" +#include "main.hh" // DEBUG_SLUR_SCORING class Tie_configuration { +#if DEBUG_SLUR_SCORING + string score_card_; +#endif + Real score_; + bool scored_; + friend class Tie_formatting_problem; + public: + Real score () const { return score_; } + string card () const { return score_card_; } + int position_; Direction dir_; Real delta_y_; + Drul_array column_ranks_; /* computed. */ Interval attachment_x_; - + + void add_score (Real, const string&); Tie_configuration (); void center_tie_vertically (Tie_details const &); Bezier get_transformed_bezier (Tie_details const &) const; Bezier get_untransformed_bezier (Tie_details const &) const; - Real height (Tie_details const&) const; - + Real height (Tie_details const &) const; + int column_span_length () const; + static int compare (Tie_configuration const &a, - Tie_configuration const &b); + Tie_configuration const &b); static Real distance (Tie_configuration const &a, - Tie_configuration const &b); + Tie_configuration const &b); }; INSTANTIATE_COMPARE (Tie_configuration, Tie_configuration::compare); -typedef vector Ties_configuration; - -#endif /* TIE_CONFIGURATION_HH */ +class Ties_configuration : public vector +{ + Real score_; + string score_card_; + bool scored_; + vector tie_score_cards_; + friend class Tie_formatting_problem; +public: + Ties_configuration (); + void add_score (Real amount, const string &description); + void add_tie_score (Real amount, int i, const string &description); + Real score () const; + void reset_score (); + string card () const; + string tie_card (int i) const { return tie_score_cards_[i]; } + string complete_tie_card (vsize i) const; + string complete_score_card () const; +}; +#endif /* TIE_CONFIGURATION_HH */