From 1e2d12743cac6d2a25f8dc882cdcec113a643b9a Mon Sep 17 00:00:00 2001 From: "taeyoon0.lee" Date: Wed, 11 Oct 2017 18:00:43 +0900 Subject: [PATCH] [4.0] When native image is destroyed, It call TriggerEventInterface callback. This reverts commit 0a3bcdabd8633cf86782d5d1978a458f1f11548f. Change-Id: I50ca43eaa17f008b4d3727b3ae0edfa89af60746 --- .../public-api/adaptor-framework/native-image-source.cpp | 0 .../public-api/adaptor-framework/native-image-source.h | 0 adaptors/tizen/native-image-source-impl-tizen.cpp | 16 +++++++++++++++- adaptors/tizen/native-image-source-impl.h | 7 +++++++ adaptors/x11/native-image-source-impl-x.cpp | 0 adaptors/x11/native-image-source-impl.h | 0 6 files changed, 22 insertions(+), 1 deletion(-) mode change 100755 => 100644 adaptors/public-api/adaptor-framework/native-image-source.cpp mode change 100755 => 100644 adaptors/public-api/adaptor-framework/native-image-source.h mode change 100755 => 100644 adaptors/tizen/native-image-source-impl-tizen.cpp mode change 100755 => 100644 adaptors/tizen/native-image-source-impl.h mode change 100755 => 100644 adaptors/x11/native-image-source-impl-x.cpp mode change 100755 => 100644 adaptors/x11/native-image-source-impl.h diff --git a/adaptors/public-api/adaptor-framework/native-image-source.cpp b/adaptors/public-api/adaptor-framework/native-image-source.cpp old mode 100755 new mode 100644 diff --git a/adaptors/public-api/adaptor-framework/native-image-source.h b/adaptors/public-api/adaptor-framework/native-image-source.h old mode 100755 new mode 100644 diff --git a/adaptors/tizen/native-image-source-impl-tizen.cpp b/adaptors/tizen/native-image-source-impl-tizen.cpp old mode 100755 new mode 100644 index 3afb87b..fecf43b --- a/adaptors/tizen/native-image-source-impl-tizen.cpp +++ b/adaptors/tizen/native-image-source-impl-tizen.cpp @@ -29,6 +29,8 @@ #include #include #include +#include + // Allow this to be encoded and saved: #include @@ -88,7 +90,8 @@ NativeImageSource::NativeImageSource( unsigned int width, unsigned int height, D mColorDepth( depth ), mEglImageKHR( NULL ), mEglImageExtensions( NULL ), - mSetSource( false ) + mSetSource( false ), + mNotification( NULL ) { DALI_ASSERT_ALWAYS( Adaptor::IsAvailable() ); EglFactory& eglFactory = Adaptor::GetImplementation( Adaptor::Get() ).GetEGLFactory(); @@ -197,6 +200,11 @@ NativeImageSource::~NativeImageSource() if( mTbmSurface != NULL ) { tbm_surface_internal_unref( mTbmSurface ); + + if (mNotification != NULL) { + TriggerEventInterface* triggerEvent = static_cast(mNotification); + triggerEvent->Trigger(); + } } } } @@ -206,6 +214,12 @@ Any NativeImageSource::GetNativeImageSource() const return Any( mTbmSurface ); } + +void NativeImageSource::SetDestructorNotification(void* notification) +{ + mNotification = notification; +} + bool NativeImageSource::GetPixels(std::vector& pixbuf, unsigned& width, unsigned& height, Pixel::Format& pixelFormat) const { if( mTbmSurface != NULL ) diff --git a/adaptors/tizen/native-image-source-impl.h b/adaptors/tizen/native-image-source-impl.h old mode 100755 new mode 100644 index 505d8b2..a724d1e --- a/adaptors/tizen/native-image-source-impl.h +++ b/adaptors/tizen/native-image-source-impl.h @@ -63,6 +63,7 @@ public: */ Any GetNativeImageSource() const; + /** * @copydoc Dali::NativeImageSource::GetPixels() */ @@ -155,6 +156,11 @@ public: */ int GetEglImageTextureTarget(); + /** + * @copydoc Dali::NativeImageInterface::Extension::SetDestructorNotification((void *notification) + */ + void SetDestructorNotification(void* notification); + private: /** @@ -189,6 +195,7 @@ private: void* mEglImageKHR; ///< From EGL extension EglImageExtensions* mEglImageExtensions; ///< The EGL Image Extensions bool mSetSource; + void *mNotification; }; } // namespace Adaptor diff --git a/adaptors/x11/native-image-source-impl-x.cpp b/adaptors/x11/native-image-source-impl-x.cpp old mode 100755 new mode 100644 diff --git a/adaptors/x11/native-image-source-impl.h b/adaptors/x11/native-image-source-impl.h old mode 100755 new mode 100644 -- 2.7.4