]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/include/tuplet-spanner.hh
release: 1.3.145
[lilypond.git] / lily / include / tuplet-spanner.hh
index e9bd60a02811724ff939d959cfe2ea4458744548..ebafc2eb19752006bfdef5989df1a8a8f7d3dee9 100644 (file)
@@ -1,40 +1,38 @@
 /*
   plet-spanner.hh -- part of GNU LilyPond
 
-  (c)  1997--1999 Jan Nieuwenhuizen <janneke@gnu.org>
+  (c)  1997--2001 Jan Nieuwenhuizen <janneke@gnu.org>
 */
 
-#ifndef Tuplet_spanner_HH
-#define Tuplet_spanner_HH
-#include "text-def.hh"
-#include "pointer.hh"
-#include "directional-spanner.hh"
+#ifndef Tuplet_bracket_HH
+#define Tuplet_bracket_HH
 
-/** supportable plet: triplets, eentweetjes, ottava, etc.  */
+#include "lily-guile.hh"
 
-class Tuplet_spanner : public Directional_spanner
+/*
+
+    TODO: quantise, we don't want to collide with staff lines.
+ (or should we be above staff?)
+
+  todo: handle breaking elegantly.
+*/
+class Tuplet_bracket
 {
 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_;
-  
-protected:
-  Beam *beam_l_;
-  Link_array<Note_column> column_arr_;
+  DECLARE_SCHEME_CALLBACK (brew_molecule, (SCM ));
+  static void set_interface (Grob*);  
+  static bool has_interface (Grob*);
+
+  static void add_column (Grob*me,Item*);
+  static void add_beam (Grob*me,Grob*);
 
-  virtual Molecule* do_brew_molecule_p () const;
-  VIRTUAL_COPY_CONS(Score_element);
+  static void calc_dy (Grob*,Real *) ;
+  static void calc_position_and_height (Grob*,Real*,Real *dy);
+  
+  DECLARE_SCHEME_CALLBACK (after_line_breaking, (SCM ));
 
-  virtual void do_add_processing ();
-  virtual void do_post_processing ();
-  virtual void set_default_dir ();
-  virtual void do_substitute_dependency (Score_element*,Score_element*);
+  static Direction get_default_dir (Grob*);
 };
 
-#endif // Tuplet_spanner_HH
+#endif // Tuplet_bracket_HH