X-Git-Url: http://review.tizen.org/git/?p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git;a=blobdiff_plain;f=dali-toolkit%2Finternal%2Fvisuals%2Fsvg%2Fsvg-visual.cpp;h=4179d4dc8a701792b877c9e63b7b018446cad820;hp=ace3bc30004d954a2a68172d3c66f802155c6c54;hb=2cf32ac170f397aacce527efd34909b3fd62efda;hpb=257a9991486e4e05335212b21ecc1f5a0aacbc63 diff --git a/dali-toolkit/internal/visuals/svg/svg-visual.cpp b/dali-toolkit/internal/visuals/svg/svg-visual.cpp index ace3bc3..4179d4d 100644 --- a/dali-toolkit/internal/visuals/svg/svg-visual.cpp +++ b/dali-toolkit/internal/visuals/svg/svg-visual.cpp @@ -27,12 +27,14 @@ #include // INTERNAL INCLUDES +#include #include #include #include +#include #include #include -#include +#include namespace @@ -51,10 +53,9 @@ namespace Toolkit namespace Internal { -SvgVisual::SvgVisual( VisualFactoryCache& factoryCache, ImageAtlasManager& atlasManager ) -: Visual( factoryCache ), +SvgVisual::SvgVisual( VisualFactoryCache& factoryCache ) +: Visual::Base( factoryCache ), mAtlasRect( FULL_TEXTURE_RECT ), - mAtlasManager( atlasManager ), mParsedImage( NULL ) { // the rasterized image is with pre-multiplied alpha format @@ -76,7 +77,7 @@ bool SvgVisual::IsSvgUrl( const std::string& url ) void SvgVisual::DoInitialize( Actor& actor, const Property::Map& propertyMap ) { - Property::Value* imageURLValue = propertyMap.Find( IMAGE_URL_NAME ); + Property::Value* imageURLValue = propertyMap.Find( Toolkit::ImageVisual::Property::URL, IMAGE_URL_NAME ); if( imageURLValue ) { std::string imageUrl; @@ -93,7 +94,7 @@ void SvgVisual::DoInitialize( Actor& actor, const Property::Map& propertyMap ) void SvgVisual::DoSetOnStage( Actor& actor ) { - Shader shader = ImageVisual::GetImageShader( mFactoryCache ); + Shader shader = ImageVisual::GetImageShader( mFactoryCache, true, true ); Geometry geometry = mFactoryCache.GetGeometry( VisualFactoryCache::QUAD_GEOMETRY ); if( !geometry ) { @@ -143,10 +144,10 @@ void SvgVisual::SetSize( const Vector2& size ) void SvgVisual::DoCreatePropertyMap( Property::Map& map ) const { map.Clear(); - map.Insert( RENDERER_TYPE, IMAGE_RENDERER ); + map.Insert( Toolkit::Visual::Property::TYPE, Toolkit::Visual::IMAGE ); if( !mImageUrl.empty() ) { - map.Insert( IMAGE_URL_NAME, mImageUrl ); + map.Insert( Toolkit::ImageVisual::Property::URL, mImageUrl ); } } @@ -197,11 +198,11 @@ void SvgVisual::ApplyRasterizedImage( PixelData rasterizedPixelData ) TextureSet currentTextureSet = mImpl->mRenderer.GetTextures(); if( mAtlasRect != FULL_TEXTURE_RECT ) { - mAtlasManager.Remove( currentTextureSet, mAtlasRect ); + mFactoryCache.GetAtlasManager()->Remove( currentTextureSet, mAtlasRect ); } Vector4 atlasRect; - TextureSet textureSet = mAtlasManager.Add(atlasRect, rasterizedPixelData ); + TextureSet textureSet = mFactoryCache.GetAtlasManager()->Add(atlasRect, rasterizedPixelData ); if( textureSet ) // atlasing { if( textureSet != currentTextureSet ) @@ -210,11 +211,13 @@ void SvgVisual::ApplyRasterizedImage( PixelData rasterizedPixelData ) } mImpl->mRenderer.RegisterProperty( ATLAS_RECT_UNIFORM_NAME, atlasRect ); mAtlasRect = atlasRect; + mImpl->mFlags |= Impl::IS_ATLASING_APPLIED; } else // no atlasing { Atlas texture = Atlas::New( rasterizedPixelData.GetWidth(), rasterizedPixelData.GetHeight() ); texture.Upload( rasterizedPixelData, 0, 0 ); + mImpl->mFlags &= ~Impl::IS_ATLASING_APPLIED; if( mAtlasRect == FULL_TEXTURE_RECT ) {