]> git.donarmstrong.com Git - lilypond.git/blob - lily/include/event-chord-iterator.hh
* Another grand 2003 update.
[lilypond.git] / lily / include / event-chord-iterator.hh
1 /*
2   event-iter.hh -- declare Event_chord_iterator
3
4   source file of the GNU LilyPond music typesetter
5
6   (c)  1997--2003 Han-Wen Nienhuys <hanwen@cs.uu.nl>
7 */
8
9
10 #ifndef EVENT_ITER_HH
11 #define EVENT_ITER_HH
12
13 #include "simple-music-iterator.hh"
14
15 /**
16    Walk through a Event_chord
17  */
18 class Event_chord_iterator : public Simple_music_iterator
19 {
20   Event_chord * get_elt () const;
21   /**
22      Find a bottom notation context to deliver events to.
23    */
24   virtual Translator_group* get_req_translator ();
25
26
27   /*
28     Since Event_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   Event_chord_iterator ();
36   Event_chord_iterator (Event_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 // EVENT_ITER_HH