From fa4b7145f58f5f2542c8e962396ec3ad5c14608a Mon Sep 17 00:00:00 2001 From: 23rd <23rd@vivaldi.net> Date: Sat, 11 Sep 2021 17:15:40 +0300 Subject: [PATCH] Added extra space to choosing sticker animation in left position. --- .../history/view/history_view_send_action.cpp | 2 +- .../SourceFiles/ui/effects/send_action_animations.cpp | 11 +++++++++++ .../SourceFiles/ui/effects/send_action_animations.h | 1 + 3 files changed, 13 insertions(+), 1 deletion(-) diff --git a/Telegram/SourceFiles/history/view/history_view_send_action.cpp b/Telegram/SourceFiles/history/view/history_view_send_action.cpp index 84a8d2457..42438049e 100644 --- a/Telegram/SourceFiles/history/view/history_view_send_action.cpp +++ b/Telegram/SourceFiles/history/view/history_view_send_action.cpp @@ -309,7 +309,7 @@ bool SendActionPainter::updateNeedsAnimating(crl::time now, bool force) { // FontData::spacew for more precise calculation. const auto mf = QFontMetricsF(_st.font->f); _spacesCount = std::round( - _sendActionAnimation.width() + _sendActionAnimation.widthNoMargins() / mf.horizontalAdvance(' ')); } newTypingString = newTypingString.replace( diff --git a/Telegram/SourceFiles/ui/effects/send_action_animations.cpp b/Telegram/SourceFiles/ui/effects/send_action_animations.cpp index 112a64213..14eb24976 100644 --- a/Telegram/SourceFiles/ui/effects/send_action_animations.cpp +++ b/Telegram/SourceFiles/ui/effects/send_action_animations.cpp @@ -38,6 +38,9 @@ public: bool supports(Type type) const; virtual int width() const = 0; + virtual int widthNoMargins() const { + return width(); + } virtual void paint( Painter &p, style::color color, @@ -520,6 +523,10 @@ public: } int width() const override { + return widthNoMargins() + _eye.step * 2; + } + + int widthNoMargins() const override { return st::historySendActionChooseStickerPosition.x() + 2 * (_eye.outWidth + _eye.step) + _eye.step; @@ -681,6 +688,10 @@ int SendActionAnimation::width() const { return _impl ? _impl->width() : 0; } +int SendActionAnimation::widthNoMargins() const { + return _impl ? _impl->widthNoMargins() : 0; +} + void SendActionAnimation::paint( Painter &p, style::color color, diff --git a/Telegram/SourceFiles/ui/effects/send_action_animations.h b/Telegram/SourceFiles/ui/effects/send_action_animations.h index 3d3af1f54..37504b76b 100644 --- a/Telegram/SourceFiles/ui/effects/send_action_animations.h +++ b/Telegram/SourceFiles/ui/effects/send_action_animations.h @@ -25,6 +25,7 @@ public: void tryToFinish(); int width() const; + int widthNoMargins() const; void paint( Painter &p, style::color color,