mirror of
https://github.com/AyuGram/AyuGramDesktop.git
synced 2025-06-06 15:13:57 +02:00
Improve first reaction animation in group.
This commit is contained in:
parent
928d8feb21
commit
2c599e60c3
1 changed files with 28 additions and 23 deletions
|
@ -198,12 +198,17 @@ void InlineList::paint(
|
|||
}
|
||||
p.setFont(st::semiboldFont);
|
||||
for (const auto &button : _buttons) {
|
||||
const auto mine = (_data.chosenReaction == button.emoji);
|
||||
const auto withoutMine = button.count - (mine ? 1 : 0);
|
||||
const auto animating = (animated == button.emoji);
|
||||
const auto skipImage = animating
|
||||
&& (withoutMine < 1 || !_animation->flying());
|
||||
const auto skipBubble = skipImage && _animation->flying();
|
||||
const auto &geometry = button.geometry;
|
||||
const auto inner = geometry.marginsRemoved(padding);
|
||||
const auto chosen = (_data.chosenReaction == button.emoji)
|
||||
const auto chosen = mine
|
||||
&& (!animating || !_animation->flying());
|
||||
{
|
||||
if (!skipBubble) {
|
||||
auto hq = PainterHighQualityEnabler(p);
|
||||
p.setPen(Qt::NoPen);
|
||||
if (inbubble) {
|
||||
|
@ -230,8 +235,6 @@ void InlineList::paint(
|
|||
const auto image = QRect(
|
||||
inner.topLeft() + QPoint(skip, skip),
|
||||
QSize(st::reactionBottomImage, st::reactionBottomImage));
|
||||
const auto skipImage = animating
|
||||
&& (button.count < 2 || !_animation->flying());
|
||||
if (!button.image.isNull() && !skipImage) {
|
||||
p.drawImage(image.topLeft(), button.image);
|
||||
}
|
||||
|
@ -240,6 +243,7 @@ void InlineList::paint(
|
|||
return _animation->paintGetArea(p, QPoint(), image);
|
||||
};
|
||||
}
|
||||
if (!skipBubble) {
|
||||
p.setPen(!inbubble
|
||||
? (chosen
|
||||
? QPen(AdaptChosenServiceFg(st->msgServiceBg()->c))
|
||||
|
@ -260,6 +264,7 @@ void InlineList::paint(
|
|||
textTop + st::semiboldFont->ascent,
|
||||
button.countText);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
bool InlineList::getState(
|
||||
|
|
Loading…
Add table
Reference in a new issue