X-Git-Url: http://review.tizen.org/git/?p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git;a=blobdiff_plain;f=dali-toolkit%2Finternal%2Fvisuals%2Fvisual-factory-impl.cpp;h=9b77e638a9c20d2e070bf2937f510690a49f04dc;hp=76d0ba7395a31808e8e5db6342e9c7212a927e91;hb=25b212f44160ea19465962203f604cdbc6623871;hpb=63f9b5207c2794cdc460d587723be89585872a51 diff --git a/dali-toolkit/internal/visuals/visual-factory-impl.cpp b/dali-toolkit/internal/visuals/visual-factory-impl.cpp index 76d0ba7..9b77e63 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 @@ -100,12 +100,12 @@ Toolkit::Visual::Base VisualFactory::CreateVisual( const Property::Map& property // Return a new WireframeVisual if we have debug enabled if( mDebugEnabled ) { - return Toolkit::Visual::Base( new WireframeVisual( *( mFactoryCache.Get() ) ) ); + return Toolkit::Visual::Base( WireframeVisual::New( *( mFactoryCache.Get() ) ).Get() ); } - Visual::Base* visualPtr = NULL; + Visual::BasePtr visualPtr; - Property::Value* typeValue = propertyMap.Find( Toolkit::Visual::Property::TYPE, VISUAL_TYPE ); + Property::Value* typeValue = propertyMap.Find( Toolkit::VisualProperty::TYPE, VISUAL_TYPE ); Toolkit::Visual::Type visualType = Toolkit::Visual::IMAGE; // Default to IMAGE type. if( typeValue ) { @@ -116,19 +116,19 @@ Toolkit::Visual::Base VisualFactory::CreateVisual( const Property::Map& property { case Toolkit::Visual::BORDER: { - visualPtr = new BorderVisual( *( mFactoryCache.Get() ) ); + visualPtr = BorderVisual::New( *( mFactoryCache.Get() ) ); break; } case Toolkit::Visual::COLOR: { - visualPtr = new ColorVisual( *( mFactoryCache.Get() ) ); + visualPtr = ColorVisual::New( *( mFactoryCache.Get() ) ); break; } case Toolkit::Visual::GRADIENT: { - visualPtr = new GradientVisual( *( mFactoryCache.Get() ) ); + visualPtr = GradientVisual::New( *( mFactoryCache.Get() ) ); break; } @@ -142,11 +142,11 @@ Toolkit::Visual::Base VisualFactory::CreateVisual( const Property::Map& property UrlType::Type type = ResolveUrlType( imageUrl ); if( UrlType::N_PATCH == type ) { - visualPtr = new NPatchVisual( *( mFactoryCache.Get() ) ); + visualPtr = NPatchVisual::New( *( mFactoryCache.Get() ), imageUrl ); } else if( UrlType::SVG == type ) { - visualPtr = new SvgVisual( *( mFactoryCache.Get() ) ); + visualPtr = SvgVisual::New( *( mFactoryCache.Get() ), imageUrl ); } else // Regular image { @@ -159,12 +159,12 @@ Toolkit::Visual::Base VisualFactory::CreateVisual( const Property::Map& property if( batchingEnabled ) { - visualPtr = new BatchImageVisual( *( mFactoryCache.Get() ) ); + visualPtr = BatchImageVisual::New( *( mFactoryCache.Get() ), imageUrl ); break; } else { - visualPtr = new ImageVisual( *( mFactoryCache.Get() ) ); + visualPtr = ImageVisual::New( *( mFactoryCache.Get() ), imageUrl ); } } } @@ -174,41 +174,39 @@ Toolkit::Visual::Base VisualFactory::CreateVisual( const Property::Map& property case Toolkit::Visual::MESH: { - visualPtr = new MeshVisual( *( mFactoryCache.Get() ) ); + visualPtr = MeshVisual::New( *( mFactoryCache.Get() ) ); break; } case Toolkit::Visual::PRIMITIVE: { - visualPtr = new PrimitiveVisual( *( mFactoryCache.Get() ) ); + visualPtr = PrimitiveVisual::New( *( mFactoryCache.Get() ) ); break; } case Toolkit::Visual::WIREFRAME: { - visualPtr = new WireframeVisual( *( mFactoryCache.Get() ) ); + visualPtr = WireframeVisual::New( *( mFactoryCache.Get() ) ); break; } case Toolkit::Visual::TEXT: { - visualPtr = new TextVisual( *( mFactoryCache.Get() ) ); + visualPtr = TextVisual::New( *( mFactoryCache.Get() ) ); break; } - } if( visualPtr ) { - Actor actor; - visualPtr->Initialize( actor, propertyMap ); + visualPtr->SetProperties( propertyMap ); } else { DALI_LOG_ERROR( "Renderer type unknown\n" ); } - return Toolkit::Visual::Base( visualPtr ); + return Toolkit::Visual::Base( visualPtr.Get() ); } Toolkit::Visual::Base VisualFactory::CreateVisual( const Image& image ) @@ -220,20 +218,22 @@ Toolkit::Visual::Base VisualFactory::CreateVisual( const Image& image ) if( mDebugEnabled ) { - return Toolkit::Visual::Base( new WireframeVisual( *( mFactoryCache.Get() ) ) ); + return Toolkit::Visual::Base( WireframeVisual::New( *( mFactoryCache.Get() ) ).Get() ); } + Visual::BasePtr visualPtr; + NinePatchImage npatchImage = NinePatchImage::DownCast( image ); if( npatchImage ) { - NPatchVisual* visualPtr = new NPatchVisual( *( mFactoryCache.Get() ), npatchImage ); - return Toolkit::Visual::Base( visualPtr ); + visualPtr = NPatchVisual::New( *( mFactoryCache.Get() ), npatchImage ); } else { - ImageVisual* visualPtr = new ImageVisual( *( mFactoryCache.Get() ), image ); - return Toolkit::Visual::Base( visualPtr ); + visualPtr = ImageVisual::New( *( mFactoryCache.Get() ), image ); } + + return Toolkit::Visual::Base( visualPtr.Get() ); } Toolkit::Visual::Base VisualFactory::CreateVisual( const std::string& url, ImageDimensions size ) @@ -245,26 +245,27 @@ Toolkit::Visual::Base VisualFactory::CreateVisual( const std::string& url, Image if( mDebugEnabled ) { - return Toolkit::Visual::Base( new WireframeVisual( *( mFactoryCache.Get() ) ) ); + return Toolkit::Visual::Base( WireframeVisual::New( *( mFactoryCache.Get() ) ).Get() ); } + Visual::BasePtr visualPtr; + // first resolve url type to know which visual to create UrlType::Type type = ResolveUrlType( url ); if( UrlType::N_PATCH == type ) { - NPatchVisual* visualPtr = new NPatchVisual( *( mFactoryCache.Get() ), url ); - return Toolkit::Visual::Base( visualPtr ); + visualPtr = NPatchVisual::New( *( mFactoryCache.Get() ), url ); } else if( UrlType::SVG == type ) { - SvgVisual* visualPtr = new SvgVisual( *( mFactoryCache.Get() ), url, size ); - return Toolkit::Visual::Base( visualPtr ); + visualPtr = SvgVisual::New( *( mFactoryCache.Get() ), url, size ); } else // Regular image { - ImageVisual* visualPtr = new ImageVisual( *( mFactoryCache.Get() ), url, size ); - return Toolkit::Visual::Base( visualPtr ); + visualPtr = ImageVisual::New( *( mFactoryCache.Get() ), url, size ); } + + return Toolkit::Visual::Base( visualPtr.Get() ); } } // namespace Internal