📄 rk27.c
字号:
{
va_list Args;
va_start(Args, Format);
MyTrace(Format , Args);
va_end(Args);
}
#endif // _DEBUG_
/*****************************************************************************/
#pragma arm section //RK27_STAGE1
/////////////////////////////////////////////////////////////
#if 0
// GUI
#endif
/*****************************************************************************/
#ifndef RK_KL //仅仅提供 内核部分.
#pragma arm section code="RK27GUI_STAGE1"
/////////////////////////////////////////////////////////////
//GUI
/*----------------------------------------------------------------------
Name : RKWindowCreateEx
Desc : 创建窗口
Params: 见文档说明
Return: 创建的窗口指针
Author: System Author
Date : 070830
----------------------------------------------------------------------*/
WINDOW* RKWindowCreateEx(
WINDOW *parent, //父窗口
INT32U style, //风格
INT16U id , //窗口 ID
INT16S x,
INT16S y,
INT16S w,
INT16S h,
INT16U captionId,
INT16U bmpId,
WMPARAM createWparam,
PCHILD_WINDOW childList, //子窗口列表.
void *procRegList , // 消息处理列表.
void *privateData
// PROCHANDLE handle
)
{
return WindowCreateEx(parent, style, id, x, y, w, h, captionId, bmpId,
createWparam, childList, procRegList, privateData);
}
/*----------------------------------------------------------------------
Name : RKWindowDestroyEx
Desc : 关闭一个窗口
Params:
Return: 处理结果
Author: System Author
Date : 070830
----------------------------------------------------------------------*/
void RKWindowDestroyEx(WINDOW *win , WMPARAM wParam, WLPARAM lParam)
{
WindowDestroyEx(win , wParam , lParam);
}
/*----------------------------------------------------------------------
Name : RKWindowGetChildByID
Desc : 通过子窗口ID获取到子窗口(指针)
Params: 父窗口,子窗口ID
Return: 子窗口指针
Author: System Author
Date : 070830
----------------------------------------------------------------------*/
PWINDOW RKWindowGetChildByID(PWINDOW parent , INT16U childWindowID)
{
return WindowGetChildByID(parent , childWindowID);
}
/*----------------------------------------------------------------------
Name : RKWindowGetShowState
Desc : 获取窗口状态,判断窗口是否处于显示状态
Params: 窗口指针
Return: TRUE:显示
Author: System Author
Date : 070830
----------------------------------------------------------------------*/
BOOLEAN RKWindowGetShowState(PWINDOW win)
{
return WindowGetShowState(win);
}
/*----------------------------------------------------------------------
Name : RKWindowGetProcHandle
Desc : 获取窗口所属的应用 prochandle
Params:
Return: prochandle
Author: System Author
Date : 070830
----------------------------------------------------------------------*/
PROCHANDLE RKWindowGetProcHandle(WINDOW * win)
{
return WindowGetProcHandle(win);
}
/*----------------------------------------------------------------------
Name : RKWindowStartTimer
Desc : 启动窗口定时器
Params: 窗口,延时时间
Return: 定时器ID
Author: System Author
Date : 070830
----------------------------------------------------------------------*/
HTIMER RKWindowStartTimer(WINDOW *win, INT32U delayTicks)
{
return WindowStartTimer(win, delayTicks);
}
/*----------------------------------------------------------------------
Name : RKWindowSendMessage
Desc : 向窗口发送消息
Params: 窗口,消息,第一参数,第二参数
Return: 处理结果
Author: System Author
Date : 070830
----------------------------------------------------------------------*/
INT32U RKWindowSendMessage(WINDOW * win,
WMSG msg, WMPARAM wParam, WLPARAM lParam)
{
return WindowSendMessage(win, msg, wParam, lParam);
}
/*----------------------------------------------------------------------
Name : RKWindowChildIDSendMessage
Desc : 通过子窗口ID给子窗口发送消息
Params: 父窗口,子窗口ID,消息,第一参数,第二参数
Return: 处理结果
Author: System Author
Date : 070830
----------------------------------------------------------------------*/
INT32U RKWindowChildIDSendMessage(WINDOW * parent , INT16U ID,
WMSG msg, WMPARAM wParam, WLPARAM lParam)
{
return WindowChildIDSendMessage(parent , ID, msg, wParam, lParam);
}
/*----------------------------------------------------------------------
Name : RKWindowPostMessage
Desc : 给窗口发送异步消息,通过OS消息发送,在下一次的消息循环里面才能执行。
Params: 窗口,消息,第一参数,第二参数
Return: 处理结果
Author: System Author
Date : 070830
----------------------------------------------------------------------*/
INT32U RKWindowPostMessage(WINDOW * win,
WMSG msg, WMPARAM wParam, WLPARAM lParam)
{
return WindowPostMessage(win, msg, wParam, lParam);
}
/*----------------------------------------------------------------------
Name : RKWindowInvalidateWindowEx
Desc : 刷新窗口
如果窗口为 NULL , 则表示更新焦点窗口.
默认表示更新父窗口时更新其所有的子窗口。
Params:
Return: 处理结果
Author: System Author
Date : 070830
----------------------------------------------------------------------*/
void RKWindowInvalidateWindowEx(WINDOW *win , INT32U invalidateChilds)
{
WindowInvalidateWindowEx(win , invalidateChilds);
}
/*----------------------------------------------------------------------
Name : RKWindowSetTimeOut
Desc : 设置窗口超时时间,时间到窗口将自动关闭
内部会给窗口增加 WS_TIMEOUT 属性以保证 TIMEOUT 效果.
0XFFFF 表示取消 TIME OUT 。
Params:
Return: 无
Author: System Author
Date : 070830
----------------------------------------------------------------------*/
void RKWindowSetTimeOut(WINDOW *win , INT16U timeOut)
{
WindowSetTimeOut(win , timeOut);
}
/*----------------------------------------------------------------------
Name : RKWindowChildSetActive
Desc : 激活(显示)一个子窗口
Params: child 子窗口, Active:激活与隐藏
Return: 无
Author: System Author
Date : 070830
----------------------------------------------------------------------*/
void RKWindowChildSetActive(WINDOW *child , BOOLEAN Active)
{
WindowChildSetActive(child , Active);
}
/*----------------------------------------------------------------------
Name : RKWindowDefaultProcess
Desc : 所有窗口默认处理函数
Params:
Return: 处理结果
Author: System Author
Date : 070830
----------------------------------------------------------------------*/
INT32U RKWindowDefaultProcess(WINDOW * win,
WMSG msg, WMPARAM wParam, WLPARAM lParam)
{
return WindowDefaultProcess(win , msg, wParam, lParam);
}
/*----------------------------------------------------------------------
Name : RKWindowClassProcess
Desc : 窗口所属类处理函数
Params:
Return: 处理结果
Author: System Author
Date : 070830
----------------------------------------------------------------------*/
INT32U RKWindowClassProcess(WINDOW * win,
WMSG msg, WMPARAM wParam, WLPARAM lParam)
{
return WindowClassProcess(win , msg, wParam, lParam);
}
/*----------------------------------------------------------------------
Name : RKWinClassRegisterClassEx
Desc : 注册窗口类
Params: 类型,所属应用handle
Return: 处理结果
Author: System Author
Date : 070830
----------------------------------------------------------------------*/
BOOLEAN RKWinClassRegisterClassEx(PWINCLASS_INFO wclass , PROCHANDLE procHandle)
{
return WinClassRegisterClassEx(wclass , procHandle);
}
/*----------------------------------------------------------------------
Name : RKWinClassUnRegisterClassEx
Desc : 注销窗口类
Params: 类型,所属应用handle
Return: 处理结果
Author: System Author
Date : 070830
----------------------------------------------------------------------*/
void RKWinClassUnRegisterClassEx(INT16U cwType , PROCHANDLE procHandle)
{
WinClassUnRegisterClassEx(cwType , procHandle);
}
/*----------------------------------------------------------------------
Name : RKMeasureStringPixLen
Desc : 获取一串字符的总宽度
Params: str 字符串 ,ft 字体
Return: 宽度
Author: System Author
Date : 070830
----------------------------------------------------------------------*/
INT16U RKMeasureStringPixLen(WCHAR * str, FontType ft)
{
return MeasureStringPixLen(str, ft);
}
/*----------------------------------------------------------------------
Name : RKDrawBmpIdEx
Desc : 画图片到逻辑屏
Params: x,y:图片起始位置, id 图片资源ID,srcRect 截图范围,xTransp透明或半透模式
Return: 无
Author: System Author
Date : 070830
----------------------------------------------------------------------*/
void RKDrawBmpIdEx(INT16S x, INT16S y, INT16U id ,
UHRECT *srcRect, DispMode xTransp)
{
DrawBmpIdEx(x, y, id , srcRect, xTransp);
}
/*----------------------------------------------------------------------
Name : RKDrawStringEx
Desc : 画字符串(到逻辑屏)
Params: x,y 起始位置, len:画区域象素长度,
pstr:unicode字符串指针,ft:字体,
colorattr:背景前景颜色 space:字符间隔
Return: 无
Author: System Author
Date : 070830
----------------------------------------------------------------------*/
void RKDrawStringEx(INT16U x, INT16U y, INT16U len, WCHAR* pstr,
FontType ft, ColorDesc* colorattr, INT16U space)
{
DrawStringEx(x, y, len, pstr, ft, colorattr, space);
}
/*----------------------------------------------------------------------
Name : RKDrawStringIdEx
Desc : 通过资源ID画字符串
Params: x,y 起始位置, len:画区域象素长度,
stringid 文本资源ID,ft:字体,
colorattr:背景前景颜色 space:字符间隔
Return: 无
Author: System Author
Date : 070830
----------------------------------------------------------------------*/
void RKDrawStringIdEx(INT16U x, INT16U y, INT16U len, INT16U stringid,
FontType ft, ColorDesc* colorattr, INT16U space)
{
DrawStringIdEx(x, y, len, stringid, ft, colorattr, space);
}
/*----------------------------------------------------------------------
Name : RKGuiDspGetWindowResProc
Desc : 获取窗口所属的 prochandle
Params: win :窗口指针 resid 资源ID
Return: prochandle
Author: System Author
Date : 070830
----------------------------------------------------------------------*/
PROCHANDLE RKGuiDspGetWindowResProc(WINDOW* win , INT16U ResID)
{
return GuiDspGetWindowResProc(win , ResID);
}
/*----------------------------------------------------------------------
Name : RockGetRamdom
Desc : 获取随机数(0-255)
Params: 只在ARM环境上可用
Return:
Author: System Author
Date : 070830
----------------------------------------------------------------------*/
UINT8 RockGetRamdom(void)
{
return GetRadom();
}
/*****************************************************************************/
#pragma arm section //RK27_STAGE1
#endif // RK_KL //仅仅提供 内核部分.
//////////////////////////////////////////////////////////////////////////
//END OF FILE
/*****************************************************************************/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -