mirror of
https://github.com/telegramdesktop/tdesktop
synced 2025-08-31 06:26:18 +00:00
Implement basic effect animation.
This commit is contained in:
@@ -19,6 +19,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
||||
#include "data/data_changes.h"
|
||||
#include "data/data_document.h"
|
||||
#include "data/data_document_media.h"
|
||||
#include "data/data_file_origin.h"
|
||||
#include "data/data_peer_values.h"
|
||||
#include "data/data_saved_sublist.h"
|
||||
#include "data/stickers/data_custom_emoji.h"
|
||||
@@ -594,6 +595,9 @@ void Reactions::preloadImageFor(const ReactionId &id) {
|
||||
} else {
|
||||
generateImage(set, i->title);
|
||||
}
|
||||
if (set.effect) {
|
||||
preloadEffect(*i);
|
||||
}
|
||||
} else if (set.effect && !_waitingForEffects) {
|
||||
_waitingForEffects = true;
|
||||
refreshEffects();
|
||||
@@ -603,6 +607,15 @@ void Reactions::preloadImageFor(const ReactionId &id) {
|
||||
}
|
||||
}
|
||||
|
||||
void Reactions::preloadEffect(const Reaction &effect) {
|
||||
if (effect.aroundAnimation) {
|
||||
effect.aroundAnimation->createMediaView()->checkStickerLarge();
|
||||
} else {
|
||||
const auto premium = effect.selectAnimation;
|
||||
premium->loadVideoThumbnail(premium->stickerSetOrigin());
|
||||
}
|
||||
}
|
||||
|
||||
void Reactions::preloadAnimationsFor(const ReactionId &id) {
|
||||
const auto custom = id.custom();
|
||||
const auto document = custom ? _owner->document(custom).get() : nullptr;
|
||||
|
Reference in New Issue
Block a user