/*
plet-spanner.hh -- part of GNU LilyPond
- (c) 1997--1999 Jan Nieuwenhuizen <janneke@gnu.org>
+ (c) 1997--2000 Jan Nieuwenhuizen <janneke@gnu.org>
*/
#ifndef Tuplet_spanner_HH
#define Tuplet_spanner_HH
-#include "text-def.hh"
+
#include "pointer.hh"
-#include "directional-spanner.hh"
+#include "spanner.hh"
+
+/** supportable plet: triplets, eentweetjes, ottava, etc.
-/** supportable plet: triplets, eentweetjes, ottava, etc. */
+ TODO: quantise, we don't want to collide with staff lines.
+ (or should we be above staff?)
-class Tuplet_spanner : public Directional_spanner
+ todo: handle breaking elegantly.
+*/
+class Tuplet_spanner : public Spanner
{
public:
Tuplet_spanner ();
void add_column (Note_column*);
- void set_beam (Beam*);
- P<Text_def> tdef_p_;
- bool bracket_visibility_b_;
- bool num_visibility_b_;
-
+ void add_beam (Beam*);
protected:
- Beam *beam_l_;
- Link_array<Note_column> column_arr_;
-
+ void calc_dy (Real *) const;
+ void calc_position_and_height (Real*,Real *dy)const;
+
virtual Molecule* do_brew_molecule_p () const;
VIRTUAL_COPY_CONS(Score_element);
-
virtual void do_add_processing ();
virtual void do_post_processing ();
- virtual void set_default_dir ();
- virtual void do_substitute_dependency (Score_element*,Score_element*);
+ virtual Direction get_default_dir () const;
};
#endif // Tuplet_spanner_HH