Consider alpha values for complex shapes. 25/320825/1 accepted/tizen_8.0_unified tizen_8.0 accepted/tizen/8.0/unified/20241125.160527
authorjoogab.yun <joogab.yun@samsung.com>
Fri, 22 Nov 2024 22:37:22 +0000 (07:37 +0900)
committerjoogab.yun <joogab.yun@samsung.com>
Fri, 22 Nov 2024 22:46:28 +0000 (07:46 +0900)
Change-Id: I1c7a0a3d1c7aa730dc7f615e524f78e778447ae7

src/lottie/lottieitem.h
src/lottie/lottieitem_capi.cpp

index 66ba27dfb0e94c58bc4d4fd1bf8369828e4ee960..f582c87bf87042034e1cf6e81726767d4781bd99 100644 (file)
@@ -220,6 +220,8 @@ public:
     void         setParentLayer(Layer *parent) { mParentLayer = parent; }
     void         setComplexContent(bool value) { mComplexContent = value; }
     bool         complexContent() const { return mComplexContent; }
+    void         setComplexShape(bool value) { mComplexShape = value; }
+    bool         isComplexShape() { return mComplexShape; }
     virtual void update(int frameNo, const VMatrix &parentMatrix,
                         float parentAlpha);
     VMatrix      matrix(int frameNo) const;
@@ -268,6 +270,7 @@ protected:
     bool                       mComplexContent{false};
     std::unique_ptr<CApiData>  mCApiData;
     bool                       mHasDynamicValue{false};
+    bool                       mComplexShape{false};
 };
 
 class CompLayer final : public Layer {
@@ -323,15 +326,12 @@ public:
                                 LOTVariant &value) override;
     void         render(VPainter *painter, const VRle &mask, const VRle &matteRle,
                         SurfaceCache &cache) final;
-    void         setComplexShape(bool value) { mComplexShpae = value; }
-    bool         isComplexShape() { return mComplexShpae; }
 
 protected:
     void                     preprocessStage(const VRect &clip) final;
     void                     updateContent() final;
     std::vector<VDrawable *> mDrawableList;
     Group *                  mRoot{nullptr};
-    bool                     mComplexShpae{false};
 };
 
 class NullLayer final : public Layer {
index 31ca54a68b64609ab52bb3a90421c1523ae4b502..7bb3dbaa30def2ca780eaa98db84fb912a5771ce 100644 (file)
@@ -89,6 +89,7 @@ void renderer::Layer::buildLayerNode()
         clayer().keypath = name();
     }
     if (complexContent()) clayer().mAlpha = uint8_t(combinedAlpha() * 255.f);
+    if (isComplexShape()) clayer().mAlpha = uint8_t(combinedAlpha() * 255.f);
     clayer().mVisible = visible();
     // update matte
     if (hasMatte()) {