]> git.donarmstrong.com Git - lilypond.git/blob - lily/include/request-chord-iterator.hh
* VERSION (MY_PATCH_LEVEL): make 1.7.0
[lilypond.git] / lily / include / request-chord-iterator.hh
1 /*
2   request-iter.hh -- declare Request_chord_iterator
3
4   source file of the GNU LilyPond music typesetter
5
6   (c)  1997--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
7 */
8
9
10 #ifndef REQUEST_ITER_HH
11 #define REQUEST_ITER_HH
12
13 #include "simple-music-iterator.hh"
14
15 /**
16    Walk through a Request_chord
17  */
18 class Request_chord_iterator : public Simple_music_iterator
19 {
20   Request_chord * get_elt () const;
21   /**
22      Find a bottom notation context to deliver requests to.
23    */
24   virtual Translator_group* get_req_translator ();
25
26
27   /*
28     Since Request_chord_iterator has no list-cursor internally, we
29     must use a status variable to adminstrate where we are */
30   
31   enum { NONE_DONE, START_DONE, END_DONE }  status_;
32 public:
33   VIRTUAL_COPY_CONS (Music_iterator);
34   DECLARE_SCHEME_CALLBACK(constructor, ());
35   Request_chord_iterator ();
36   Request_chord_iterator (Request_chord_iterator const&);
37
38   virtual SCM get_pending_events (Moment) const;
39 protected:
40   virtual void process (Moment);
41   virtual void construct_children ();
42 };
43
44
45 #endif // REQUEST_ITER_HH