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.
This commit is contained in:
Leeksov
2026-04-06 09:48:12 +03:00
commit 4647310322
39685 changed files with 11052678 additions and 0 deletions
@@ -0,0 +1,45 @@
#ifndef ShapeLayerModel_hpp
#define ShapeLayerModel_hpp
#include "Lottie/Private/Model/Layers/LayerModel.hpp"
#include "Lottie/Private/Model/ShapeItems/ShapeItem.hpp"
#include "Lottie/Private/Parsing/JsonParsing.hpp"
#include <vector>
namespace lottie {
/// A layer that holds vector shape objects.
class ShapeLayerModel: public LayerModel {
public:
ShapeLayerModel(lottiejson11::Json::object const &json) noexcept(false) :
LayerModel(json) {
auto shapeItemsData = getObjectArray(json, "shapes");
for (const auto &shapeItemData : shapeItemsData) {
items.push_back(parseShapeItem(shapeItemData));
}
}
virtual ~ShapeLayerModel() = default;
virtual void toJson(lottiejson11::Json::object &json) const override {
LayerModel::toJson(json);
lottiejson11::Json::array shapeItemArray;
for (const auto &item : items) {
lottiejson11::Json::object itemJson;
item->toJson(itemJson);
shapeItemArray.push_back(itemJson);
}
json.insert(std::make_pair("shapes", shapeItemArray));
}
public:
/// A list of shape items.
std::vector<std::shared_ptr<ShapeItem>> items;
};
}
#endif /* ShapeLayerModel_hpp */