/*
plet-spanner.hh -- part of GNU LilyPond
- (c) 1997--2000 Jan Nieuwenhuizen <janneke@gnu.org>
+ (c) 1997--2002 Jan Nieuwenhuizen <janneke@gnu.org>
*/
-#ifndef Tuplet_spanner_HH
-#define Tuplet_spanner_HH
+#ifndef Tuplet_bracket_HH
+#define Tuplet_bracket_HH
-#include "pointer.hh"
-#include "spanner.hh"
+#include "lily-guile.hh"
-/** supportable plet: triplets, eentweetjes, ottava, etc.
+/*
TODO: quantise, we don't want to collide with staff lines.
- (or should we be above staff?)
+ (or should we be above staff?)
todo: handle breaking elegantly.
*/
-class Tuplet_spanner : public Spanner
+class Tuplet_bracket
{
public:
- Tuplet_spanner (SCM);
- static SCM scheme_molecule (SCM);
-
+ DECLARE_SCHEME_CALLBACK (brew_molecule, (SCM ));
+ static void set_interface (Grob*);
+ static bool has_interface (Grob*);
- void add_column (Note_column*);
- void add_beam (Beam*);
-protected:
- void calc_dy (Real *) const;
- void calc_position_and_height (Real*,Real *dy)const;
+ static void add_column (Grob*me,Item*);
+ static void add_beam (Grob*me,Grob*);
+
+ static void calc_dy (Grob*,Real *) ;
+ static void calc_position_and_height (Grob*,Real*,Real *dy);
- Molecule do_brew_molecule () const;
- VIRTUAL_COPY_CONS(Score_element);
- virtual void do_add_processing ();
- virtual void after_line_breaking ();
- virtual Direction get_default_dir () const;
+ DECLARE_SCHEME_CALLBACK (after_line_breaking, (SCM ));
+
+ static Direction get_default_dir (Grob*);
};
-#endif // Tuplet_spanner_HH
+#endif // Tuplet_bracket_HH