📄 guidev_usage.c
字号:
/*! @file GUIDEV_Usage.c
* Implementation of memory devices
*
* @author hiber modified
* @author Copyleft (C) 1981-2006, All Rights Givenup
* @date 04/18/2006
* @version
*
* @note
* @attention
* @warning
* @bug
*
* @todo
* @example <file-name>
* @see
*/
#include <string.h>
#include "GUI_Protected.h"
#include "GUIDebug.h"
#if GUI_SUPPORT_MEMDEV
extern void * _GUI_ALLOC_h2p_Lock(GUI_HMEM hMem);
#define GUI_ALLOC_H2P(h) _GUI_ALLOC_h2p_Lock(h)
#define GUI_ALLOC_FREE(handle) GUI_ALLOC_Free(handle)
#define GUI_ALLOC_LOCK(handle) _GUI_ALLOC_h2p_Lock(handle)
#define GUI_ALLOC_UNLOCK(handle)
#ifdef GUI_USAGE_H2P
#undef GUI_USAGE_H2P
#define GUI_USAGE_H2P(h) ((GUI_USAGE*)_GUI_ALLOC_h2p_Lock(h))
#endif
#ifdef GUI_MEMDEV_H2P
#undef GUI_MEMDEV_H2P
#define GUI_MEMDEV_H2P _GUI_ALLOC_h2p_Lock
#endif
//////////////////////////////////////////////////////////////////////////
//! Selects a usage object into the active memory device.
void GUI_USAGE_Select(GUI_USAGE_Handle hUsage)
{
GUI_MEMDEV * pDev;
GUI_LOCK();
pDev = GUI_MEMDEV_H2P(GUI_Context.hDevData);
pDev->hUsage = hUsage;
GUI_UNLOCK();
}
//! Decrements the usage count and deletes the usage object if the counter reaches 0.
void GUI_USAGE_DecUseCnt(GUI_USAGE_Handle hUsage)
{
GUI_USAGE* pThis;
GUI_LOCK();
pThis = GUI_USAGE_H2P(hUsage);
if (--pThis->UseCnt == 0)
{
GUI_ALLOC_FREE(hUsage);
}
GUI_UNLOCK();
}
#else
void GUIDEV_Usage(void) {
/* avoid empty object files */
}
#endif /* GUI_SUPPORT_MEMDEV */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -