1.gui概念
2.OSD实现
1.概念
OSD是on-screen display的简称,即屏幕菜单式调节方式。一般是按Menu键后屏幕弹出的显示器各项调节项目信息的矩形菜单,可通过该菜单对显示器各项工作指标包括色彩、模式、几何形状等进行调整,从而达到最佳的使用状态。
它通过显示在屏幕上的功能菜单达到调整各项参数的目的,不但调整方便,而且调整的内容也比以上的两种方式多,增加了失真、会聚、色温、消磁等高级调整内容。像以前显示器出现的网纹干扰、屏幕视窗不正、磁化等需要送维修厂商维修的故障,现在举手之间便可解决。 另外在OSD选项里还可以调整显示的位置、无动作关闭显示的时间 OSD:Object Sequence Diagram,对象顺序图,软件工程专用术语。
换台调整音量画质时候,在屏幕任何位置显示图形
2.OSD文件夹结构描述
3.各种表编写
初始化表编写
事件表编写
状态表编写
焦点表编写
4.编写OSD注意事项
1)、所有界面修改都采用工具完成,禁止手动直接修改代码(目前工具对IFDEF等标识符不识别,容易导致工具崩溃)
2)、图库、字库均有专业工具生成,GUI不识别除专业工具以外的工具生成的数据
5. 基于状态的函数编写
5.内核API
void GUI_API_ProcessMsg(void);
BU32 GUI_API_PostKeyMessage(BU32 value,BU32 state);
void GUI_API_SetTimerTick(BU32 nms);
void GUI_API_TimerProcess(void);
void *GUI_API_Malloc(BU32 size);
void GUI_API_Free(void * lpmem);
void GUI_API_Memset(void *lpmem,BU08 value,BU32 size);
void GUI_API_Memcpy(void *lpDsr,void * lpSrc,BU32 size);
BU08 GUI_API_Toupper(BU08 value);
BU32 GUI_API_Strlen(const PU08 s);
void GUI_API_TimerDelay(BU32 ms);
PU08 GUI_API_Strcpy(PU08 dest, const PU08 src);
BU32 GUI_API_Strcmp(PU08 str1,PU08 str2);
void GUI_API_Printf(PU08 fmt);
void GUI_API_AddHexStr(BU32 value, BU32 len, PU08 ps);
void GUI_API_AddDecStr(BU32 value, BU32 len, PU08 ps);
BU32 GUI_API_GetDecLen(BU32 value);
BU32 GUI_API_AddStrDec(PU08 ps);
BU32 GUI_API_Rand(void);
void GUI_API_SetBmpLibAddr(void *addr);
void GUI_API_SetFontLibAddr(void *addr);
void GUI_API_SetGB2312LibAddr(void *addr);
void GUI_API_SetAsciiLibAddr(void *addr);
void GUI_API_SetGBSignalLibAddr(void *addr);
void GUI_API_SetDictionaryDataAddr(void *addr);
6.gui控件
给控件获取值
void
GUI_ENC_API_GetValue
(
BU32
ID
,
BU32
type
,
BU32
*
value
,
BU32
*
para
);
给控件设置值
void
GUI_ENC_API_SetValue
(
BU32
ID
,
BU32
type
,
BU32
value
,
BU32
para
);
![](https://i-blog.csdnimg.cn/blog_migrate/8292e9b6513e947606b89e72623a202c.png)