+
+ int end = cursor + 1;
+
+ if (start > 0) {
+ if (timer.Running() && !stalling) {
+ position += lineBreak;
+ const int correction = timer.IterationElapsed();
+ if (correction > 0) {
+ // ++start;
+ position.Y() -= lineBreak.Y() * correction / timer.TargetTime();
+ } else {
+ --end;
+ }
+ }
+ }
+
+ if (end > int(lines.size())) end = lines.size();
+
+ for (int i = start; i < end; ++i) {