-/*
- 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 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;
- SCORE_ELEMENT_CLONE(Script);
-private:
+#include "drul-array.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 : public Item
+{
+ Molecule get_molecule (Direction d) const;
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*);
- DECLARE_MY_RUNTIME_TYPEINFO;
+
+protected:
+ virtual void do_pre_processing ();
+ virtual void do_post_processing ();
+ Molecule* do_brew_molecule_p () const;
};
-
-#endif // SCRIPT_HH
+#endif /* Stem_SCRIPT_HH */