X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=dali-toolkit%2Finternal%2Fvisuals%2Fvisual-factory-impl.cpp;h=239f5c49ca95f1639370817a2f189c6814452340;hb=80ab4492a0df45c146d9ad97daef3c522bb02e2c;hp=d2e9ee258eaf44316e701f776cb6623d2fac1f4c;hpb=a68dbe03813fd3db34c81f4e6960572e8882930b;p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git diff --git a/dali-toolkit/internal/visuals/visual-factory-impl.cpp b/dali-toolkit/internal/visuals/visual-factory-impl.cpp index d2e9ee2..239f5c4 100644 --- a/dali-toolkit/internal/visuals/visual-factory-impl.cpp +++ b/dali-toolkit/internal/visuals/visual-factory-impl.cpp @@ -28,7 +28,7 @@ // INTERNAL INCLUDES #include -#include +#include #include #include #include @@ -40,6 +40,7 @@ #include #include #include +#include #include #include #include @@ -64,6 +65,7 @@ DALI_ENUM_TO_STRING_WITH_SCOPE( Toolkit::Visual, GRADIENT ) DALI_ENUM_TO_STRING_WITH_SCOPE( Toolkit::Visual, IMAGE ) DALI_ENUM_TO_STRING_WITH_SCOPE( Toolkit::Visual, MESH ) DALI_ENUM_TO_STRING_WITH_SCOPE( Toolkit::Visual, PRIMITIVE ) +DALI_ENUM_TO_STRING_WITH_SCOPE( Toolkit::DevelVisual, TEXT ) DALI_ENUM_TO_STRING_WITH_SCOPE( Toolkit::Visual, WIREFRAME ) DALI_ENUM_TO_STRING_TABLE_END( VISUAL_TYPE ) @@ -107,7 +109,7 @@ Toolkit::Visual::Base VisualFactory::CreateVisual( const Property::Map& property } else { - Property::Value* typeValue = propertyMap.Find( Toolkit::VisualProperty::TYPE, VISUAL_TYPE ); + Property::Value* typeValue = propertyMap.Find( Toolkit::DevelVisual::Property::TYPE, VISUAL_TYPE ); Toolkit::DevelVisual::Type visualType = Toolkit::DevelVisual::IMAGE; // Default to IMAGE type. if( typeValue ) { @@ -118,19 +120,19 @@ Toolkit::Visual::Base VisualFactory::CreateVisual( const Property::Map& property { case Toolkit::Visual::BORDER: { - visualPtr = BorderVisual::New( *( mFactoryCache.Get() ) ); + visualPtr = BorderVisual::New( *( mFactoryCache.Get() ), propertyMap ); break; } case Toolkit::Visual::COLOR: { - visualPtr = ColorVisual::New( *( mFactoryCache.Get() ) ); + visualPtr = ColorVisual::New( *( mFactoryCache.Get() ), propertyMap ); break; } case Toolkit::Visual::GRADIENT: { - visualPtr = GradientVisual::New( *( mFactoryCache.Get() ) ); + visualPtr = GradientVisual::New( *( mFactoryCache.Get() ), propertyMap ); break; } @@ -144,11 +146,15 @@ Toolkit::Visual::Base VisualFactory::CreateVisual( const Property::Map& property UrlType::Type type = ResolveUrlType( imageUrl ); if( UrlType::N_PATCH == type ) { - visualPtr = NPatchVisual::New( *( mFactoryCache.Get() ), imageUrl ); + visualPtr = NPatchVisual::New( *( mFactoryCache.Get() ), imageUrl, propertyMap ); } else if( UrlType::SVG == type ) { - visualPtr = SvgVisual::New( *( mFactoryCache.Get() ), imageUrl ); + visualPtr = SvgVisual::New( *( mFactoryCache.Get() ), imageUrl, propertyMap ); + } + else if( UrlType::GIF == type ) + { + visualPtr = AnimatedImageVisual::New( *( mFactoryCache.Get() ), imageUrl, propertyMap ); } else // Regular image { @@ -161,12 +167,11 @@ Toolkit::Visual::Base VisualFactory::CreateVisual( const Property::Map& property if( batchingEnabled ) { - visualPtr = BatchImageVisual::New( *( mFactoryCache.Get() ), imageUrl ); - break; + visualPtr = BatchImageVisual::New( *( mFactoryCache.Get() ), imageUrl, propertyMap ); } else { - visualPtr = ImageVisual::New( *( mFactoryCache.Get() ), imageUrl ); + visualPtr = ImageVisual::New( *( mFactoryCache.Get() ), imageUrl, propertyMap ); } } } @@ -176,13 +181,13 @@ Toolkit::Visual::Base VisualFactory::CreateVisual( const Property::Map& property case Toolkit::Visual::MESH: { - visualPtr = MeshVisual::New( *( mFactoryCache.Get() ) ); + visualPtr = MeshVisual::New( *( mFactoryCache.Get() ), propertyMap ); break; } case Toolkit::Visual::PRIMITIVE: { - visualPtr = PrimitiveVisual::New( *( mFactoryCache.Get() ) ); + visualPtr = PrimitiveVisual::New( *( mFactoryCache.Get() ), propertyMap ); break; } @@ -194,17 +199,13 @@ Toolkit::Visual::Base VisualFactory::CreateVisual( const Property::Map& property case Toolkit::DevelVisual::TEXT: { - visualPtr = TextVisual::New( *( mFactoryCache.Get() ) ); + visualPtr = TextVisual::New( *( mFactoryCache.Get() ), propertyMap ); break; } } } - if( visualPtr ) - { - visualPtr->SetProperties( propertyMap ); - } - else + if( !visualPtr ) { DALI_LOG_ERROR( "Renderer type unknown\n" ); } @@ -263,6 +264,10 @@ Toolkit::Visual::Base VisualFactory::CreateVisual( const std::string& url, Image { visualPtr = SvgVisual::New( *( mFactoryCache.Get() ), url ); } + else if( UrlType::GIF == type ) + { + visualPtr = AnimatedImageVisual::New( *( mFactoryCache.Get() ), url ); + } else // Regular image { visualPtr = ImageVisual::New( *( mFactoryCache.Get() ), url, size );