X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Finclude%2Fslur-scoring.hh;h=1ae187477b28c9979f9377f325a4c77555cc9764;hb=47db9a3883d726ca53e2133a3b2298f78dd6a32e;hp=3e5b9d86b4fae42d53685177020cb980e23c4abd;hpb=13a8e28de140702edbb0629002073972008e17ad;p=lilypond.git diff --git a/lily/include/slur-scoring.hh b/lily/include/slur-scoring.hh index 3e5b9d86b4..1ae187477b 100644 --- a/lily/include/slur-scoring.hh +++ b/lily/include/slur-scoring.hh @@ -1,16 +1,26 @@ /* - slur-scoring.hh -- declare Slur_score_parameters + This file is part of LilyPond, the GNU music typesetter. - source file of the GNU LilyPond music typesetter + Copyright (C) 2004--2015 Han-Wen Nienhuys - (c) 2004--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 SLUR_SCORING_HH #define SLUR_SCORING_HH #include "box.hh" -#include "lily-proto.hh" #include "std-vector.hh" #include "lily-guile.hh" #include "slur-score-parameters.hh" @@ -22,10 +32,9 @@ struct Extra_collision_info Real penalty_; Grob *grob_; SCM type_; - + Extra_collision_info (Grob *g, Real idx, Interval x, Interval y, Real p); Extra_collision_info (); - }; struct Encompass_info @@ -57,6 +66,7 @@ struct Bound_info Grob *slur_head_; Grob *staff_; Grob *stem_; + Grob *flag_; Interval slur_head_x_extent_; Real staff_space_; @@ -80,7 +90,7 @@ struct Slur_score_state bool has_same_beam_; Real musical_dy_; - vector columns_; + vector columns_; vector encompass_infos_; vector extra_encompass_infos_; @@ -88,29 +98,30 @@ struct Slur_score_state Slur_score_parameters parameters_; Drul_array extremes_; Drul_array base_attachments_; - vector configurations_; + vector configurations_; Real staff_space_; + Real line_thickness_; Real thickness_; Slur_score_state (); ~Slur_score_state (); - Bezier get_best_curve (); + Slur_configuration *get_forced_configuration (Interval ys) const; + Slur_configuration *get_best_curve () const; void fill (Grob *); - void set_next_direction (); - + Direction slur_direction () const; + vector generate_avoid_offsets () const; Drul_array get_bound_info () const; void generate_curves () const; - vector enumerate_attachments (Drul_array end_ys) const; + vector enumerate_attachments (Drul_array end_ys) const; Drul_array get_base_attachments () const; Drul_array get_y_attachment_range () const; Encompass_info get_encompass_info (Grob *col) const; vector get_extra_encompass_infos () const; Real move_away_from_staffline (Real y, Grob *on_staff) const; - int get_closest_index (SCM inspect_quants) const; - Grob *breakable_bound_item (Direction) const; + Interval breakable_bound_extent (Direction) const; }; void set_slur_control_points (Grob *me);