/*
- script.hh -- part of LilyPond
+ script.hh -- part of GNU LilyPond
- (c) 1996,97 Han-Wen Nienhuys
+ (c) 1996--1998 Han-Wen Nienhuys
*/
#ifndef SCRIPT_HH
#define SCRIPT_HH
-#include "script-def.hh"
+#include "staff-side.hh"
#include "item.hh"
-struct Script : Item {
- int dir;
- int symdir;
- int pos;
- int staffsize;
- Script_def *specs_l_;
- Stem *stem_l_;
- Array<Item *> support;
-
- /* *************** */
- NAME_MEMBERS(Script);
- Molecule *brew_molecule_p()const;
- virtual void do_post_processing();
- virtual void do_pre_processing();
- Script(Script_req*, int staffsize);
- void set_support(Item*);
- void set_stem(Stem*);
- Interval support_height()const;
- virtual Interval width() const;
+/**
+ Accents that are put over a note-group.
+ */
+class Script : public Item, public Staff_side {
+ Stem *stem_l_;
+
+protected:
+ Molecule *do_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:
- void set_symdir();
- void set_default_dir();
- void set_default_index();
- Symbol symbol()const;
+
+ void set_default_dir();
+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*);
+
};