首 页文档资料下载资料维修视频包年699元
请登录  |  免费注册
当前位置:精通维修下载 > 文档资料 > 家电技术 > 单元电路介绍 > 其它电路
嵌入式linux系统GUI设计方案
来源:本站整理  作者:佚名  2010-05-19 09:00:46





此外,FrameBuffer设备还提供了若干ioctl命令,通过这些命令可以获得显示设备的一些固定信息(比如显示内存大小)以及与显示模式相关的可变信息(比如分辨率、象素结构、扫描线的字节宽度),同时可获得伪彩色模式下的调色板信息等。

3 GUI系统的自主开发

嵌入式GUI的总体设计思想是把所有操作都由对象和消息驱动,通过对现有GUI的分析来对多种嵌入式应用系统根据GUI的要求进行总结,然后抽象出各种组件类。嵌入式GUI的所有组件和数据都被设计成对象,组件对象通过消息来通信。嵌入式GUI在消息驱动下可形成整体并构成系统。其整体框架和体系结构如图2所示。



系统中的所有消息节点将构成空闲队列和消息队列,其中消息队列存放当前EGUI系统中没有处理的消息。消息队列由消息管理器进行操作和管理。图2中的输入设备抽象层、操作系统抽象层和组件对象集合都是消息发生器,它们都会产生EGUI消息。调用消息管理器的操作可将生成的消息放入到消息队列中。消息管理器用于管理消息队列和空闲队列,当有消息产生时,消息管理器将执行消息入队PUSH ()操作,其处理过程是先从空闲队列中摘下一个节点,形成一个消息节点,再将它挂到消息队列的队尾。桌面对象管理器负责分发消息,它可通过调用消息管理器的出队操作POP()来取得待处理的消息,处理过程是将消息队列的第一个消息节点摘下,并取得该消息节点的信息,然后将该消息节点挂到空闲队列的队尾。桌面对象管理器取得消息后,将按照一定的策略对取得的消息进行分发,并让接收该消息的组件对象中的消息处理函数来处理该消息。分发消息时,如果消息指定了接收对象,则将消息路由到接收对象;而非键盘的系统消息。将被路由到桌面对象管理器的第一个子对象;对于用户定义的消息,系统会将其路由到指定的对象。而组件对象处理消息时,如果处理操作要改变屏幕数据,组件对象将调用绘图操作Draw重绘自己的外观。整个系统就是这样不断地产生消息、分发消息、处理消息,从而形成一个无限循环,同时驱动EGUI运行。

4 结束语

针对当前嵌入式GUI的特点,本文给出了可支持汉字显示、键盘输入的多线程嵌入式GUI系统的设计方法。该方法设计的系统采用窗口模式,而且便于操作,同时具有可视化界面、操作灵活、资源占用少等优点,并可支持JPG格式的图像文件。

上一页  [1] [2] 

关键词:

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分)
Copyright © 2007-2017 down.gzweix.Com. All Rights Reserved .
页面执行时间:96,500.00000 毫秒