]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/include/script.hh
* Documentation/user/tutorial.itely: Revised (continued).
[lilypond.git] / lily / include / script.hh
index a9beecb022544933e52a8e05e5ba1593b68ea7ea..6a741548c6ddf6d3687f94a1f3bec40fdb2f3d3e 100644 (file)
@@ -3,39 +3,34 @@
   
   source file of the GNU LilyPond music typesetter
   
-  (c) 1999 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+  (c) 1999--2004 Han-Wen Nienhuys <hanwen@cs.uu.nl>
   
  */
 
 #ifndef SCRIPT_HH
 #define SCRIPT_HH
 
-#include "item.hh"
-#include "drul-array.hh"
+#include "lily-guile.hh"
+#include "lily-proto.hh"
 
 /**
    Articulation marks (and the like) that are attached to notes/stems.
    Needs support from Staff_side for proper operation.  Staff_side
    handles the positioning.
-
 */
-class Script : public Item
+class Script_interface
 {
-  Staff_side_item * staff_side_l_;
-
-  Molecule get_molecule (Direction d) const;
 public:
-  Script ();
-  void set_staff_side (Staff_side_item*);
-
-protected:
-  virtual void do_print () const;
-  virtual void do_substitute_element_pointer (Score_element*o,
-                                             Score_element*n);
-  virtual void do_pre_processing ();
-  virtual void do_post_processing ();
-  Molecule* do_brew_molecule_p () const;
+  static Stencil get_stencil (Grob*,Direction d);
+  
+  static bool  has_interface (Grob*);
+  DECLARE_SCHEME_CALLBACK (print, (SCM ));
+  DECLARE_SCHEME_CALLBACK (before_line_breaking, (SCM ));
 };
 
+void make_script_from_event (Grob *p,
+                            SCM * descr, Context *tg,
+                            SCM type, 
+                            int index);
 #endif /* Stem_SCRIPT_HH */