From 6fb25316eeef92b07b73bd1bc639e8ed1e39251d Mon Sep 17 00:00:00 2001 From: subhransu mohanty Date: Tue, 21 Aug 2018 10:44:40 +0900 Subject: [PATCH] lottie: refactor VRaster class. Change-Id: Iadd382d34fcaa67a4cb60b44f22af38051f6f09a --- src/lottie/lottieitem.cpp | 2 +- src/vector/vdrawable.cpp | 4 ++-- src/vector/vraster.cpp | 5 +---- src/vector/vraster.h | 32 ++++++++++---------------------- 4 files changed, 14 insertions(+), 29 deletions(-) diff --git a/src/lottie/lottieitem.cpp b/src/lottie/lottieitem.cpp index 253e59b..295c5f6 100644 --- a/src/lottie/lottieitem.cpp +++ b/src/lottie/lottieitem.cpp @@ -142,7 +142,7 @@ void LOTMaskItem::update(int frameNo, const VMatrix &parentMatrix, VPath path = mLocalPath; path.transform(parentMatrix); - mRleTask = VRaster::instance().generateFillInfo(std::move(path), std::move(mRle)); + mRleTask = VRaster::generateFillInfo(std::move(path), std::move(mRle)); mRle = VRle(); } diff --git a/src/vector/vdrawable.cpp b/src/vector/vdrawable.cpp index 625660e..450952b 100644 --- a/src/vector/vdrawable.cpp +++ b/src/vector/vdrawable.cpp @@ -10,11 +10,11 @@ void VDrawable::preprocess() VDasher dasher(mStroke.mDash.data(), mStroke.mDash.size()); mPath = dasher.dashed(mPath); } - mRleTask = VRaster::instance().generateStrokeInfo( + mRleTask = VRaster::generateStrokeInfo( std::move(mPath), std::move(mRle), mStroke.cap, mStroke.join, mStroke.width, mStroke.meterLimit); } else { - mRleTask = VRaster::instance().generateFillInfo( + mRleTask = VRaster::generateFillInfo( std::move(mPath), std::move(mRle), mFillRule); } mRle = VRle(); diff --git a/src/vector/vraster.cpp b/src/vector/vraster.cpp index ec71120..7d20723 100644 --- a/src/vector/vraster.cpp +++ b/src/vector/vraster.cpp @@ -7,6 +7,7 @@ #include "vmatrix.h" #include "vpath.h" #include "vtaskqueue.h" +#include "vrle.h" V_BEGIN_NAMESPACE @@ -383,10 +384,6 @@ public: static RleTaskScheduler raster_scheduler; -VRaster::VRaster() {} - -VRaster::~VRaster() {} - std::future VRaster::generateFillInfo(VPath &&path, VRle &&rle, FillRule fillRule) { diff --git a/src/vector/vraster.h b/src/vector/vraster.h index 5b5b1aa..1eaf4dd 100644 --- a/src/vector/vraster.h +++ b/src/vector/vraster.h @@ -1,35 +1,23 @@ #ifndef VRASTER_H #define VRASTER_H #include -#include "vrle.h" +#include "vglobal.h" V_BEGIN_NAMESPACE -struct FTOutline; class VPath; +class VRle; -struct VRasterPrivate; -class VRaster { -public: - ~VRaster(); - static VRaster &instance() - { - static VRaster Singleton; - return Singleton; - } - VRaster(const VRaster &other) = delete; - VRaster(VRaster &&) = delete; - VRaster &operator=(VRaster const &) = delete; - VRaster &operator=(VRaster &&) = delete; +struct VRaster { - std::future generateFillInfo(VPath &&path, VRle &&rle, - FillRule fillRule = FillRule::Winding); - std::future generateStrokeInfo(VPath &&path, VRle &&rle, CapStyle cap, - JoinStyle join, float width, - float meterLimit); + static std::future + generateFillInfo(VPath &&path, VRle &&rle, + FillRule fillRule = FillRule::Winding); -private: - VRaster(); + static std::future + generateStrokeInfo(VPath &&path, VRle &&rle, + CapStyle cap, JoinStyle join, + float width, float meterLimit); }; V_END_NAMESPACE -- 2.7.4