From 447a3d8ad53d32f84fbdd38394715f80cfdcb0a1 Mon Sep 17 00:00:00 2001 From: Jinny You Date: Wed, 21 Feb 2024 00:46:54 +0900 Subject: [PATCH] lottie: Revise the solid model To ensure consistent properties, `LottieSolid` has been defined. Both `LottieSolidStroke` and `LottieSolidFill` can be typecasted to the `LottieSolid`. --- src/loaders/lottie/tvgLottieModel.h | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/src/loaders/lottie/tvgLottieModel.h b/src/loaders/lottie/tvgLottieModel.h index e7320d5e..42379d1a 100644 --- a/src/loaders/lottie/tvgLottieModel.h +++ b/src/loaders/lottie/tvgLottieModel.h @@ -323,20 +323,24 @@ struct LottieTransform : LottieObject }; -struct LottieSolidStroke : LottieObject, LottieStroke +struct LottieSolid : LottieObject +{ + LottieColor color = RGB24{255, 255, 255}; + LottieOpacity opacity = 255; +}; + + +struct LottieSolidStroke : LottieSolid, LottieStroke { void prepare() { LottieObject::type = LottieObject::SolidStroke; if (color.frames || opacity.frames || LottieStroke::dynamic()) statical = false; } - - LottieColor color = RGB24{255, 255, 255}; - LottieOpacity opacity = 255; }; -struct LottieSolidFill : LottieObject +struct LottieSolidFill : LottieSolid { void prepare() { @@ -344,8 +348,6 @@ struct LottieSolidFill : LottieObject if (color.frames || opacity.frames) statical = false; } - LottieColor color = RGB24{255, 255, 255}; - LottieOpacity opacity = 255; FillRule rule = FillRule::Winding; };