|
|
#ifndef _SCOREITERATOR_H_ #define _SCOREITERATOR_H_ // // usage: // // gi = new ScoreIterator(_editor); // respects left and right positions // // for (ScoreIterator gi = ScoreIterator(_editor); !gi.done(); gi++) { // draw(gi); // } // // // // // // #include <ostream.h> #include "position.h" #include "iterator.h" #include "table.h" #include "systemIterator.h" class PrPartEditor; class Track; class Part; class Event; class Note; enum ScoreArea { LeftBorder, Clef, Indent, Score, RightBorder }; class ScoreIterator : public Iterator { private: SystemIterator ** _iterator; ScoreBar ** _bar; ScoreBar ** _ref_bar; PrScoreEditor * _editor; int _systems; int _ptr; int _max; int _res; bool _no_overlap; double _scale; int _width; int _xoffset; int _xpos; long _lpos; long _rpos; void incr(); public: ScoreIterator(const ScoreIterator& i); ScoreIterator(PrScoreEditor * editor, int xoff, Position lpos = -1, Position rpos = -1); ~ScoreIterator(); /** creates the Score from the events */ void init(); bool done(); void paint(); void print(ostream&); Element * operator *(); Iterator& operator++(); Iterator operator++(int); ScoreBar * firstBar(int) const; long ticks(int xpos, ScoreArea & area) const; int xposition(long ticks); }; #endif
Generated by: wuerthne on clouseau on Fri Sep 21 19:20:46 2001, using kdoc 2.0a53. |