]> git.donarmstrong.com Git - lilypond.git/blob - lily/include/event-chord-iterator.hh
b985f45db350200e9e63b2009aceec0be079c172
[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   DECLARE_SCHEME_CALLBACK(constructor, ());
34   Event_chord_iterator ();
35   Event_chord_iterator (Event_chord_iterator const&);
36
37 protected:
38   virtual void process (Moment);
39   virtual void construct_children ();
40 };
41
42
43 #endif // EVENT_ITER_HH