]> git.donarmstrong.com Git - lilypond.git/commitdiff
lilypond-0.0.38
authorfred <fred>
Sun, 24 Mar 2002 19:34:06 +0000 (19:34 +0000)
committerfred <fred>
Sun, 24 Mar 2002 19:34:06 +0000 (19:34 +0000)
hdr/walkregs.hh

index 93801d07176426306607a30898784de468f9534e..643ce57605430b60935559236e07ec52054b0361 100644 (file)
 
 #include "registergroup.hh"
 
-struct Walker_registers : Register_group {
-    Walker_registers(Complex_walker *w);
+/**
+  Top level registers: the interface to Complex_walker.
+
+  [sigh. Sometimes I wish C++ could do better late binding.]
+ */
+struct Walker_registers : 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_;
+    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);
+    virtual Staff_info get_staff_info();
+
+    virtual void announce_element(Staff_elem_info);
+    virtual void acknowledge_element(Staff_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 pre_move_processing();
+    virtual void post_move_processing();
+    virtual Paper_def * paper() const;
 };
 
 #endif // WALKREGS_HH