From: Hermet Park Date: Mon, 12 Nov 2018 05:58:04 +0000 (+0900) Subject: lottieitem: apply transform for linear gradient coordinates. X-Git-Tag: submit/tizen/20181129.071502~32 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=1092772b3a7944014f9c79fe58e4d18a9e5ae87b;p=platform%2Fcore%2Fuifw%2Flottie-player.git lottieitem: apply transform for linear gradient coordinates. gradient and shape coordinates must be in same space, gradient coordinates didn't on it. Change-Id: Ic697c066c4303c47dd382f11af2f9afb33d6a937 --- diff --git a/src/lottie/lottieitem.cpp b/src/lottie/lottieitem.cpp index be40d97..db85170 100644 --- a/src/lottie/lottieitem.cpp +++ b/src/lottie/lottieitem.cpp @@ -1095,15 +1095,20 @@ void LOTDrawable::sync() mCNode->mColor.b = mBrush.mColor.b; mCNode->mColor.a = mBrush.mColor.a; break; - case VBrush::Type::LinearGradient: + case VBrush::Type::LinearGradient: { mCNode->mBrushType = LOTBrushType::BrushGradient; mCNode->mGradient.type = LOTGradientType::GradientLinear; - mCNode->mGradient.start.x = mBrush.mGradient->linear.x1; - mCNode->mGradient.start.y = mBrush.mGradient->linear.y1; - mCNode->mGradient.end.x = mBrush.mGradient->linear.x2; - mCNode->mGradient.end.y = mBrush.mGradient->linear.y2; + VPointF s = mBrush.mGradient->mMatrix.map({mBrush.mGradient->linear.x1, + mBrush.mGradient->linear.y1}); + VPointF e = mBrush.mGradient->mMatrix.map({mBrush.mGradient->linear.x2, + mBrush.mGradient->linear.y2}); + mCNode->mGradient.start.x = s.x(); + mCNode->mGradient.start.y = s.y(); + mCNode->mGradient.end.x = e.x(); + mCNode->mGradient.end.y = e.y(); updateGStops(mCNode.get(), mBrush.mGradient); break; + } case VBrush::Type::RadialGradient: mCNode->mBrushType = LOTBrushType::BrushGradient; mCNode->mGradient.type = LOTGradientType::GradientRadial;