]> git.donarmstrong.com Git - lilypond.git/blob - lily/include/event-chord-iterator.hh
* The grand 2005-2006 replace.
[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--2006 Han-Wen Nienhuys <hanwen@xs4all.nl>
7 */
8
9 #ifndef EVENT_ITER_HH
10 #define EVENT_ITER_HH
11
12 #include "simple-music-iterator.hh"
13
14 /**
15    Walk through a Event_chord
16 */
17 class Event_chord_iterator : public Simple_music_iterator
18 {
19   /**
20      Find a bottom notation context to deliver events to.
21   */
22   virtual Context *get_bottom_context ();
23   DECLARE_CLASSNAME(Event_chord_iterator);
24
25   /*
26     Since Event_chord_iterator has no list-cursor internally, we
27     must use a status variable to adminstrate where we are */
28
29   enum { NONE_DONE, START_DONE, END_DONE }
30     status_;
31
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 #endif // EVENT_ITER_HH