-BaseHandle CreateImage()
-{
- ImagePtr image = Image::New();
- return Dali::Image(image.Get());
-}
-
-TypeRegistration mType( typeid(Dali::Image), typeid(Dali::BaseHandle), CreateImage );
-
-Dali::SignalConnectorType signalConnector1(mType, Dali::Image::SIGNAL_IMAGE_LOADING_FINISHED, &Image::DoConnectSignal);
-Dali::SignalConnectorType signalConnector2(mType, Dali::Image::SIGNAL_IMAGE_UPLOADED, &Image::DoConnectSignal);
-
-}
-
-Image::Image( LoadPolicy loadPol, ReleasePolicy releasePol )
-: mImageFactory(ThreadLocalStorage::Get().GetImageFactory()),
- mWidth(0),
- mHeight(0),
- mConnectionCount(0),
- mLoadPolicy(loadPol),
- mReleasePolicy(releasePol)
-{
-}
-
-ImagePtr Image::New()
-{
- ImagePtr image = new Image;
- image->Initialize();
- return image;
-}
-
-ImagePtr Image::New( const std::string& filename, const Dali::ImageAttributes& attributes, LoadPolicy loadPol, ReleasePolicy releasePol )
-{
- ImagePtr image;
- if( IsNinePatchFileName(filename) )
- {
- image = NinePatchImage::New( filename, attributes, loadPol, releasePol );
- }
- else
- {
- image = new Image( loadPol, releasePol );
- image->Initialize();
-
- // consider the requested size as natural size, 0 means we don't (yet) know it
- image->mWidth = attributes.GetWidth();
- image->mHeight = attributes.GetHeight();
- image->mRequest = image->mImageFactory.RegisterRequest( filename, &attributes );
-
- if( Dali::Image::Immediate == loadPol )
- {
- // Trigger loading of the image on a as soon as it can be done
- image->mTicket = image->mImageFactory.Load( image->mRequest.Get() );
- image->mTicket->AddObserver( *image );
- }
- }
- DALI_LOG_SET_OBJECT_STRING( image, filename );
-
- return image;
-}
-
-ImagePtr Image::New( NativeImage& nativeImg )
-{
- ImagePtr image = new Image;
- image->Initialize();
-
- ResourceClient &resourceClient = ThreadLocalStorage::Get().GetResourceClient();
-
- image->mWidth = nativeImg.GetWidth();
- image->mHeight = nativeImg.GetHeight();