From 9e2bb23c8acf6d18885a6a520e42310f933dadd7 Mon Sep 17 00:00:00 2001 From: Roman Pytkov Date: Thu, 26 Feb 2026 19:06:36 +0300 Subject: [PATCH] =?UTF-8?q?=D0=9A=D0=BB=D0=B0=D1=81=D1=81=D0=BD=D1=8B?= =?UTF-8?q?=D0=B9=20=D0=B7=D1=83=D0=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/Canvas.zig | 5 +++++ src/ui/canvas_view.zig | 3 ++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/src/Canvas.zig b/src/Canvas.zig index c497779..4658894 100644 --- a/src/Canvas.zig +++ b/src/Canvas.zig @@ -99,6 +99,11 @@ pub fn addZoom(self: *Canvas, value: f32) void { self._zoom = @max(self._zoom, 0.01); } +pub fn multZoom(self: *Canvas, value: f32) void { + self._zoom *= value; + self._zoom = @max(self._zoom, 0.01); +} + pub fn getZoom(self: Canvas) f32 { return self._zoom; } diff --git a/src/ui/canvas_view.zig b/src/ui/canvas_view.zig index 4e36494..c68564c 100644 --- a/src/ui/canvas_view.zig +++ b/src/ui/canvas_view.zig @@ -135,7 +135,8 @@ fn handleCanvasZoom(canvas: *Canvas, scroll: anytype) void { }; const doc_pt = canvas.contentPointToDocument(content_pt, natural_scale); - canvas.addZoom(y / 1000); + // canvas.addZoom(y / 1000); + canvas.multZoom(1 + y / 3000); canvas.requestRedraw(); // Сдвигаем viewport так, чтобы точка под курсором (даже вне холста) не уезжала