mirror of
https://github.com/ghostty-org/ghostty.git
synced 2025-07-21 11:16:08 +03:00
terminal: cleaner impl of getTopLeft(.active)
This commit is contained in:
@ -2369,17 +2369,18 @@ pub fn getTopLeft(self: *const PageList, tag: point.Tag) Pin {
|
|||||||
// much faster because we don't need to update the top left. Under
|
// much faster because we don't need to update the top left. Under
|
||||||
// heavy load this makes a measurable difference.
|
// heavy load this makes a measurable difference.
|
||||||
.active => active: {
|
.active => active: {
|
||||||
var page = self.pages.last.?;
|
|
||||||
var rem = self.rows;
|
var rem = self.rows;
|
||||||
while (rem > page.data.size.rows) {
|
var it = self.pages.last;
|
||||||
rem -= page.data.size.rows;
|
while (it) |page| : (it = page.prev) {
|
||||||
page = page.prev.?; // assertion: we always have enough rows for active
|
if (rem <= page.data.size.rows) break :active .{
|
||||||
}
|
|
||||||
|
|
||||||
break :active .{
|
|
||||||
.page = page,
|
.page = page,
|
||||||
.y = page.data.size.rows - rem,
|
.y = page.data.size.rows - rem,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
rem -= page.data.size.rows;
|
||||||
|
}
|
||||||
|
|
||||||
|
unreachable; // assertion: we always have enough rows for active
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user