Улучшение

This commit is contained in:
2026-02-23 20:05:24 +03:00
parent b30865d105
commit 1dda9c9d15
2 changed files with 4 additions and 6 deletions

View File

@@ -117,7 +117,7 @@ pub fn getScaledImageSize(self: Canvas) ImageRect {
/// `viewport` и `scroll_offset` ожидаются в *physical* пикселях (т.е. уже умноженные на windowNaturalScale).
///
/// После обновления (или если текстуры ещё нет) перерисовывает текстуру, чтобы она содержала только видимую часть.
pub fn updateVisibleImageRect(self: *Canvas, viewport: dvui.Rect, scroll_offset: dvui.Point) !bool {
pub fn updateVisibleImageRect(self: *Canvas, viewport: dvui.Rect, scroll_offset: dvui.Point) bool {
const next = computeVisibleImageRect(self.*, viewport, scroll_offset);
var changed = false;
if (self._visible_rect) |vis| {

View File

@@ -49,11 +49,9 @@ fn drawCanvasContent(canvas: *Canvas, scroll: anytype) void {
.y = scroll_current.y * natural_scale,
};
const changed = canvas.updateVisibleImageRect(viewport_px, scroll_px) catch |err| {
std.debug.print("updateVisibleImageRect error: {}\n", .{err});
return false;
};
if (changed) canvas.requestRedraw();
const changed = canvas.updateVisibleImageRect(viewport_px, scroll_px);
if (changed)
canvas.requestRedraw();
canvas.processPendingRedraw() catch |err| {
std.debug.print("processPendingRedraw error: {}\n", .{err});
};