summaryrefslogtreecommitdiff
path: root/src/swalker.cc
blob: db48fd1f8241e6d98683def24109780c0d380ef7 (about) (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
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();
}