#include <gl/egl-factory.h>
#include <adaptor-impl.h>
#include <render-surface.h>
+#include <trigger-event-factory.h>
+
// Allow this to be encoded and saved:
#include <bitmap-saver.h>
mColorDepth( depth ),
mEglImageKHR( NULL ),
mEglImageExtensions( NULL ),
- mSetSource( false )
+ mSetSource( false ),
+ mNotification( NULL )
{
DALI_ASSERT_ALWAYS( Adaptor::IsAvailable() );
EglFactory& eglFactory = Adaptor::GetImplementation( Adaptor::Get() ).GetEGLFactory();
if( mTbmSurface != NULL )
{
tbm_surface_internal_unref( mTbmSurface );
+
+ if (mNotification != NULL) {
+ TriggerEventInterface* triggerEvent = static_cast<TriggerEventInterface* >(mNotification);
+ triggerEvent->Trigger();
+ }
}
}
}
return Any( mTbmSurface );
}
+
+void NativeImageSource::SetDestructorNotification(void* notification)
+{
+ mNotification = notification;
+}
+
bool NativeImageSource::GetPixels(std::vector<unsigned char>& pixbuf, unsigned& width, unsigned& height, Pixel::Format& pixelFormat) const
{
if( mTbmSurface != NULL )
*/
Any GetNativeImageSource() const;
+
/**
* @copydoc Dali::NativeImageSource::GetPixels()
*/
*/
int GetEglImageTextureTarget();
+ /**
+ * @copydoc Dali::NativeImageInterface::Extension::SetDestructorNotification((void *notification)
+ */
+ void SetDestructorNotification(void* notification);
+
private:
/**
void* mEglImageKHR; ///< From EGL extension
EglImageExtensions* mEglImageExtensions; ///< The EGL Image Extensions
bool mSetSource;
+ void *mNotification;
};
} // namespace Adaptor