From 1504f92a64d63cb45ea5ad5dd6d9adeb06da40cd Mon Sep 17 00:00:00 2001 From: 23rd <23rd@vivaldi.net> Date: Sun, 21 Mar 2021 20:22:22 +0300 Subject: [PATCH] Fixed size limits of item on big images. --- Telegram/SourceFiles/editor/scene/scene_item_base.cpp | 8 ++++++-- Telegram/SourceFiles/editor/scene/scene_item_base.h | 4 ++++ 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/Telegram/SourceFiles/editor/scene/scene_item_base.cpp b/Telegram/SourceFiles/editor/scene/scene_item_base.cpp index da7d7ed49..4c488fa5f 100644 --- a/Telegram/SourceFiles/editor/scene/scene_item_base.cpp +++ b/Telegram/SourceFiles/editor/scene/scene_item_base.cpp @@ -74,6 +74,10 @@ ItemBase::ItemBase( _scaledHandleSize, _scaledHandleSize, _scaledHandleSize) * 0.5; + _sizeLimits = { + .min = int(st::photoEditorItemMinSize / zoom), + .max = int(st::photoEditorItemMaxSize / zoom), + }; }, _lifetime); } @@ -124,8 +128,8 @@ void ItemBase::mouseMoveEvent(QGraphicsSceneMouseEvent *event) { prepareGeometryChange(); _horizontalSize = std::clamp( (dx > dy ? dx : dy), - st::photoEditorItemMinSize, - st::photoEditorItemMaxSize); + _sizeLimits.min, + _sizeLimits.max); updateVerticalSize(); } diff --git a/Telegram/SourceFiles/editor/scene/scene_item_base.h b/Telegram/SourceFiles/editor/scene/scene_item_base.h index 3530b96e3..b734e1345 100644 --- a/Telegram/SourceFiles/editor/scene/scene_item_base.h +++ b/Telegram/SourceFiles/editor/scene/scene_item_base.h @@ -90,6 +90,10 @@ private: base::unique_qptr _menu; + struct { + int min = 0.; + int max = 0.; + } _sizeLimits; float64 _scaledHandleSize = 1.0; QMarginsF _scaledInnerMargins;