Files
Leeksov 4647310322 GLEGram 12.5 — Initial public release
Based on Swiftgram 12.5 (Telegram iOS 12.5).
All GLEGram features ported and organized in GLEGram/ folder.

Features: Ghost Mode, Saved Deleted Messages, Content Protection Bypass,
Font Replacement, Fake Profile, Chat Export, Plugin System, and more.

See CHANGELOG_12.5.md for full details.
2026-04-06 09:48:12 +03:00

39 lines
1.2 KiB
C++

#ifndef AnyValueProvider_hpp
#define AnyValueProvider_hpp
#include "Lottie/Public/Primitives/AnimationTime.hpp"
#include "Lottie/Private/Model/Keyframes/KeyframeGroup.hpp"
#include "Lottie/Public/Primitives/AnyValue.hpp"
#include <vector>
#include <memory>
namespace lottie {
/// `AnyValueProvider` is a protocol that return animation data for a property at a
/// given time. Every frame an `AnimationView` queries all of its properties and asks
/// if their ValueProvider has an update. If it does the AnimationView will read the
/// property and update that portion of the animation.
///
/// Value Providers can be used to dynamically set animation properties at run time.
class AnyValueProvider {
public:
/// The Type of the value provider
virtual AnyValue::Type valueType() const = 0;
/// Asks the provider if it has an update for the given frame.
virtual bool hasUpdate(AnimationFrameTime frame) const = 0;
};
/// A base protocol for strongly-typed Value Providers
template<typename T>
class ValueProvider: public AnyValueProvider {
public:
/// Asks the provider to update the container with its value for the frame.
virtual T value(AnimationFrameTime frame) = 0;
};
}
#endif /* AnyValueProvider_hpp */