From e398dfd34d60fd34a0e9203b9c4f63b36e7ba7cf 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 4f002436..1e6e44fe 100644 --- a/src/loaders/lottie/tvgLottieModel.h +++ b/src/loaders/lottie/tvgLottieModel.h @@ -325,20 +325,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() { @@ -346,8 +350,6 @@ struct LottieSolidFill : LottieObject if (color.frames || opacity.frames) statical = false; } - LottieColor color = RGB24{255, 255, 255}; - LottieOpacity opacity = 255; FillRule rule = FillRule::Winding; };