Callback function appeded in BitmapTool::SetCallback API
authorYoungki Ahn <ykahn@samsung.com>
Thu, 22 Aug 2013 06:51:00 +0000 (15:51 +0900)
committerYoungki Ahn <ykahn@samsung.com>
Thu, 22 Aug 2013 06:55:17 +0000 (15:55 +0900)
Change-Id: Ic3ddefc61ca3ba17743fef83741af9a49ccdc9da
Signed-off-by: Youngki Ahn <ykahn@samsung.com>
src/graphics/FGrp_Bitmap.cpp
src/graphics/FGrp_Bitmap.h
src/graphics/FGrp_BitmapImpl.cpp
src/graphics/FGrp_BitmapTool.cpp [changed mode: 0644->0755]
src/graphics/FGrp_BitmapUtil.cpp [changed mode: 0644->0755]
src/graphics/FGrp_BitmapUtil.h [changed mode: 0644->0755]
src/graphics/inc/FGrp_BitmapImpl.h
src/graphics/inc/FGrp_BitmapTool.h [changed mode: 0644->0755]

index 3ed088e..24ecae2 100755 (executable)
@@ -299,6 +299,8 @@ _Bitmap::_Bitmap(void)
        , __pLockCallbackParam(null)
        , __pUnlockCallbackFunc(null)
        , __pUnlockCallbackParam(null)
+       , __pPostlockCallbackFunc(null)
+       , __pPostlockCallbackParam(null)
 {
        _Util::CarveMagicKey(*this, __magicKey);
 }
@@ -925,7 +927,14 @@ _Bitmap::LockFast(BufferInfo& info, long timeout)
                this->__pLockCallbackFunc(this->__pLockCallbackParam);
        }
 
-       return this->__Lock(info, timeout);
+       result r = this->__Lock(info, timeout);
+
+       if (r == E_SUCCESS && this->__pPostlockCallbackFunc)
+       {
+               this->__pPostlockCallbackFunc(info, this->__pPostlockCallbackParam);
+       }
+
+       return r;
 }
 
 result
@@ -1013,13 +1022,17 @@ _Bitmap::AssignUserBuffer(unsigned char* pExtBuffer, int bytesPerLine)
 
 void
 _Bitmap::SetCallback(void (* LockCallback)(void*), void* pLockCallbackParam,
-                     void (* UnlockCallback)(void*), void* pUnlockCallbackParam)
+                     void (* UnlockCallback)(void*), void* pUnlockCallbackParam,
+                     void (* PostlockCallback)(BufferInfo&, void*), void* pPostlockCallbackParam)
 {
        this->__pLockCallbackFunc = LockCallback;
        this->__pLockCallbackParam = pLockCallbackParam;
 
        this->__pUnlockCallbackFunc = UnlockCallback;
        this->__pUnlockCallbackParam = pUnlockCallbackParam;
+
+       this->__pPostlockCallbackFunc = PostlockCallback;
+       this->__pPostlockCallbackParam = pPostlockCallbackParam;
 }
 
 result
index 17d1daa..7da7281 100755 (executable)
@@ -93,7 +93,8 @@ public:
        void AssignUserBuffer(unsigned char* pBuffer, int bytesPerLine);
 
        void SetCallback(void (* LockCallback)(void*), void* pLockCallbackParam,
-                        void (* UnlockCallback)(void*), void* pUnlockCallbackParam);
+                        void (* UnlockCallback)(void*), void* pUnlockCallbackParam,
+                        void (* PostlockCallback)(BufferInfo&, void*), void* pPostlockCallbackParam);
 
 protected:
        void _SetOwnership(bool ownership);
@@ -132,6 +133,8 @@ private:
        void* __pLockCallbackParam;
        void (* __pUnlockCallbackFunc)(void*);
        void* __pUnlockCallbackParam;
+       void (* __pPostlockCallbackFunc)(BufferInfo&, void*);
+       void* __pPostlockCallbackParam;
 
        friend class _Canvas;
        friend class _BitmapImpl;
index 57baaff..2ffe89c 100755 (executable)
@@ -321,6 +321,9 @@ _BitmapImpl::_BitmapImpl(void)
                this->_sharedItem->pLockCallbackParam = null;
                this->_sharedItem->pUnlockCallbackFunc = null;
                this->_sharedItem->pUnlockCallbackParam = null;
+               this->_sharedItem->pPostlockCallbackFunc = null;
+               this->_sharedItem->pPostlockCallbackParam = null;
+
                this->_sharedItem->isMutable = true;
                this->_sharedItem->associated.pixelFormat = BITMAP_PIXEL_FORMAT_ARGB8888;
                this->_sharedItem->associated.hasBeenDetectedByUsingName = false;
@@ -1646,7 +1649,8 @@ _BitmapImpl::CheckNinePatchedBitmapStrictly(const Bitmap& bitmap)
 bool
 _BitmapImpl::_SetCallback(void (* DestroyCallback)(void*), void* pDestroyCallbackParam,
                              void (* LockCallback)(void*), void* pLockCallbackParam,
-                             void (* UnlockCallback)(void*), void* pUnlockCallbackParam)
+                             void (* UnlockCallback)(void*), void* pUnlockCallbackParam,
+                             void (* PostlockCallback)(BufferInfo&, void*), void* pPostlockCallbackParam)
 {
        if (!(INSTANCE_IS_VALID))
        {
@@ -1665,14 +1669,17 @@ _BitmapImpl::_SetCallback(void (* DestroyCallback)(void*), void* pDestroyCallbac
        this->_sharedItem->pUnlockCallbackFunc = UnlockCallback;
        this->_sharedItem->pUnlockCallbackParam = pUnlockCallbackParam;
 
+       this->_sharedItem->pPostlockCallbackFunc = PostlockCallback;
+       this->_sharedItem->pPostlockCallbackParam = pPostlockCallbackParam;
+
        if (this->_sharedItem->nativeBitmap.get())
        {
-               this->_sharedItem->nativeBitmap->SetCallback(LockCallback, pLockCallbackParam, UnlockCallback, pUnlockCallbackParam);
+               this->_sharedItem->nativeBitmap->SetCallback(LockCallback, pLockCallbackParam, UnlockCallback, pUnlockCallbackParam, PostlockCallback, pPostlockCallbackParam);
        }
 
        if (this->_sharedItem->scaledNativeBitmap.get())
        {
-               this->_sharedItem->scaledNativeBitmap->SetCallback(LockCallback, pLockCallbackParam, UnlockCallback, pUnlockCallbackParam);
+               this->_sharedItem->scaledNativeBitmap->SetCallback(LockCallback, pLockCallbackParam, UnlockCallback, pUnlockCallbackParam, PostlockCallback, pPostlockCallbackParam);
        }
 
        return true;
old mode 100644 (file)
new mode 100755 (executable)
index e0b9ff4..44a8b15
@@ -38,9 +38,10 @@ bool
 _BitmapTool::SetCallback(Tizen::Graphics::Bitmap& bitmap,
                          void (* DestroyCallback)(void*), void* pCallbackParam,
                          void (* LockCallback)(void*), void* pLockParam,
-                         void (* UnlockCallback)(void*), void* pUnlockParam)
+                         void (* UnlockCallback)(void*), void* pUnlockParam,
+                         void (* PostlockCallback)(Tizen::Graphics::BufferInfo& bufferInfo, void*), void* pPostlockParam)
 {
-       return _BitmapUtil::SetCallback(bitmap, DestroyCallback, pCallbackParam, LockCallback, pLockParam, UnlockCallback, pUnlockParam);
+       return _BitmapUtil::SetCallback(bitmap, DestroyCallback, pCallbackParam, LockCallback, pLockParam, UnlockCallback, pUnlockParam, PostlockCallback, pPostlockParam);
 }
 
 void
old mode 100644 (file)
new mode 100755 (executable)
index 1776497..8b30214
@@ -247,7 +247,7 @@ Tizen::Graphics::_BitmapUtil::ChangeBuffer(Tizen::Graphics::Bitmap& srcBitmap, v
                return E_SYSTEM;
        }
 
-       if (!SetCallback(srcBitmap, DestroyCallback, pCallbackParam, null, null, null, null))
+       if (!SetCallback(srcBitmap, DestroyCallback, pCallbackParam, null, null, null, null, null, null))
        {
                return E_SYSTEM;
        }
@@ -261,13 +261,14 @@ bool
 Tizen::Graphics::_BitmapUtil::SetCallback(Tizen::Graphics::Bitmap& bitmap,
        void (* DestroyCallback)(void*), void* pCallbackParam,
        void (* LockCallback)(void*), void* pLockParam,
-       void (* UnlockCallback)(void*), void* pUnlockParam)
+       void (* UnlockCallback)(void*), void* pUnlockParam,
+       void (* PostlockCallback)(Tizen::Graphics::BufferInfo& bufferInfo, void*), void* pPostlockParam)
 {
        Tizen::Graphics::_BitmapImpl* pBitmapImpl = _BitmapImpl::GetInstance(bitmap);
 
        _BitmapImplHack* pBitmapImplHack = static_cast <_BitmapImplHack*>(pBitmapImpl);
 
-       return (pBitmapImplHack) ? pBitmapImplHack->SetCallback(DestroyCallback, pCallbackParam, LockCallback, pLockParam, UnlockCallback, pUnlockParam) : false;
+       return (pBitmapImplHack) ? pBitmapImplHack->SetCallback(DestroyCallback, pCallbackParam, LockCallback, pLockParam, UnlockCallback, pUnlockParam, PostlockCallback, pPostlockParam) : false;
 }
 
 void
old mode 100644 (file)
new mode 100755 (executable)
index 954dd8b..748c489
@@ -58,7 +58,8 @@ result ChangeBuffer(Tizen::Graphics::Bitmap& srcBitmap, void* pBuffer, long byte
 bool SetCallback(Tizen::Graphics::Bitmap& bitmap,
                                void (* DestroyCallback)(void*), void* pCallbackParam,
                                void (* LockCallback)(void*), void* pLockParam,
-                               void (* UnlockCallback)(void*), void* pUnlockParam);
+                               void (* UnlockCallback)(void*), void* pUnlockParam,
+                               void (* PostlockCallback)(Tizen::Graphics::BufferInfo& bufferInfo, void*), void* pPostlockParam);
 
 void ResetCallback(Tizen::Graphics::Bitmap& bitmap);
 
@@ -124,14 +125,15 @@ public:
 
        bool SetCallback(void (* DestroyCallback)(void*), void* pDestroyCallbackParam,
                         void (* LockCallback)(void*), void* pLockCallbackParam,
-                        void (* UnlockCallback)(void*), void* pUnlockCallbackParam)
+                        void (* UnlockCallback)(void*), void* pUnlockCallbackParam,
+                        void (* PostlockCallback)(BufferInfo&, void*), void* pPostlockCallbackParam)
        {
                if (this->_sharedItem.get() == 0)
                {
                        return false;
                }
 
-               return this->_SetCallback(DestroyCallback, pDestroyCallbackParam, LockCallback, pLockCallbackParam, UnlockCallback, pUnlockCallbackParam);
+               return this->_SetCallback(DestroyCallback, pDestroyCallbackParam, LockCallback, pLockCallbackParam, UnlockCallback, pUnlockCallbackParam, PostlockCallback, pPostlockCallbackParam);
        }
 
        void ResetCallback(void)
