在常见的移动终端等小型手持式设备上,由于硬件条件等的限制,我们看到的用户界面都非常简单,几乎看不到PC机上华丽美观的GUI 支持。随着硬件条件的提高,移动终端的嵌入式系统对轻量级GUI的需求会越来越迫切。
用户界面是指计算机与其使用者之间的对话接口[1],它为用户提供与应用系统交互的可视化通道,同时为程序员提供了一种编程模式,即GUI负责系统的可视化界面的生成、管理以及系统与用户之间的信息交互[2-3],而程序员只需专注于对实际应用的分析。
1. GUI在移动终端中的作用
图1显示大部分移动终端软件的系统架构,由图可以清晰看出,GUI在移动终端系统中扮演着很重要的角色,它运行在操作系统抽象层(OSAL)之上,为应用程序提供基于消息机制的图形用户界面编程接口。GUI与其它一些应用引擎一起为实现丰富的移动终端应用而提供支持,从而将应用程序的计算部分与界面分离开来,这样就充分保证了根据不同需求快速定制出功能强大界面丰富的应用程序界面。
图1 移动终端软件架构
2. GUI层次结构
从整体结构上看GUI是分层设计的,其主要成分为层次结构见图2,它的主要组成部分是 :显示驱动、GDI接口、消息队列和窗口管理四部分。
图2. GUI层次结构
2.1 显示驱动
显示设备和打印设备一同组成图形设备,图形设备抽象层(GAL)定义了一组不依赖于任何特殊硬件的抽象接口,所有顶层的图形操作都建立在抽象接口之上。而用于实现这一抽象接口的底层代码类似操作系统中的驱动程序。
显示设备驱动作为GUI最底层驱动,通过显示设备驱动程序接口(DDI)给上层GDI函数一些基础的功能和设施。可以看成是GDI的图形驱动程序,并将底层图形设备和上层接口分离开来。
DDI用GAL中的函数标准结构表示,统一成标准的驱动接口结构,保证显示对窗口透明。主要DDI函数包括:对显示设备进行初始化,管理显示内存使用和为上层GDI提供映射到物理地址空间以及诸如调色板等物理地址上的相关处理。
2.2 GDI接口
GUI系统的一个重要组成部分就是GDI,即图形设备接口(Graphics Device Interface)。通过GDI,GUI程序就可以在计算机屏幕上,或者其他的显示设备上进行图形输出,包括基本绘图和文本输出。
GDI重要函数包括:图形设备上下文管理、绘图函数和使用GDI对象的函数
2.2.1图形设备上下文管理函数