]> git.donarmstrong.com Git - lilypond.git/blob - lily/include/tuplet-spanner.hh
patch::: 1.3.9.hwn2
[lilypond.git] / lily / include / tuplet-spanner.hh
1 /*
2   plet-spanner.hh -- part of GNU LilyPond
3
4   (c)  1997--1999 Jan Nieuwenhuizen <janneke@gnu.org>
5 */
6
7 #ifndef Tuplet_spanner_HH
8 #define Tuplet_spanner_HH
9
10 #include "pointer.hh"
11 #include "directional-spanner.hh"
12
13 /** supportable plet: triplets, eentweetjes, ottava, etc.
14
15     TODO: quantise, we don't want to collide with staff lines.
16     (or should we be above staff?)
17
18   todo: handle breaking elegantly.
19 */
20 class Tuplet_spanner : public Directional_spanner
21 {
22 public:
23   Tuplet_spanner ();
24  
25   void add_column (Note_column*);
26   void add_beam (Beam*);
27   
28
29   String  number_str_;
30
31   bool parallel_beam_b_;
32   
33 protected:
34   Link_array<Beam> beam_l_arr_;
35   Link_array<Note_column> column_arr_;
36
37   virtual Molecule* do_brew_molecule_p () const;
38   VIRTUAL_COPY_CONS(Score_element);
39   virtual void do_add_processing ();
40   virtual void do_post_processing ();
41   virtual Direction get_default_dir () const;
42   virtual void do_substitute_element_pointer (Score_element*,Score_element*);
43 };
44
45 #endif // Tuplet_spanner_HH
46