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;