fix: allow wrapping in putstr calls on scrollable vaxis planes
This commit is contained in:
parent
b3543f520c
commit
26232c3af3
2 changed files with 7 additions and 5 deletions
|
@ -142,8 +142,6 @@ pub fn putstr(self: *Plane, text: []const u8) !usize {
|
|||
const width = self.window.width;
|
||||
var iter = self.window.screen.unicode.graphemeIterator(text);
|
||||
while (iter.next()) |grapheme| {
|
||||
if (self.col >= width)
|
||||
return result;
|
||||
const s = grapheme.bytes(text);
|
||||
if (std.mem.eql(u8, s, "\n")) {
|
||||
if (self.scrolling and self.row == height - 1)
|
||||
|
@ -154,6 +152,12 @@ pub fn putstr(self: *Plane, text: []const u8) !usize {
|
|||
result += 1;
|
||||
continue;
|
||||
}
|
||||
if (self.col >= width) {
|
||||
if (self.scrolling) {
|
||||
self.row += 1;
|
||||
self.col = 0;
|
||||
} else return result;
|
||||
}
|
||||
self.write_cell(@intCast(self.col), @intCast(self.row), s);
|
||||
result += 1;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue