#include <dali-toolkit/internal/visuals/svg/svg-visual.h>
#include <dali-toolkit/internal/visuals/image-atlas-manager.h>
+
namespace
{
const char * const BROKEN_VISUAL_IMAGE_URL( DALI_IMAGE_DIR "broken.png");
VisualFactoryCache::VisualFactoryCache( bool preMultiplyOnLoad )
: mSvgRasterizeThread( NULL ),
+ mVectorAnimationThread(),
+ mBrokenImageUrl(""),
mPreMultiplyOnLoad( preMultiplyOnLoad )
{
}
if( !mAtlasManager )
{
mAtlasManager = new ImageAtlasManager();
- mAtlasManager->SetBrokenImage( BROKEN_VISUAL_IMAGE_URL );
+ mAtlasManager->SetBrokenImage( mBrokenImageUrl );
}
return mAtlasManager;
return mSvgRasterizeThread;
}
+VectorAnimationThread& VisualFactoryCache::GetVectorAnimationThread()
+{
+ if( !mVectorAnimationThread )
+ {
+ mVectorAnimationThread = std::unique_ptr< VectorAnimationThread >( new VectorAnimationThread() );
+ mVectorAnimationThread->Start();
+ }
+ return *mVectorAnimationThread;
+}
+
void VisualFactoryCache::ApplyRasterizedSVGToSampler()
{
while( RasterizingTaskPtr task = mSvgRasterizeThread->NextCompletedTask() )
Image VisualFactoryCache::GetBrokenVisualImage()
{
- return ResourceImage::New( BROKEN_VISUAL_IMAGE_URL );
+ return ResourceImage::New( mBrokenImageUrl );
}
void VisualFactoryCache::SetPreMultiplyOnLoad( bool preMultiply )
return mPreMultiplyOnLoad;
}
+void VisualFactoryCache::SetBrokenImageUrl(const std::string& brokenImageUrl)
+{
+ mBrokenImageUrl = brokenImageUrl;
+
+ if( !mAtlasManager )
+ {
+ mAtlasManager = new ImageAtlasManager();
+ }
+
+ mAtlasManager->SetBrokenImage( mBrokenImageUrl );
+ mTextureManager.SetBrokenImageUrl( mBrokenImageUrl );
+}
+
} // namespace Internal
} // namespace Toolkit