]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/include/script-def.hh
release: 0.0.78
[lilypond.git] / lily / include / script-def.hh
index 8d9528b45a95a2e7f4df48db885d6856241a5280..890ce377bc064b497978dfb752fa20f95a26b0a4 100644 (file)
@@ -1,5 +1,5 @@
 /*
-  script-def.hh -- part of LilyPond
+  script-def.hh -- part of GNU LilyPond
 
   (c) 1996,97 Han-Wen Nienhuys
 */
@@ -7,19 +7,47 @@
 #ifndef SCRIPTDEF_HH
 #define SCRIPTDEF_HH
 #include "string.hh"
+#include "general-script-def.hh"
+
+/** The characteristics of a certain kind of accent. It is not the
+  accent itself.  */
+class Script_def : public General_script_def {
+    /// invert if below staff?
+    bool invertsym_b_;
+    String symidx_str_;
+    
+
+    /// on the other side of the stem?
+    int rel_stem_dir_i_;
+
+    /// below or above staff?
+    int staff_dir_i_;
+
+    /// how close to the note do we want to be?
+    int priority_i_;
+    
+    /// follow the ball inside staff?
+    bool inside_staff_b_;
+
+public:
+    virtual int staff_dir_i()const;
+    virtual int rel_stem_dir_i()const;
+    virtual int priority_i()const;
+    virtual bool inside_b()const;
+    virtual Atom get_atom(Paper_def* p, int dir_i_)const;
+    DECLARE_MY_RUNTIME_TYPEINFO;
+
+    virtual bool do_equal_b(General_script_def const &)const;
+    virtual void do_print() const;
+    Script_def();
+    void set_from_input(String, bool, int, int ,bool,int );
+protected:
+    VIRTUAL_COPY_CONS(Script_def,General_script_def);
+
+};
 
-struct Script_def{
-    int stemdir;
-    int staffdir;
 
-    bool invertsym;
-    String symidx;
 
-    /* *************** */
-    int compare(Script_def const &);
-    void print() const;
-    Script_def(String, int, int ,bool);
-};
 
 
 #endif // SCRIPTDEF_HH