X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Finclude%2Fbeam.hh;h=e7594f5a4d745032e12d00b608d26a5c09eb6e41;hb=4a964b10c411827584eb720c63cd0d6fc5b65d72;hp=dcc7ba17905d98930d84933f0902c53bcd0acbd2;hpb=8d8929f220531011b9f503a05737341d4863ed36;p=lilypond.git diff --git a/lily/include/beam.hh b/lily/include/beam.hh index dcc7ba1790..e7594f5a4d 100644 --- a/lily/include/beam.hh +++ b/lily/include/beam.hh @@ -1,7 +1,10 @@ /* beam.hh -- part of GNU LilyPond - (c) 1996--2002 Han-Wen Nienhuys + source file of the LilyPond music typesetter + + (c) 1996--2004 Han-Wen Nienhuys + Jan Nieuwenhuizen */ #ifndef BEAM_HH @@ -16,47 +19,62 @@ class Beam { public: static int visible_stem_count (Grob*); - static Item* first_visible_stem (Grob*); - static Item* last_visible_stem (Grob*); + static Grob* first_visible_stem (Grob*); + static Grob* last_visible_stem (Grob*); static bool has_interface (Grob*); DECLARE_SCHEME_CALLBACK (rest_collision_callback, (SCM element, SCM axis)); Beam (SCM); static void add_stem (Grob*,Grob*); + static bool is_knee (Grob*); static void set_beaming (Grob*,Beaming_info_list *); static void set_stemlens (Grob*); - static int get_multiplicity (Grob*me); - static Real get_interbeam (Grob*me); - DECLARE_SCHEME_CALLBACK (brew_molecule, (SCM )); - DECLARE_SCHEME_CALLBACK (before_line_breaking, (SCM )); - DECLARE_SCHEME_CALLBACK (after_line_breaking, (SCM )); + static int get_beam_count (Grob*me); + static void position_beam (Grob* me); + static Real get_beam_translation (Grob*me); + static Real get_thickness (Grob*me); + static void connect_beams (Grob*me); + DECLARE_SCHEME_CALLBACK (space_function, (SCM, SCM)); + DECLARE_SCHEME_CALLBACK (print, (SCM)); + DECLARE_SCHEME_CALLBACK (before_line_breaking, (SCM)); + DECLARE_SCHEME_CALLBACK (after_line_breaking, (SCM)); + /* position callbacks */ DECLARE_SCHEME_CALLBACK (least_squares, (SCM)); DECLARE_SCHEME_CALLBACK (check_concave, (SCM)); DECLARE_SCHEME_CALLBACK (slope_damping, (SCM)); + DECLARE_SCHEME_CALLBACK (shift_region_to_valid, (SCM)); DECLARE_SCHEME_CALLBACK (quanting, (SCM)); - static Real score_slopes_dy (Grob*, Real,Real,Real,Real); - static Real score_stem_lengths (Link_array, - Array, - Array, Array, Array, - Grob*,Real , Real); - static Real score_forbidden_quants (Grob*, Real, Real, + static Real score_slopes_dy (Real, Real, Real, Real, Real, bool); + + static Real score_stem_lengths (Link_array const &stems, + Array const &stem_infos, + Array const &base_stem_ys, + Array const &stem_xs, + Real xl, Real xr, + bool knee, + Real yl, Real yr); + static Real score_forbidden_quants (Real, Real, Real, Real, Real, Real, - int); + Drul_array, Direction, Direction); - - static Molecule stem_beams (Grob*,Item *here, Item *next, Item *prev, - Real dydx); + static int get_direction_beam_count (Grob *me, Direction d); private: static Direction get_default_dir (Grob*); - static void set_stem_directions (Grob*); + static void set_stem_directions (Grob*, Direction ); static void consider_auto_knees (Grob*); static void set_stem_shorten (Grob*); - static Real calc_stem_y (Grob*, Grob* s, Interval pos); + static Real calc_stem_y (Grob*, Grob* s, Grob**c, + Real, Real, + Drul_array pos, bool french); static void set_stem_lengths (Grob*); static int forced_stem_count (Grob*); }; +const int REGION_SIZE = 2; + +#define DEBUG_QUANTING 1 + #endif /* BEAM_HH */