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=d13e1e106660fa98f108d37ab716f2ec09a59143;hb=2cf32ac170f397aacce527efd34909b3fd62efda;hpb=99e2ea03e6d6059f5803d700932df1ff1c848cd3 diff --git a/dali-toolkit/internal/visuals/svg/svg-visual.cpp b/dali-toolkit/internal/visuals/svg/svg-visual.cpp index d13e1e1..4179d4d 100644 --- a/dali-toolkit/internal/visuals/svg/svg-visual.cpp +++ b/dali-toolkit/internal/visuals/svg/svg-visual.cpp @@ -27,9 +27,11 @@ #include // INTERNAL INCLUDES +#include #include #include #include +#include #include #include #include @@ -51,10 +53,9 @@ namespace Toolkit namespace Internal { -SvgVisual::SvgVisual( VisualFactoryCache& factoryCache, ImageAtlasManager& atlasManager ) +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 ) {