2 tuplet-bracket.hh -- part of GNU LilyPond
4 (c) 1997--2003 Jan Nieuwenhuizen <janneke@gnu.org>
7 #ifndef Tuplet_bracket_HH
8 #define Tuplet_bracket_HH
10 #include "lily-guile.hh"
11 #include "lily-proto.hh"
15 TODO: quantise, we don't want to collide with staff lines.
16 (or should we be above staff?)
18 todo: handle breaking elegantly.
23 DECLARE_SCHEME_CALLBACK (brew_molecule, (SCM ));
24 static bool has_interface (Grob*);
26 static void add_column (Grob*me,Item*);
27 static void add_beam (Grob*me,Grob*);
28 static Grob *parallel_beam (Grob *me, Link_array<Grob> const&cols, bool *equally_long);
29 static void calc_dy (Grob*,Real *) ;
30 static void calc_position_and_height (Grob*,Real*,Real *dy);
32 DECLARE_SCHEME_CALLBACK (after_line_breaking, (SCM ));
34 DECLARE_SCHEME_CALLBACK (before_line_breaking, (SCM ));
35 static Molecule make_bracket (Grob *me, Axis protusion_axis,
36 Offset dz, Drul_array<Real> height,
37 Real gap, Drul_array<Real> widen,
38 Drul_array<Real> shorten);
39 static Direction get_default_dir (Grob*);
42 #endif // Tuplet_bracket_HH