X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Finclude%2Fbeam.hh;h=e7594f5a4d745032e12d00b608d26a5c09eb6e41;hb=4a964b10c411827584eb720c63cd0d6fc5b65d72;hp=91198c8a649d9204a8e3c7889c9e5f83ea966b1f;hpb=cebb2444373e19ff9ad0319b6f95a49225a0bee0;p=lilypond.git diff --git a/lily/include/beam.hh b/lily/include/beam.hh index 91198c8a64..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,49 +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); + 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 (brew_molecule, (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, - bool,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, Direction, Direction); - + 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*, Direction ); - static void consider_auto_knees (Grob*, Direction d); + static void consider_auto_knees (Grob*); static void set_stem_shorten (Grob*); - static Real calc_stem_y (Grob*, Grob* s, Interval pos, bool correct); + 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 */