]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/include/script.hh
* make/lilypond-vars.make (PYTHONPATH): Add python's outdir to
[lilypond.git] / lily / include / script.hh
index e55d252ff1a1b0e62c0f6363ad3262a76db76543..8773172d8254fae938267f82853a71bec168b03f 100644 (file)
@@ -1,49 +1,32 @@
-/*
-  script.hh -- part of GNU LilyPond
-
-  (c) 1996,97 Han-Wen Nienhuys
-*/
+/*   
+  script.hh -- declare Script
+  
+  source file of the GNU LilyPond music typesetter
+  
+  (c) 1999--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+  
+ */
 
 #ifndef SCRIPT_HH
 #define SCRIPT_HH
 
-#include "staff-side.hh"
-#include "script-def.hh"
-#include "item.hh"
-  
-/**
-  Accents that are put over a note-group.
- */
-class Script : public Item, public Staff_side {
-     /**
-      Vertical dir of symbol. -1 means invert the symbol.
-     */
-    int symdir_i_;
-    
-    int pos_i_;
-    
-    Script_def *specs_l_;
-    Stem *stem_l_;
+#include "lily-guile.hh"
+#include "lily-proto.hh"
 
-    /* *************** */
-protected:
-    Molecule *brew_molecule_p()const;
-    virtual void do_post_processing();
-    virtual void do_pre_processing();
-    virtual Interval do_width() const;
-private:
-    void set_symdir();
-    void set_default_dir();
-    void set_default_index();
-    Symbol symbol()const;
+/**
+   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:
-    static int compare(Script  *const&, Script *const&) ;
-    Script(Script_req*);
-    void set_stem(Stem*);
-    NAME_MEMBERS(Script);
-
+  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
+#endif /* Stem_SCRIPT_HH */