summaryrefslogtreecommitdiff
path: root/src/swalker.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/swalker.cc')
-rw-r--r--src/swalker.cc32
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();
+}
+