📄 guidev_clear.c
字号:
/*! @file GUIDEV_Clear.c
* Implementation of memory devices, add. module
*
* @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 "GUI_Protected.h"
#include "GUIDebug.h"
#include <string.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
//////////////////////////////////////////////////////////////////////////
//! 将存储设备的所有内容标志为“未改变的”。
//! @param hMem 存储设备的句柄
//! @note 使用GUI_MEMDEV_CopyToLCD 的下一步绘图操作是, 只有在GUI_MEMDEV_Clear 和
//! GUI_MEMDEV_CopyToLCD 之间有字节改变的情况才进行写操作。
void GUI_MEMDEV_Clear(GUI_MEMDEV_Handle hMem)
{
if (!hMem)
{
if ((hMem = GUI_Context.hDevData) == 0)
{
return ;// 设备数据指针为NULL
}
}
// 大括号用于建立下面的局部变量
{
GUI_MEMDEV *pDev = GUI_MEMDEV_H2P(hMem);// 得到句柄指向的实际内存指针
GUI_USAGE_h hUsage = pDev->hUsage;
if (hUsage)
{
GUI_USAGE *pUsage = GUI_USAGE_H2P(hUsage);
GUI_USAGE_Clear(pUsage);// avoid compile warning
}
/* else
{
GUI_Clear();
}*/
}
}
#else
void GUIDEV_Clear(void)
{
// avoid empty object files
}
#endif /* GUI_MEMDEV_SUPPORT */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -