]> git.donarmstrong.com Git - lilypond.git/blobdiff - hdr/simplestaff.hh
release: 0.0.15
[lilypond.git] / hdr / simplestaff.hh
index c5c025a1660aabcb881ca9b097cdcbcb077467ff..faf1002d53a01dc03874e2a0ad851ee95e35ddc0 100644 (file)
@@ -7,9 +7,11 @@
 #ifndef SIMPLESTAFF_HH
 #define SIMPLESTAFF_HH
 
+#include "key.hh"
 #include "stcol.hh"
 #include "staff.hh"
 #include "swalker.hh"
+
 /*
    mega-stupido staffs and cols: they do notes one at each moment.   
    */
@@ -20,13 +22,17 @@ struct Simple_staff;
 struct Simple_column : Staff_column {
 
     svec<Rhythmic_req *> notes;
+    svec<Slur_req *> slurs;
     Stem_req *stem_;
+    Real stem_requester_len;
     Beam_req *beam_;
     Simple_staff* staff_;
 
+    
     /****************/
-
-    virtual void typeset_item(Item *, int=1);
+    Slur_req  * find_slur(Voice *);
+    void typeset_item(Item *, int=1);
+    void typeset_item_directional(Item *, int dir, int=1);
 
     Molecule *create_command_mol(Command *com);
 
@@ -46,10 +52,11 @@ struct Simple_staff : Staff {
     Staff_column*create_col(Score_column*);
     
     virtual Item *get_TYPESET_item(Command*);
-    virtual Stem *get_stem(Stem_req *rq)=0;
-    virtual Notehead *get_notehead(Note_req *rq)=0;
+    virtual Stem *get_stem(Stem_req *rq, Real)=0;
+    virtual Notehead *get_notehead(Note_req *rq, int b)=0;
     virtual Rest *get_rest(Rest_req *rq);
     virtual void set_output(PScore *);
+    virtual Local_key_item* get_local_key_item();
 
     void process_commands( PCursor<Command*> &where);
     virtual void walk();
@@ -57,21 +64,6 @@ struct Simple_staff : Staff {
     Simple_staff();
 };
 
-struct Simple_walker: Staff_walker {
-    Stem *stem_;
-    svec<Notehead *>noteheads;
-    Beam *beam_;
-    
-    /****************/
-    
-    virtual void process_command(Command*);
-    virtual void process_requests();
-    Simple_walker(Simple_staff*);
-    Simple_column *col();
-    Simple_staff *staff();
-};
-
-
 #endif // SIMPLESTAFF_HH