, __pLockCallbackParam(null)
, __pUnlockCallbackFunc(null)
, __pUnlockCallbackParam(null)
+ , __pPostlockCallbackFunc(null)
+ , __pPostlockCallbackParam(null)
{
_Util::CarveMagicKey(*this, __magicKey);
}
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
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
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);
void* __pLockCallbackParam;
void (* __pUnlockCallbackFunc)(void*);
void* __pUnlockCallbackParam;
+ void (* __pPostlockCallbackFunc)(BufferInfo&, void*);
+ void* __pPostlockCallbackParam;
friend class _Canvas;
friend class _BitmapImpl;
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;
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))
{
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;
_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
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;
}
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
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);
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)
this->_sharedItem->pLockCallbackParam = null;
this->_sharedItem->pUnlockCallbackFunc = null;
this->_sharedItem->pUnlockCallbackParam = null;
+ this->_sharedItem->pPostlockCallbackFunc = null;
+ this->_sharedItem->pPostlockCallbackParam = null;
}
}; // _BitmapImplHack
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:
void* pLockCallbackParam;
void (* pUnlockCallbackFunc)(void*);
void* pUnlockCallbackParam;
+ void (* pPostlockCallbackFunc)(BufferInfo&, void*);
+ void* pPostlockCallbackParam;
struct
{
#include <FBaseDataType.h>
#include <FGrpBitmap.h>
+#include <FGrpBufferInfo.h>
namespace Tizen { namespace Graphics
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);