mirror of
https://github.com/GLEGram/GLEGram-iOS.git
synced 2026-05-01 15:27:55 +02:00
4647310322
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.
35 lines
1.2 KiB
C++
35 lines
1.2 KiB
C++
#include "LayerModelSerialization.hpp"
|
|
|
|
#include "Lottie/Private/Model/Layers/PreCompLayerModel.hpp"
|
|
#include "Lottie/Private/Model/Layers/SolidLayerModel.hpp"
|
|
#include "Lottie/Private/Model/Layers/ImageLayerModel.hpp"
|
|
#include "Lottie/Private/Model/Layers/ShapeLayerModel.hpp"
|
|
#include "Lottie/Private/Model/Layers/TextLayerModel.hpp"
|
|
|
|
namespace lottie {
|
|
|
|
std::shared_ptr<LayerModel> parseLayerModel(lottiejson11::Json::object const &json) noexcept(false) {
|
|
LayerType layerType = parseLayerType(json, "ty");
|
|
|
|
switch (layerType) {
|
|
case LayerType::Precomp:
|
|
return std::make_shared<PreCompLayerModel>(json);
|
|
case LayerType::Solid:
|
|
return std::make_shared<SolidLayerModel>(json);
|
|
case LayerType::Image:
|
|
return std::make_shared<ImageLayerModel>(json);
|
|
case LayerType::Null:
|
|
return std::make_shared<LayerModel>(json);
|
|
case LayerType::Shape:
|
|
try {
|
|
return std::make_shared<ShapeLayerModel>(json);
|
|
} catch(...) {
|
|
throw LottieParsingException();
|
|
}
|
|
case LayerType::Text:
|
|
return std::make_shared<TextLayerModel>(json);
|
|
}
|
|
}
|
|
|
|
}
|