]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/include/script.hh
2003 -> 2004
[lilypond.git] / lily / include / script.hh
index 51b74a29f5edbb75b03ac8cc00b830ce346578be..8fc238a6a9a17915537d9fa7a00b2ef3da41c891 100644 (file)
@@ -1,46 +1,36 @@
-/*
-  script.hh -- part of GNU LilyPond
-
-  (c) 1996--1998 Han-Wen Nienhuys
-*/
+/*   
+  script.hh -- declare Script
+  
+  source file of the GNU LilyPond music typesetter
+  
+  (c) 1999--2004 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+  
+ */
 
 #ifndef SCRIPT_HH
 #define SCRIPT_HH
 
-#include "staff-side.hh"
-#include "item.hh"
-  
-/**
-  Accents that are put over a note-group.
- */
-class Script : public Item, public Staff_side {
-  Stem *stem_l_;
-
-protected:
-  Molecule *brew_molecule_p() const;
-  virtual void do_substitute_dependency (Score_element*,Score_element*);
-  virtual void do_print() const;
-  virtual Interval symbol_height() const;
-  virtual Interval symbol_width () const;
-  virtual void do_pre_processing();
-  virtual Interval do_width() const;
-  VIRTUAL_COPY_CONS(Score_element);
-private:
+#include "lily-guile.hh"
+#include "lily-proto.hh"
 
-  void set_default_dir();
+/**
+   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_interface
+{
 public:
-  General_script_def *specs_p_;
-  bool postbreak_only_b_;
-    
-  static int compare (Script  *const&, Script *const&) ;
-  Script();
-  ~Script ();
-  Script (Script const&);
-   
-  void set_stem (Stem*);
+  static Molecule get_molecule (Grob*,Direction d);
   
+  static bool  has_interface (Grob*);
+  DECLARE_SCHEME_CALLBACK (brew_molecule, (SCM ));
+  DECLARE_SCHEME_CALLBACK (before_line_breaking, (SCM ));
 };
 
-
-#endif // SCRIPT_HH
+void make_script_from_event (Grob *p,
+                            SCM * descr, Translator_group*tg,
+                            SCM type, 
+                            int index);
+#endif /* Stem_SCRIPT_HH */