X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;ds=sidebyside;f=dali%2Finternal%2Fevent%2Fimages%2Fnative-image-impl.cpp;h=39c8ecbb2e3a536c24205d93f6a0fae538df6fd5;hb=65bb67c665fe465e388e8510eeb5fadda45cf202;hp=46211cb26fdf04f11446848d3587789717272d0d;hpb=d4d24b9faeb37adb170191e6fd2077b8ae6c5428;p=platform%2Fcore%2Fuifw%2Fdali-core.git diff --git a/dali/internal/event/images/native-image-impl.cpp b/dali/internal/event/images/native-image-impl.cpp index 46211cb..39c8ecb 100644 --- a/dali/internal/event/images/native-image-impl.cpp +++ b/dali/internal/event/images/native-image-impl.cpp @@ -22,10 +22,8 @@ #include #include #include -#include -#include -#include #include +#include using namespace Dali::Integration; @@ -35,31 +33,26 @@ namespace Dali namespace Internal { -namespace -{ -TypeRegistration mType( typeid(Dali::NativeImage), typeid(Dali::Image), NULL ); -} - -NativeImage::NativeImage() +NativeImage::NativeImage( NativeImageInterface& resourceData ) : Image() { + NativeImageInterface::Extension* extension = resourceData.GetExtension(); + if( extension != NULL ) + { + mCustomFragmentPreFix = extension->GetCustomFragmentPreFix(); + mCustomSamplerTypename = extension->GetCustomSamplerTypename(); + } } NativeImagePtr NativeImage::New( NativeImageInterface& resourceData ) { - NativeImagePtr image = new NativeImage; + NativeImagePtr image = new NativeImage( resourceData ); image->Initialize(); - ResourceClient &resourceClient = ThreadLocalStorage::Get().GetResourceClient(); - image->mWidth = resourceData.GetWidth(); image->mHeight = resourceData.GetHeight(); - const ResourceTicketPtr& ticket = resourceClient.AddNativeImage( resourceData ); - DALI_ASSERT_DEBUG( dynamic_cast( ticket.Get() ) && "Resource ticket not ImageTicket subclass for image resource.\n" ); - image->mTicket = static_cast(ticket.Get()); - image->mTicket->AddObserver( *image ); - + image->mTexture = Texture::New( resourceData ); return image; } @@ -67,6 +60,26 @@ NativeImage::~NativeImage() { } +const char* NativeImage::GetCustomFragmentPreFix() +{ + if( mCustomFragmentPreFix.empty() ) + { + return NULL; + } + + return mCustomFragmentPreFix.c_str(); +} + +const char* NativeImage::GetCustomSamplerTypename() +{ + if( mCustomSamplerTypename.empty() ) + { + return NULL; + } + + return mCustomSamplerTypename.c_str(); +} + } // namespace Internal } // namespace Dali