]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/include/walk-regs.hh
release: 0.0.65
[lilypond.git] / lily / include / walk-regs.hh
index daa4690932c437f3099df2bf2f823dc33777c589..e339baa9836447dcbc2a3a5a03f20195bf8f2dbd 100644 (file)
@@ -1,7 +1,7 @@
 /*
   walkregs.hh -- declare Walker_registers
 
-  source file of the LilyPond music typesetter
+  source file of the GNU LilyPond music typesetter
 
   (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
 */
 
 
 #include "register-group.hh"
-
+#include "parray.hh"
 /**
   Top level registers: the interface to Complex_walker.
 
   [sigh. Sometimes I wish C++ could do better late binding.]
- */
-struct Walker_registers : Register_group_register {
+
+  Basically, this distributes and collects elements and elementinfo to
+  children
+  */
+class Walker_registers : public Register_group_register {
+
     Array<Item*> prebreak_item_p_arr_;
     Array<Item*> nobreak_item_p_arr_;
     Array<Item*> postbreak_item_p_arr_;
-    Array<Staff_elem_info> announce_info_arr_;
-    Array<Voice_group_registers*> group_l_arr_;
+    Link_array<Score_elem> musical_item_p_arr_;
+    
+    Array<Score_elem_info> announce_info_arr_;
     Complex_walker * walk_l_;
-
-    /* *************** */
-    void change_group(Group_change_req * greq_l,
-                     Voice_registers *voice_regs_l,
-                     Voice_group_registers * old_group);
-    Voice_group_registers * get_group(String id);
-    void typeset_musical_item(Staff_elem * elem_p);
-    Walker_registers(Complex_walker*);
-    void do_announces();
-    void terminate_register(Request_register * reg);
-    virtual bool try_request(Request * r);
+protected:   
     virtual Staff_info get_staff_info();
 
-    virtual void announce_element(Staff_elem_info);
-    virtual void acknowledge_element(Staff_elem_info);
+    virtual void announce_element(Score_elem_info);
+    virtual void acknowledge_element(Score_elem_info);
     virtual void typeset_breakable_item(Item * pre_p , Item * nobreak_p, Item * post_p);
-    virtual void typeset_element(Staff_elem*elem_p);
+    virtual void typeset_element(Score_elem*elem_p);
+    virtual Paper_def * paper() const;
+public:
     virtual void pre_move_processing();
     virtual void post_move_processing();
-    virtual Paper_def * paper() const;
+
+
+    void do_announces();
+    Walker_registers(Complex_walker*);
 };
 
 #endif // WALKREGS_HH