diff options
Diffstat (limited to 'src/swalker.cc')
-rw-r--r-- | src/swalker.cc | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/src/swalker.cc b/src/swalker.cc new file mode 100644 index 0000000000..db48fd1f82 --- /dev/null +++ b/src/swalker.cc @@ -0,0 +1,32 @@ +#include "request.hh" +#include "swalker.hh" +#include "stcol.hh" + +Staff_walker::~Staff_walker() {} + +Staff_walker::Staff_walker(Staff * s, PScore*ps ) + : PCursor<Staff_column*> (s->cols) +{ + staff_ = s; + pscore_ = ps; + break_status = BREAK_END - BREAK_PRE; +} + +Real +Staff_walker::when() const +{ + return (* (PCursor<Staff_column*> *) this)->when(); +} + +void +Staff_walker::process() +{ + break_status = BREAK_END - BREAK_PRE; + + for (int i = 0 ; i < (*this)->s_commands.sz(); i++) { + process_command((*this)->s_commands[i]); + } + + process_requests(); +} + |