X-Git-Url: http://review.tizen.org/git/?p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git;a=blobdiff_plain;f=dali-toolkit%2Finternal%2Fvisuals%2Fimage%2Fimage-visual.cpp;h=084491aef8b16b8b79486400f10167ee4ef94b8e;hp=742f068288911dfb42dfd7371745d8a15d4343dd;hb=5f03eb8d802b39ab519b15d5bca02f0ed01f2766;hpb=16a4ae532b2d38157fa31a2fe21d29bfb4c7be75 diff --git a/dali-toolkit/internal/visuals/image/image-visual.cpp b/dali-toolkit/internal/visuals/image/image-visual.cpp index 742f068..084491a 100644 --- a/dali-toolkit/internal/visuals/image/image-visual.cpp +++ b/dali-toolkit/internal/visuals/image/image-visual.cpp @@ -332,7 +332,7 @@ void ImageVisual::DoSetProperties( const Property::Map& propertyMap ) } } -void ImageVisual::GetNaturalSize( Vector2& naturalSize ) const +void ImageVisual::GetNaturalSize( Vector2& naturalSize ) { if(mImage) { @@ -522,7 +522,7 @@ TextureSet ImageVisual::CreateTextureSet( Vector4& textureRect, const std::strin void ImageVisual::InitializeRenderer( const std::string& imageUrl ) { - mImpl->mRenderer.Reset(); + DALI_ASSERT_DEBUG( !mImpl->mRenderer && "Renderer should have been removed from stage and already reset before initialization" ); mImageUrl = imageUrl; mImpl->mFlags &= ~Impl::IS_ATLASING_APPLIED; @@ -586,8 +586,9 @@ void ImageVisual::InitializeRenderer( const std::string& imageUrl ) void ImageVisual::InitializeRenderer( const Image& image ) { + DALI_ASSERT_DEBUG( !mImpl->mRenderer && "Renderer should have been removed from stage and already reset before initialization" ); + mImpl->mFlags &= ~Impl::IS_FROM_CACHE; - mImpl->mRenderer.Reset(); // don't reuse CreateTextureSet TextureSet textures = TextureSet::New(); @@ -728,6 +729,7 @@ Shader ImageVisual::GetImageShader( VisualFactoryCache& factoryCache, bool atlas if( !shader ) { shader = Shader::New( VERTEX_SHADER, FRAGMENT_SHADER_ATLAS_CLAMP ); + shader.RegisterProperty( PIXEL_AREA_UNIFORM_NAME, FULL_TEXTURE_RECT ); factoryCache.SaveShader( VisualFactoryCache::IMAGE_SHADER_ATLAS_DEFAULT_WRAP, shader ); } } @@ -737,6 +739,7 @@ Shader ImageVisual::GetImageShader( VisualFactoryCache& factoryCache, bool atlas if( !shader ) { shader = Shader::New( VERTEX_SHADER, FRAGMENT_SHADER_ATLAS_VARIOUS_WRAP ); + shader.RegisterProperty( PIXEL_AREA_UNIFORM_NAME, FULL_TEXTURE_RECT ); factoryCache.SaveShader( VisualFactoryCache::IMAGE_SHADER_ATLAS_CUSTOM_WRAP, shader ); } } @@ -747,10 +750,11 @@ Shader ImageVisual::GetImageShader( VisualFactoryCache& factoryCache, bool atlas if( !shader ) { shader = Shader::New( VERTEX_SHADER, FRAGMENT_SHADER_NO_ATLAS ); + shader.RegisterProperty( PIXEL_AREA_UNIFORM_NAME, FULL_TEXTURE_RECT ); factoryCache.SaveShader( VisualFactoryCache::IMAGE_SHADER, shader ); } } - shader.RegisterProperty( PIXEL_AREA_UNIFORM_NAME, FULL_TEXTURE_RECT ); + return shader; }