]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/include/staff-side.hh
release: 0.1.38
[lilypond.git] / lily / include / staff-side.hh
index bd29c53b5c8b3a2c8eeba198e153b86ed8da6b6e..ffc1e37d9f99011cfeea1e58bb651cf3a29d4fd7 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"
+#include "direction.hh"
 
-/// A symbol which sits along  the staff
-class Staff_side  {
-    Array<Staff_elem*> support_l_arr_;
+/** A symbol which sits along a staff.
+
+  */
+class Staff_side : virtual Score_elem {
+  Link_array<Score_elem> support_l_arr_;
+
+  Interval support_height() const;
+  Real get_position_f() const;
 
-    Staff_symbol * staff_sym_l_;
-    Staff_elem * elem_l_;
-    Interval support_height()const;
 public:
-       /**
-      Vertical dir of symbol relative to staff. -1 = below staff?
-      */
-    int dir_i_;
+
+  /**
+    Vertical dir of symbol relative to staff. -1 = below staff?
+    */
+  Direction dir_;
+  Interval sym_int_;
     
-    /// follow the support inside the staff?
-    bool inside_staff_b_;
+  /// follow the support inside the staff?
+  bool inside_staff_b_;
+
+  Real y_;
+
 
-    void set_staffsym(Staff_symbol*);
+  void set_staffsym (Staff_symbol * );
   
-    Staff_side(Staff_elem*);
-    void add_support(Staff_elem*);
+  Staff_side();
+  void add_support (Score_elem*);
+  DECLARE_MY_RUNTIME_TYPEINFO;
     
 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