@@ -147,6 +149,8 @@ public:
                this->_sharedItem->pLockCallbackParam = null;
                this->_sharedItem->pUnlockCallbackFunc = null;
                this->_sharedItem->pUnlockCallbackParam = null;
+               this->_sharedItem->pPostlockCallbackFunc = null;
+               this->_sharedItem->pPostlockCallbackParam = null;
        }
 
 }; // _BitmapImplHack
index 09dcbdf..c031bfb 100755 (executable)
@@ -226,7 +226,8 @@ public:
 protected:
        bool _SetCallback(void (* DestroyCallback)(void*), void* pDestroyCallbackParam,
                          void (* LockCallback)(void*), void* pLockCallbackParam,
-                         void (* UnlockCallback)(void*), void* pUnlockCallbackParam);
+                         void (* UnlockCallback)(void*), void* pUnlockCallbackParam,
+                         void (* PostlockCallback)(BufferInfo&, void*), void* pPostlockCallbackParam);
        static _BitmapImpl*& _GetBitmapImpl(Bitmap* pBitmap);
 
 private:
@@ -257,6 +258,8 @@ protected:
                void* pLockCallbackParam;
                void (* pUnlockCallbackFunc)(void*);
                void* pUnlockCallbackParam;
+               void (* pPostlockCallbackFunc)(BufferInfo&, void*);
+               void* pPostlockCallbackParam;
 
                struct
                {
old mode 100644 (file)
new mode 100755 (executable)
index 4de370e..10663b4
@@ -26,6 +26,7 @@
 
 #include <FBaseDataType.h>
 #include <FGrpBitmap.h>
+#include <FGrpBufferInfo.h>
 
 
 namespace Tizen { namespace Graphics
@@ -43,7 +44,8 @@ bool
 SetCallback(Tizen::Graphics::Bitmap& bitmap,
             void (* DestroyCallback)(void*), void* pCallbackParam,
             void (* LockCallback)(void*), void* pLockParam,
-            void (* UnlockCallback)(void*), void* pUnlockParam);
+            void (* UnlockCallback)(void*), void* pUnlockParam,
+            void (* PostlockCallback)(Tizen::Graphics::BufferInfo& bufferInfo, void*) = 0, void* pPostlockParam = 0);
 
 void
 ResetCallback(Tizen::Graphics::Bitmap& bitmap);