]> git.donarmstrong.com Git - lilypond.git/blob - lily/include/tuplet-spanner.hh
release: 1.3.94
[lilypond.git] / lily / include / tuplet-spanner.hh
1 /*
2   plet-spanner.hh -- part of GNU LilyPond
3
4   (c)  1997--2000 Jan Nieuwenhuizen <janneke@gnu.org>
5 */
6
7 #ifndef Tuplet_spanner_HH
8 #define Tuplet_spanner_HH
9
10 #include "lily-guile.hh"
11
12 /** supportable plet: triplets, eentweetjes, ottava, etc.
13
14     TODO: quantise, we don't want to collide with staff lines.
15     (or should we be above staff?)
16
17   todo: handle breaking elegantly.
18 properties:
19
20   beams -- list of beam ptrs.
21
22   columns -- list of note-columns.
23
24 */
25
26 class Tuplet_spanner
27 {
28 public:
29   DECLARE_SCHEME_CALLBACK(brew_molecule, (SCM ));
30   static void set_interface (Score_element*);  
31   static bool has_interface (Score_element*);
32
33   static void add_column (Score_element*me,Item*);
34   static void add_beam (Score_element*me,Score_element*);
35
36   static void calc_dy (Score_element*,Real *) ;
37   static void calc_position_and_height (Score_element*,Real*,Real *dy);
38   
39   DECLARE_SCHEME_CALLBACK(after_line_breaking, (SCM ));
40
41   static Direction get_default_dir (Score_element*);
42 };
43
44 #endif // Tuplet_spanner_HH
45