From c1160ee1900bf6a763cea15357df8d5ae6173695 Mon Sep 17 00:00:00 2001 From: Isaac <> Date: Wed, 15 May 2024 14:43:19 +0400 Subject: [PATCH] [WIP] Lottie --- .../CompLayers/ShapeCompositionLayer.cpp | 29 +++++-------------- .../CompLayers/ShapeCompositionLayer.hpp | 1 - 2 files changed, 7 insertions(+), 23 deletions(-) diff --git a/submodules/TelegramUI/Components/LottieCpp/Sources/Lottie/Private/MainThread/LayerContainers/CompLayers/ShapeCompositionLayer.cpp b/submodules/TelegramUI/Components/LottieCpp/Sources/Lottie/Private/MainThread/LayerContainers/CompLayers/ShapeCompositionLayer.cpp index 28dad4ff46..096d140b12 100644 --- a/submodules/TelegramUI/Components/LottieCpp/Sources/Lottie/Private/MainThread/LayerContainers/CompLayers/ShapeCompositionLayer.cpp +++ b/submodules/TelegramUI/Components/LottieCpp/Sources/Lottie/Private/MainThread/LayerContainers/CompLayers/ShapeCompositionLayer.cpp @@ -1317,23 +1317,8 @@ std::shared_ptr ShapeCompositionLayer::renderTreeNode() { } if (!_renderTreeNode) { - std::vector> renderTreeValue; - renderTreeValue.push_back(_contentTree->itemTree->renderTree()); - - _contentsTreeNode = std::make_shared( - CGRect(0.0, 0.0, 0.0, 0.0), - Vector2D(0.0, 0.0), - CATransform3D::identity(), - 1.0, - false, - false, - renderTreeValue, - nullptr, - false - ); - std::vector> subnodes; - subnodes.push_back(_contentsTreeNode); + subnodes.push_back(_contentTree->itemTree->renderTree()); std::shared_ptr maskNode; bool invertMask = false; @@ -1365,12 +1350,12 @@ void ShapeCompositionLayer::updateRenderTree() { _matteLayer->updateRenderTree(); } - _contentsTreeNode->_bounds = _contentsLayer->bounds(); - _contentsTreeNode->_position = _contentsLayer->position(); - _contentsTreeNode->_transform = _contentsLayer->transform(); - _contentsTreeNode->_alpha = _contentsLayer->opacity(); - _contentsTreeNode->_masksToBounds = _contentsLayer->masksToBounds(); - _contentsTreeNode->_isHidden = _contentsLayer->isHidden(); + _contentTree->itemTree->renderTree()->_bounds = _contentsLayer->bounds(); + _contentTree->itemTree->renderTree()->_position = _contentsLayer->position(); + _contentTree->itemTree->renderTree()->_transform = _contentsLayer->transform(); + _contentTree->itemTree->renderTree()->_alpha = _contentsLayer->opacity(); + _contentTree->itemTree->renderTree()->_masksToBounds = _contentsLayer->masksToBounds(); + _contentTree->itemTree->renderTree()->_isHidden = _contentsLayer->isHidden(); assert(position() == Vector2D::Zero()); assert(transform().isIdentity()); diff --git a/submodules/TelegramUI/Components/LottieCpp/Sources/Lottie/Private/MainThread/LayerContainers/CompLayers/ShapeCompositionLayer.hpp b/submodules/TelegramUI/Components/LottieCpp/Sources/Lottie/Private/MainThread/LayerContainers/CompLayers/ShapeCompositionLayer.hpp index 8fb3ead48c..691f926de5 100644 --- a/submodules/TelegramUI/Components/LottieCpp/Sources/Lottie/Private/MainThread/LayerContainers/CompLayers/ShapeCompositionLayer.hpp +++ b/submodules/TelegramUI/Components/LottieCpp/Sources/Lottie/Private/MainThread/LayerContainers/CompLayers/ShapeCompositionLayer.hpp @@ -27,7 +27,6 @@ private: bool _frameTimeInitialized = false; std::shared_ptr _renderTreeNode; - std::shared_ptr _contentsTreeNode; }; }