source file of the GNU LilyPond music typesetter
- (c) 2004--2006 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 2004--2007 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#ifndef SLUR_SCORING_HH
#define SLUR_SCORING_HH
#include "box.hh"
-#include "lily-proto.hh"
#include "std-vector.hh"
#include "lily-guile.hh"
-
-struct Slur_score_parameters
-{
- int region_size_;
- Real head_encompass_penalty_;
- Real stem_encompass_penalty_;
- Real closeness_factor_;
- Real edge_attraction_factor_;
- Real same_slope_penalty_;
- Real steeper_slope_factor_;
- Real non_horizontal_penalty_;
- Real max_slope_;
- Real max_slope_factor_;
- Real extra_object_collision_penalty_;
- Real accidental_collision_;
- Real free_slur_distance_;
- Real free_head_distance_;
- Real extra_encompass_free_distance_;
- Real absolute_closeness_measure_;
- Real edge_slope_exponent_;
- Real head_slur_distance_max_ratio_;
- Real head_slur_distance_factor_;
-
- void fill (Grob *him);
-};
+#include "slur-score-parameters.hh"
struct Extra_collision_info
{
Bezier get_best_curve ();
void fill (Grob *);
void set_next_direction ();
-
+
vector<Offset> generate_avoid_offsets () const;
Drul_array<Bound_info> get_bound_info () const;
void generate_curves () const;
vector<Extra_collision_info> 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;
};
void set_slur_control_points (Grob *me);