{
SvgLoadInfo(SvgLoadId loadId, const VisualUrl& url, float dpi)
: mId(loadId),
+ mTask(),
mImageUrl(url),
mDpi(dpi),
mLoadState(LoadState::NOT_STARTED),
}
SvgLoadInfo(SvgLoadInfo&& info) noexcept // move constructor
+ : mId(info.mId),
+ mTask(std::move(info.mTask)),
+ mImageUrl(std::move(info.mImageUrl)),
+ mDpi(info.mDpi),
+ mLoadState(info.mLoadState),
+ mVectorImageRenderer(std::move(info.mVectorImageRenderer)),
+ mObservers(std::move(info.mObservers)),
+ mReferenceCount(1u)
{
- // Reuse move operator.
- *this = std::move(info);
+ info.mTask.Reset();
+ info.mVectorImageRenderer.Reset();
+ info.mReferenceCount = 0;
}
SvgLoadInfo& operator=(SvgLoadInfo&& info) noexcept // move operator
{
info.mTask.Reset();
info.mVectorImageRenderer.Reset();
- info.mObservers.Clear();
info.mReferenceCount = 0;
}
return *this;
{
SvgRasterizeInfo(SvgRasterizeId rasterizeId, SvgLoadId loadId, uint32_t width, uint32_t height, bool attemptAtlasing)
: mId(rasterizeId),
+ mTask(),
mLoadId(loadId),
mWidth(width),
mHeight(height),
{
}
SvgRasterizeInfo(SvgRasterizeInfo&& info) noexcept // move constructor
+ : mId(info.mId),
+ mTask(std::move(info.mTask)),
+ mLoadId(info.mLoadId),
+ mWidth(info.mWidth),
+ mHeight(info.mHeight),
+ mAttemptAtlasing(info.mAttemptAtlasing),
+ mRasterizeState(info.mRasterizeState),
+ mTextureSet(std::move(info.mTextureSet)),
+ mAtlasRect(std::move(info.mAtlasRect)),
+ mAtlasAttempted(info.mAtlasAttempted),
+ mObservers(std::move(info.mObservers)),
+ mReferenceCount(info.mReferenceCount)
{
- // Reuse move operator
- *this = std::move(info);
+ info.mTask.Reset();
+ info.mTextureSet.Reset();
+ info.mReferenceCount = 0;
}
SvgRasterizeInfo& operator=(SvgRasterizeInfo&& info) noexcept // move operator
{
info.mTask.Reset();
info.mTextureSet.Reset();
- info.mObservers.Clear();
info.mReferenceCount = 0;
}
return *this;