-void ControlRenderer::SetCachedRendererKey( const std::string& cachedRendererKey )
-{
- if( mImpl->mCachedRendererKey == cachedRendererKey )
- {
- return;
- }
- if( !mImpl->mIsOnStage )
- {
- mImpl->mCachedRendererKey = cachedRendererKey;
- }
- else
- {
- //clean the renderer from the cache since it may no longer be in use
- mFactoryCache.CleanRendererCache( mImpl->mCachedRendererKey );
-
- //add the new renderer
- mImpl->mCachedRendererKey = cachedRendererKey;
- if( !mImpl->mCachedRendererKey.empty() && !mImpl->mCustomShader )
- {
- DALI_ASSERT_DEBUG( mImpl->mRenderer && "The control render is on stage but it doesn't have a valid renderer.");
- mFactoryCache.SaveRenderer( mImpl->mCachedRendererKey, mImpl->mRenderer );
- }
- }
-}
-