]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/include/staff-side.hh
release: 0.0.74pre
[lilypond.git] / lily / include / staff-side.hh
index bd29c53b5c8b3a2c8eeba198e153b86ed8da6b6e..d62da65daddf63cf4f2a8194eaeb3d569ab3d18a 100644 (file)
@@ -1,7 +1,7 @@
 /*
   staff-side.hh -- declare Staff_side
 
-  source file of the LilyPond music typesetter
+  source file of the GNU LilyPond music typesetter
 
   (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
 */
 #ifndef STAFF_SIDE_HH
 #define STAFF_SIDE_HH
 
-#include "staff-elem.hh"
+#include "score-elem.hh"
+#include "interval.hh"
 
-/// A symbol which sits along  the staff
-class Staff_side  {
-    Array<Staff_elem*> support_l_arr_;
+/** A symbol which sits along a staff
 
-    Staff_symbol * staff_sym_l_;
-    Staff_elem * elem_l_;
+  Should override translate_y() ?
+  */
+class Staff_side : virtual Score_elem {
+    Link_array<Score_elem> support_l_arr_;
+    int staff_size_i_;
     Interval support_height()const;
+    Staff_symbol* staff_sym_l_;
+    int get_position_i()const;
+
+    void read_staff_sym();
 public:
-       /**
+
+    /**
       Vertical dir of symbol relative to staff. -1 = below staff?
       */
     int dir_i_;
+    Interval sym_int_;
     
     /// follow the support inside the staff?
     bool inside_staff_b_;
 
-    void set_staffsym(Staff_symbol*);
+    int pos_i_;
+
+    void set_staffsym(Staff_symbol *  );
   
-    Staff_side(Staff_elem*);
-    void add_support(Staff_elem*);
+    Staff_side();
+    void add_support(Score_elem*);
+    NAME_MEMBERS();
     
 protected:
-    int get_position_i()const;
+    virtual Interval symbol_height() const;
+    virtual void do_substitute_dependency(Score_elem *, Score_elem*);
+    virtual void do_post_processing();
 };
 #endif // STAFF_SIDE_HH