From 85b3672bc8d3bf9e78fe4c7fa185aeb5cee9575b Mon Sep 17 00:00:00 2001 From: 23rd <23rd@vivaldi.net> Date: Thu, 28 Jan 2021 02:33:49 +0300 Subject: [PATCH] Reduced size of volume speaker in list of participants in group calls. --- .../icons/calls/volume/speaker_small.png | Bin 0 -> 310 bytes .../icons/calls/volume/speaker_small@2x.png | Bin 0 -> 521 bytes .../icons/calls/volume/speaker_small@3x.png | Bin 0 -> 734 bytes Telegram/SourceFiles/calls/calls.style | 10 +++++++++ .../SourceFiles/calls/calls_group_members.cpp | 20 ++++++++++-------- 5 files changed, 21 insertions(+), 9 deletions(-) create mode 100644 Telegram/Resources/icons/calls/volume/speaker_small.png create mode 100644 Telegram/Resources/icons/calls/volume/speaker_small@2x.png create mode 100644 Telegram/Resources/icons/calls/volume/speaker_small@3x.png diff --git a/Telegram/Resources/icons/calls/volume/speaker_small.png b/Telegram/Resources/icons/calls/volume/speaker_small.png new file mode 100644 index 0000000000000000000000000000000000000000..c2ae4490bf6556e9696750876313d363357a7be2 GIT binary patch literal 310 zcmV-60m=S}P)16_h7n$JUEjC`;Lj#KKc}0ZX#5 zWhE=6lqW!nq|}{T(@ayt7@L`YdHTNFse2IQpC`+5p66MX34(A=D~hsh8>Gv!tn2!a zLs1mRao2SL06`F77-m^k-}gHx&-3sl@Hoib^FyI1imIwKO;c4>6vbz5+xEUNj-zRs z@A+lnu+n9r>pIW#E>sG`aGIthNunt7eV-tR6M>>A$i;CCopoK|moW_UNq9X;l7?Yu znucXr$8liW^J#D#*S76E&&#r;Y5LXpXqq+*L)UeZB!9U18?%>|F7w`Y4*&oF07*qo IM6N<$f@PY9nE(I) literal 0 HcmV?d00001 diff --git a/Telegram/Resources/icons/calls/volume/speaker_small@2x.png b/Telegram/Resources/icons/calls/volume/speaker_small@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..83ec9546b586cab72657467f8305aac6a3b56390 GIT binary patch literal 521 zcmV+k0`~ohP)F5M7f47*w6(PzK79Dtv13h5O#%V})HGdNTl?X| zhyRhl&6_ucg@vhOx|5UBhYuhAV}Qw%CsV=nxVX4qzkWeXeDL6bjg5`Hy*-3`@!~~F zO|P%7hr9R8nKQs>01C3QvO+}e+_^)ti5wgpJYc}j&p&_ue7NbGH*ePfbss;UZZ;{E&gufo95 zqep#xeX%--Gz<3c-w)B??d?sZk4duto`Z;tFp@2J^ym>u7LXhVqZW(+3oc!{1kpfb z`A%{&oi}eDL<7*K%F4=o7>JLL2bOwNus}mY469bFXk#Lgpu)yxv(08RbmGZm zVzpYgy~$(}Z*RBTXSZ>?-Rt!lwHc4cI-L$55DJCxu5Pz`Mimx|1)qShN?u=I<#IVX z>|8iZ+)Q5+MvkPr87z~|GhmZ>H<@x!U$z+~g2v5qCO64yE zSY*3}4#?zrJRTK7d*O1qyQQFBuO}9ZFC(nGmdq#>+TwIN31`H|#|JFF zZEq|V!`tC2Q&bpF07*qoM6N<$f_4B~#Q*>R literal 0 HcmV?d00001 diff --git a/Telegram/SourceFiles/calls/calls.style b/Telegram/SourceFiles/calls/calls.style index b1616807b0..446780c1bd 100644 --- a/Telegram/SourceFiles/calls/calls.style +++ b/Telegram/SourceFiles/calls/calls.style @@ -809,6 +809,16 @@ groupCallSpeakerArcsAnimation: ArcsAnimation { startWidth: 0px; } +groupCallStatusSpeakerIcon: icon {{ "calls/volume/speaker_small", groupCallIconFg }}; +groupCallStatusSpeakerArcsSkip: 3px; +groupCallStatusSpeakerArcsAnimation: ArcsAnimation(groupCallSpeakerArcsAnimation) { + deltaAngle: 68; + space: 3px; + deltaHeight: 5px; + deltaWidth: 4px; + startHeight: 1px; +} + callTopBarMuteCrossLine: CrossLineAnimation { fg: callBarFg; icon: icon {{ "calls/call_record_active", callBarFg }}; diff --git a/Telegram/SourceFiles/calls/calls_group_members.cpp b/Telegram/SourceFiles/calls/calls_group_members.cpp index 540f8d08e4..a1ffe11519 100644 --- a/Telegram/SourceFiles/calls/calls_group_members.cpp +++ b/Telegram/SourceFiles/calls/calls_group_members.cpp @@ -49,8 +49,9 @@ constexpr auto kWideScale = 5; constexpr auto kSpeakerThreshold = { Group::kDefaultVolume * 0.1f / Group::kMaxVolume, - Group::kDefaultVolume * 0.5f / Group::kMaxVolume, - Group::kDefaultVolume * 1.5f / Group::kMaxVolume }; + Group::kDefaultVolume * 0.9f / Group::kMaxVolume }; + +constexpr auto kArcsStrokeRatio = 0.8; auto RowBlobs() -> std::array { return { { @@ -188,9 +189,9 @@ private: struct StatusIcon { StatusIcon(float volume) - : speaker(st::groupCallMuteCrossLine.icon) + : speaker(st::groupCallStatusSpeakerIcon) , arcs(std::make_unique( - st::groupCallSpeakerArcsAnimation, + st::groupCallStatusSpeakerArcsAnimation, kSpeakerThreshold, volume, Ui::Paint::ArcsAnimation::HorizontalDirection::Right)) { @@ -398,6 +399,7 @@ void Row::setSpeaking(bool speaking) { } else if (!_statusIcon) { _statusIcon = std::make_unique( (float)_volume / Group::kMaxVolume); + _statusIcon->arcs->setStrokeRatio(kArcsStrokeRatio); _statusIcon->arcsWidth = _statusIcon->arcs->finishedWidth(); const auto wasArcsWidth = _statusIcon->lifetime.make_state(0); @@ -599,9 +601,7 @@ int Row::statusIconWidth() const { return 0; } return _speaking - ? (_statusIcon->speaker.width() / 2 - + _statusIcon->arcsWidth - + st::groupCallMenuVolumeSkip) + ? (_statusIcon->speaker.width() + _statusIcon->arcsWidth) : 0; } @@ -632,8 +632,10 @@ void Row::paintStatusIcon( st.statusPosition + QPoint(0, (font->height - statusIconHeight()) / 2), _statusIcon->speaker.size()); - const auto arcPosition = speakerRect.center() - + QPoint(0, st::groupCallMenuSpeakerArcsSkip); + const auto arcPosition = speakerRect.topLeft() + + QPoint( + speakerRect.width() - st::groupCallStatusSpeakerArcsSkip, + speakerRect.height() / 2); const auto volume = std::round(_volume / 100.); _statusIcon->speaker.paint(