]> git.donarmstrong.com Git - lilypond.git/blob - lily/include/tuplet-spanner.hh
release: 1.3.62
[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 "spanner.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 */
19 class Tuplet_spanner : public Spanner
20 {
21 public:
22   Tuplet_spanner (SCM);
23   static SCM brew_molecule (SCM);
24   
25
26   void add_column (Note_column*);
27   void add_beam (Beam*);
28
29   void calc_dy (Real *) const;
30   void calc_position_and_height (Real*,Real *dy)const;
31   
32   SCM member_after_line_breaking ();
33   static SCM after_line_breaking (SCM);
34   SCM member_brew_molecule () const;
35   VIRTUAL_COPY_CONS(Score_element);
36
37   virtual void do_add_processing ();
38   virtual Direction get_default_dir () const;
39 };
40
41 #endif // Tuplet_spanner_HH
42