DECLARE_SCHEME_CALLBACK(brew_molecule, (SCM ));
DECLARE_SCHEME_CALLBACK(before_line_breaking, (SCM ));
DECLARE_SCHEME_CALLBACK(after_line_breaking, (SCM ));
+
+ /*
+ y-dy callbacks
+ */
+ DECLARE_SCHEME_CALLBACK (least_squares, (SCM));
+ DECLARE_SCHEME_CALLBACK (cancel_suspect_slope, (SCM));
+ DECLARE_SCHEME_CALLBACK (slope_damping, (SCM));
+ DECLARE_SCHEME_CALLBACK (quantise_dy, (SCM));
+ DECLARE_SCHEME_CALLBACK (user_override, (SCM));
+ DECLARE_SCHEME_CALLBACK (do_quantise_y, (SCM));
+
static Molecule stem_beams (Grob*,Item *here, Item *next, Item *prev);
private:
static void set_stem_directions (Grob*);
static void consider_auto_knees (Grob*);
static void set_stem_shorten (Grob*);
- static void calc_default_position_and_height (Grob*,Real* y, Real* dy);
- static bool suspect_slope_b (Grob*, Real y, Real dy);
- static Real calc_slope_damping_f (Grob*, Real dy);
static Real calc_stem_y_f (Grob*, Item* s, Real y, Real dy);
static Real check_stem_length_f (Grob*, Real y, Real dy);
- static void set_stem_length (Grob*, Real y, Real dy);
- static Real quantise_dy_f (Grob*, Real dy);
+ static void set_stem_lengths (Grob*);
static Real quantise_y_f (Grob*, Real y, Real dy, int quant_dir);
static int forced_stem_count (Grob*);
};
;; todo: clean this up a bit: the list is getting
;; rather long.
(molecule-callback . ,Beam::brew_molecule)
+ (y-dy-callbacks . (,Beam::least_squares
+ ,Beam::cancel_suspect_slope
+ ,Beam::slope_damping
+ ,Beam::quantise_dy
+ ,Beam::user_override
+ ,Beam::do_quantise_y))
+
(thickness . 0.48) ; in staff-space
(before-line-breaking-callback . ,Beam::before_line_breaking)
(after-line-breaking-callback . ,Beam::after_line_breaking)