X-Git-Url: http://review.tizen.org/git/?p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git;a=blobdiff_plain;f=dali-toolkit%2Finternal%2Fcontrols%2Frenderers%2Frenderer-factory-impl.cpp;h=11070c93af66b7fc671713f24bf021d772c69b09;hp=1320436bc597f71a7eaab6aa4f265d7364a56246;hb=172678a60aceeb2a60e5d4e5a3c613f8f3c492a9;hpb=4ac30f392a3277a566a03176ea066841c6784b61 diff --git a/dali-toolkit/internal/controls/renderers/renderer-factory-impl.cpp b/dali-toolkit/internal/controls/renderers/renderer-factory-impl.cpp index 1320436..11070c9 100644 --- a/dali-toolkit/internal/controls/renderers/renderer-factory-impl.cpp +++ b/dali-toolkit/internal/controls/renderers/renderer-factory-impl.cpp @@ -105,7 +105,7 @@ Toolkit::ControlRenderer RendererFactory::GetControlRenderer( const Property::Ma DALI_LOG_ERROR( "Renderer type unknown" ); } - return Toolkit::ControlRenderer(rendererPtr); + return Toolkit::ControlRenderer( rendererPtr ); } Toolkit::ControlRenderer RendererFactory::GetControlRenderer( const Vector4& color ) @@ -118,22 +118,22 @@ Toolkit::ControlRenderer RendererFactory::GetControlRenderer( const Vector4& col } rendererPtr->Initialize( *( mFactoryCache.Get() ) ); - rendererPtr->SetColor(color); + rendererPtr->SetColor( color ); - return Toolkit::ControlRenderer(rendererPtr); + return Toolkit::ControlRenderer( rendererPtr ); } bool RendererFactory::ResetRenderer( Toolkit::ControlRenderer& renderer, const Vector4& color ) { - ColorRenderer* rendererPtr = dynamic_cast(&GetImplementation(renderer)); + ColorRenderer* rendererPtr = dynamic_cast< ColorRenderer* >( &GetImplementation( renderer ) ); if( rendererPtr ) { - rendererPtr->SetColor(color); + rendererPtr->SetColor( color ); return false; } else { - renderer = GetControlRenderer(color); + renderer = GetControlRenderer( color ); return true; } } @@ -148,20 +148,48 @@ Toolkit::ControlRenderer RendererFactory::GetControlRenderer( const Image& image rendererPtr->Initialize( *( mFactoryCache.Get() ) ); rendererPtr->SetImage( image ); - return Toolkit::ControlRenderer(rendererPtr); + return Toolkit::ControlRenderer( rendererPtr ); } bool RendererFactory::ResetRenderer( Toolkit::ControlRenderer& renderer, const Image& image ) { - ImageRenderer* rendererPtr = dynamic_cast(&GetImplementation(renderer)); + ImageRenderer* rendererPtr = dynamic_cast< ImageRenderer* >( &GetImplementation( renderer ) ); if( rendererPtr ) { - rendererPtr->SetImage(image); + rendererPtr->SetImage( image ); return false; } else { - renderer = GetControlRenderer(image); + renderer = GetControlRenderer( image ); + return true; + } +} + +Toolkit::ControlRenderer RendererFactory::GetControlRenderer( const std::string& url ) +{ + ImageRenderer* rendererPtr = new ImageRenderer(); + if( !mFactoryCache ) + { + mFactoryCache = new RendererFactoryCache(); + } + rendererPtr->Initialize( *( mFactoryCache.Get() ) ); + rendererPtr->SetImage( url ); + + return Toolkit::ControlRenderer( rendererPtr ); +} + +bool RendererFactory::ResetRenderer( Toolkit::ControlRenderer& renderer, const std::string& url ) +{ + ImageRenderer* rendererPtr = dynamic_cast< ImageRenderer* >( &GetImplementation( renderer ) ); + if( rendererPtr ) + { + rendererPtr->SetImage( url ); + return false; + } + else + { + renderer = GetControlRenderer( url ); return true; } }