X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=dali-toolkit%2Finternal%2Fvisuals%2Fvisual-factory-impl.cpp;h=9b77e638a9c20d2e070bf2937f510690a49f04dc;hb=25b212f44160ea19465962203f604cdbc6623871;hp=f76aeedb16d84bb0364a08bc04aa360d827900d8;hpb=44835162f4c0107591223e60557ee62b79cab35a;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 f76aeed..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 @@ -38,6 +38,7 @@ #include #include #include +#include #include #include #include @@ -99,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 ) { @@ -115,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; } @@ -141,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 { @@ -158,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 ); } } } @@ -173,35 +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 = 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 ) @@ -213,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 ) @@ -238,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