Реализация scalling-а

This commit is contained in:
2025-12-22 22:54:07 +03:00
parent eed4a3088d
commit 8d16135a9b
2 changed files with 41 additions and 2 deletions

View File

@@ -1,5 +1,6 @@
#pragma once
constexpr auto EPS = 1e-9;
constexpr auto ZOOM_STEP = 0.05;
#include <QWidget>
#include <QMouseEvent>
@@ -54,6 +55,15 @@ public:
/// Изменить текущий режим работы
void changeMode(Mode newMode);
/// Увеличить масштаб
void zoomIn();
/// Уменьшить масштаб
void zoomOut();
/// Сбросить масштаб к 100%
void zoomReset();
protected:
// Обработчики событий Qt
void mousePressEvent(QMouseEvent* event) override;
@@ -132,6 +142,7 @@ private:
// ====================== Флаги состояния ======================
bool after_constraint{ false }; ///< Флаг, что только что добавлено ограничение
double scaleFactor { 1.0 };
// ====================== Счётчики ======================