]> git.donarmstrong.com Git - lilypond.git/blob - lily/include/tuplet-bracket.hh
* flower/include/pqueue.hh: Derive from std::vector.
[lilypond.git] / lily / include / tuplet-bracket.hh
1 /*
2   tuplet-bracket.hh -- part of GNU LilyPond
3
4   (c) 1997--2006 Jan Nieuwenhuizen <janneke@gnu.org>
5 */
6
7 #ifndef Tuplet_bracket_HH
8 #define Tuplet_bracket_HH
9
10 #include "lily-guile.hh"
11 #include "lily-proto.hh"
12
13 class Tuplet_bracket
14 {
15 public:
16   DECLARE_SCHEME_CALLBACK (calc_direction, (SCM));
17   DECLARE_SCHEME_CALLBACK (calc_positions, (SCM));
18   DECLARE_SCHEME_CALLBACK (calc_control_points, (SCM));
19   DECLARE_SCHEME_CALLBACK (print, (SCM));
20   DECLARE_SCHEME_CALLBACK (calc_connect_to_neighbors, (SCM smob));
21   
22   static bool has_interface (Grob *);
23   static Grob* get_common_x (Spanner *);
24   static void add_tuplet_bracket (Grob *me, Grob *smaller_bracket);
25   static void get_bounds (Grob *, Grob **, 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_position_and_height (Grob *, Real *, Real *dy);
30   static Stencil make_bracket (Grob *me, Axis protusion_axis,
31                                Offset dz, Drul_array<Real> height,
32                                Interval gap, Drul_array<Real> widen,
33                                Drul_array<Real> shorten);
34   static Direction get_default_dir (Grob *);
35 };
36
37 #endif // Tuplet_bracket_HH
38