mBlendingRequired( false ),
mColorDepth( depth ),
mEglImageKHR( NULL ),
- mEglImageExtensions( NULL )
+ mEglImageExtensions( NULL ),
+ mResourceDestructionCallback()
{
DALI_ASSERT_ALWAYS( Adaptor::IsAvailable() );
{
if (mOwnPixmap && mPixmap)
{
- ecore_x_pixmap_free(mPixmap);
+ // Temporarily disable this as this causes a crash with EFL Version 1.24.0
+ //ecore_x_pixmap_free(mPixmap);
}
}
return true;
}
-bool NativeImageSourceX::GlExtensionCreate()
+bool NativeImageSourceX::CreateResource()
{
// if the image existed previously delete it.
if (mEglImageKHR != NULL)
{
- GlExtensionDestroy();
+ DestroyResource();
}
// casting from an unsigned int to a void *, which should then be cast back
return mEglImageKHR != NULL;
}
-void NativeImageSourceX::GlExtensionDestroy()
+void NativeImageSourceX::DestroyResource()
{
mEglImageExtensions->DestroyImageKHR(mEglImageKHR);
}
}
+int NativeImageSourceX::GetTextureTarget() const
+{
+ return GL_TEXTURE_2D;
+}
+
+const char* NativeImageSourceX::GetCustomFragmentPrefix() const
+{
+ return nullptr;
+}
+
+const char* NativeImageSourceX::GetCustomSamplerTypename() const
+{
+ return nullptr;
+}
+
+Any NativeImageSourceX::GetNativeImageHandle() const
+{
+ return Any(mPixmap);
+}
+
+bool NativeImageSourceX::SourceChanged() const
+{
+ return false;
+}
+
Ecore_X_Pixmap NativeImageSourceX::GetPixmapFromAny(Any pixmap) const
{
if (pixmap.Empty())
return false;
}
+void NativeImageSourceX::SetResourceDestructionCallback(EventThreadCallback* callback)
+{
+ mResourceDestructionCallback = std::unique_ptr<EventThreadCallback>(callback);
+}
+
} // namespace Adaptor
} // namespace internal