资料介绍
为了满足嵌入式系统的界面设计需求,给出了一种图形用户界面系统SKY-GUI的设计思路和其在嵌入式Linux环境下的实现方法。SKY-GUI有四大组成部分:输入抽象层、显示抽象层、事件系统和窗口系统。其特点是界面美观、占用资源少、运行效率高,现已应用于嵌入式视频监控项目。实验证明其设计思路可行,性能优良,适用于典型的嵌入式系统项目。
嵌入式图形用户界面(GUI, Graphic UserInterface)系统作为嵌入式系统中的一大关键技术,为用户提供设备的控制接口,其性能的好坏,界面的美观程度,影响着用户对产品的购买意愿和使用感受。
当前嵌入式系统中GUI的实现方式主要有两种:一是采用现有的GUI库;第二种是开发商基于嵌入式操作系统设计特有的GUI系统。采用第1种方式一般要对通用GUI库进行剪裁和个性化定制,也往往要支出额外的成本来获得软件授权。相对而言,第2种方法实现的GUI占用资源较小、容易满足嵌入式系统的实时性和个性化需求。
本文采用第2种方式,在嵌入式Linux下使用C语言实现了一个界面美观、轻量级、占用资源少、执行效率高的图形用户界面系统SKY-GUI.本文的结构如下:第1部分介绍SKY-GUI的基本结构;第2部分给出具体的模块设计;第3部分给出其实验和测试结果;最后总结。
1 SKY-GUI基本结构
SKY-GUI系统的功能主要有以下四点:
(1)接收各种输入设备的输入。
(2)建立消息循环,将设备的输入翻译为抽象的事件。
(3)建立窗口和控件对象系统,组织好各个抽象模块的关系,处理各种GUI事件。
(4)将GUI对象通过具体形状显示在屏幕上,通过动画将系统的状态变化呈现给用户。
基于这样的设计目标,SKY-GUI结构如图1所示。
图1 SKY-GUI的整体架构
它主要由输入抽象层、显示抽象层、事件系统和窗口系统四大部分组成。输入抽象层管理所有的输入设备,将用户的操作转化成消息送入事件系统。
显示抽象层操作显示设备,提供给窗口系统绘画、贴图、显示字体接口。事件系统为窗口系统提供消息获取、存储和处理的机制。窗口系统是SKY-GUI的核心,定义了各种控件和窗口,描述它们之间的逻辑关系和消息循环关系。下面将分别对这四大组成部分的设计进行介绍。
2 SKY-GUI模块设计
2. 1输入抽象层
输入抽象层为各种输入设备对事件系统的输入接口,它是一个单独的线程,其流程如图2所示。
图2输入抽象层流程。
输入抽象层首先对GUI所需的各种输入设备初始化,而后等待各个设备的输入。当接到设备输入,就把用户对设备的操作翻译成消息,送至事件系统最底层消息队列(在异2. 3. 2详细讨论)中。
设备输入的翻译过程根据具体的输入设备而定。对于键盘,只要将其键值和该键的状态封成消息。对于鼠标,除了要记录其按键状态,还要根据鼠标当前的位置和屏幕的大小将输入的位移分量转化成鼠标的新位置封入消息。
嵌入式图形用户界面(GUI, Graphic UserInterface)系统作为嵌入式系统中的一大关键技术,为用户提供设备的控制接口,其性能的好坏,界面的美观程度,影响着用户对产品的购买意愿和使用感受。
当前嵌入式系统中GUI的实现方式主要有两种:一是采用现有的GUI库;第二种是开发商基于嵌入式操作系统设计特有的GUI系统。采用第1种方式一般要对通用GUI库进行剪裁和个性化定制,也往往要支出额外的成本来获得软件授权。相对而言,第2种方法实现的GUI占用资源较小、容易满足嵌入式系统的实时性和个性化需求。
本文采用第2种方式,在嵌入式Linux下使用C语言实现了一个界面美观、轻量级、占用资源少、执行效率高的图形用户界面系统SKY-GUI.本文的结构如下:第1部分介绍SKY-GUI的基本结构;第2部分给出具体的模块设计;第3部分给出其实验和测试结果;最后总结。
1 SKY-GUI基本结构
SKY-GUI系统的功能主要有以下四点:
(1)接收各种输入设备的输入。
(2)建立消息循环,将设备的输入翻译为抽象的事件。
(3)建立窗口和控件对象系统,组织好各个抽象模块的关系,处理各种GUI事件。
(4)将GUI对象通过具体形状显示在屏幕上,通过动画将系统的状态变化呈现给用户。
基于这样的设计目标,SKY-GUI结构如图1所示。
图1 SKY-GUI的整体架构
它主要由输入抽象层、显示抽象层、事件系统和窗口系统四大部分组成。输入抽象层管理所有的输入设备,将用户的操作转化成消息送入事件系统。
显示抽象层操作显示设备,提供给窗口系统绘画、贴图、显示字体接口。事件系统为窗口系统提供消息获取、存储和处理的机制。窗口系统是SKY-GUI的核心,定义了各种控件和窗口,描述它们之间的逻辑关系和消息循环关系。下面将分别对这四大组成部分的设计进行介绍。
2 SKY-GUI模块设计
2. 1输入抽象层
输入抽象层为各种输入设备对事件系统的输入接口,它是一个单独的线程,其流程如图2所示。
图2输入抽象层流程。
输入抽象层首先对GUI所需的各种输入设备初始化,而后等待各个设备的输入。当接到设备输入,就把用户对设备的操作翻译成消息,送至事件系统最底层消息队列(在异2. 3. 2详细讨论)中。
设备输入的翻译过程根据具体的输入设备而定。对于键盘,只要将其键值和该键的状态封成消息。对于鼠标,除了要记录其按键状态,还要根据鼠标当前的位置和屏幕的大小将输入的位移分量转化成鼠标的新位置封入消息。
下载该资料的人也在下载
下载该资料的人还在阅读
更多 >
- 嵌入式图形界面
- 基于DaVinci平台和嵌入式Linux系统构建图形桌面环境详细中文资料 13次下载
- TI的嵌入式分析技术使设备更加智能 9次下载
- 基于MiniGUI的嵌入式系统用户界面关键问题的解决方案 3次下载
- Qt图形编程基础之嵌入式GUI 0次下载
- 嵌入式Linux环境下MiniGUI的研究与移植
- 基于Linux的轻量级嵌入式GUI系统及实现
- 基于uCLinux系统的图形界面研究与实现
- 基于嵌入式Linux的图形界面显示系统的设计
- 基于嵌入式Linux系统的掌上Emap的设计
- 嵌入式系统上消息机制的实现
- 嵌入式Linux中图形用户界面的研究与设计
- 嵌入式系统图形用户界面(GUI)的设计与研究Design a
- 基于嵌入式Linux的渔探系统
- 基于嵌入式操作系统VxWorks的图形界面开发
- 什么是嵌入式系统?嵌入式系统的具体应用 2096次阅读
- 基于雅马哈图像处理芯片实现车载影音导航系统图形界面的应用方案 2564次阅读
- 采用Linux操作系统和图形用户界面库实现SIP电话终端的设计方案 954次阅读
- 米尔科技嵌入式实时操作系统介绍 2179次阅读
- 基于uITRON 3.0的嵌入式GUI系统设计概述 1360次阅读
- 深入了解嵌入式系统,是嵌入式系统设计开发的精髓 1674次阅读
- 基于嵌入式Linux系统下Mini GUI的移植方法与过程详解 3549次阅读
- 基于嵌入式Linux系统的轻量级图形用户界面支持系统研究 1615次阅读
- 关于嵌入式系统8大关键特性详解 1059次阅读
- 嵌入式行业发展状况_嵌入式行业人才需求_嵌入式系统就业前景分析 2.3w次阅读
- 嵌入式操作系统是什么_嵌入式操作系统有哪些 2w次阅读
- 基于STM32的嵌入式测控系统设计与实现 8368次阅读
- 技术分析:典型的嵌入式系统设计 2645次阅读
- 典型的嵌入式系统设计 2650次阅读
- 嵌入式人机交互界面研究与实现 3542次阅读
下载排行
本周
- 1TC358743XBG评估板参考手册
- 1.36 MB | 330次下载 | 免费
- 2开关电源基础知识
- 5.73 MB | 6次下载 | 免费
- 3100W短波放大电路图
- 0.05 MB | 4次下载 | 3 积分
- 4嵌入式linux-聊天程序设计
- 0.60 MB | 3次下载 | 免费
- 5基于FPGA的光纤通信系统的设计与实现
- 0.61 MB | 2次下载 | 免费
- 6基于FPGA的C8051F单片机开发板设计
- 0.70 MB | 2次下载 | 免费
- 751单片机窗帘控制器仿真程序
- 1.93 MB | 2次下载 | 免费
- 8基于51单片机的RGB调色灯程序仿真
- 0.86 MB | 2次下载 | 免费
本月
- 1OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 2555集成电路应用800例(新编版)
- 0.00 MB | 33564次下载 | 免费
- 3接口电路图大全
- 未知 | 30323次下载 | 免费
- 4开关电源设计实例指南
- 未知 | 21548次下载 | 免费
- 5电气工程师手册免费下载(新编第二版pdf电子书)
- 0.00 MB | 15349次下载 | 免费
- 6数字电路基础pdf(下载)
- 未知 | 13750次下载 | 免费
- 7电子制作实例集锦 下载
- 未知 | 8113次下载 | 免费
- 8《LED驱动电路设计》 温德尔著
- 0.00 MB | 6653次下载 | 免费
总榜
- 1matlab软件下载入口
- 未知 | 935054次下载 | 免费
- 2protel99se软件下载(可英文版转中文版)
- 78.1 MB | 537796次下载 | 免费
- 3MATLAB 7.1 下载 (含软件介绍)
- 未知 | 420026次下载 | 免费
- 4OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 5Altium DXP2002下载入口
- 未知 | 233046次下载 | 免费
- 6电路仿真软件multisim 10.0免费下载
- 340992 | 191185次下载 | 免费
- 7十天学会AVR单片机与C语言视频教程 下载
- 158M | 183278次下载 | 免费
- 8proe5.0野火版下载(中文版免费下载)
- 未知 | 138040次下载 | 免费
评论
查看更多