解决好OS 的基本接口后,接下来考虑GUI的设计。
嵌入式行业通常的GUI架构如下:
IDE (第四代脚本语言) : 将用户的设计转化为RTE支持的第三代语言 (C或者C++)
RTE : 负责目标OS平台支持(比如QT,GDI+)
IDE的设计涉及到编译语言设计,这里不做深入讨论。
下面讨论RTE的设计。
RTE的设计一般又分为2部分。
一部分是 与GUI密切相关的HMI设计。按课题大致分为3部分
1> Canvas设计 (主要负责各种复杂图形描画)
2> 事件处理(用户操作事件(键盘,触摸等),系统事件,以及为了View、Module分离而设计的框架事件,用户自定义事件)
3> 数据更新与同步与GUI的分离 (Signal-Slot, SetData等)
第二部分是 Window管理 (Graphic Lib)
主要负责Window的创建,Windwo与硬件OSD的映射。
比如,通常机顶盒采用的硬件主要有3层OSD, 硬件负责3个OSD层的合成。
接下来先讨论第二部分的设计。