本文主要是介绍10025.Microwindows 简介,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
Microwindows 是一个著名的开放式源码嵌入式GUI 软件,目的是把图形视窗环境引入到运行Linux 的小型设备和平台上。作为X Window 的替代品,Microwindows
可以使用更少的RAM 和文件存储空间(100K-600K)提供与X Window 相似的功能。
Microwindows 允许设计者轻松加入各种显示设备、鼠标、触摸屏和键盘等。
Linux2.2 以上版本的内核代码允许用户将图形显存作为帧缓存(FrameBuffer)进行
存取,这样当用户对显示设备进行写入、控制时可以避免对内存映射区进行操作,
因此用户可以在不了解底层图形硬件或没有使用过X Window 的情况下进行图形
程序的开发。这就是为什么现在在嵌入式系统中广泛使用Microwindows 的原因。
Microwindows 的可移植性非常好,基本上用 C 语言实现,只有某些关键代码
使用了汇编以提高速度。Microwindows 支持 Intel 16 位、32 位CPU,MIPS R4000 以
及 ARM 芯片。尽管Microwindows 完全支持Linux,但是它内部的可移植结构是基于
一个相对简单的屏幕设备接口,可在许多不同的RTOS 和裸机上运行。这种特性的
优点突出体现在用户设计的图形程序不需重写就可以被不同的工程共享,甚至可以
运行在不同RTOS 的不同对象上。Microwindows 已经移植到一些掌上电脑。
Microwindows 系统以图形方式支持在主机平台上的仿真目标平台。这样,为
Linux 设计的Microwindows 应用程序就可以在台式机上进行编写和开发而不用进行
交叉编译就可测试和运行,并且直接在目标平台上运行。
Microwindows 的图形引擎能够运行在任何支持readpixel,writepixel,drawhorzline,
drawvertline 和setpalette 的系统之上。在底层函数的支持之下,上层实现了位图,
字体,光标以及颜色的支持。系统使用了优化的绘制函数,这样当用户在移动窗口
时可以提供更好的响应。内存图形绘制和移动的实现使得屏幕画图显得很平滑,
这点特别在显示动画、多边形绘制、任意区域填充、剪切时有用。
Microwindows 支持新的Linux 内核帧缓存(FrameBuffer)结构,目前提供每像素1、
2、4、8、16、24 和32 位的支持,另外还支持彩色显示和灰度显示,其中彩色显示
包括真彩色(每像素15、16 和32 位)和调色板(每像素1, 2, 4 和 8 位)两种模式。
在彩色显示模式下,所有的颜色用RGB 格式给出,系统再将它转换成与之最相似的
可显示颜色,而在单色模式下中则是转换成不同的灰度级。Microwindows支持窗口
覆盖和子窗口概念、完全的窗口和客户区剪切、比例和固定字体,还提供了字体
和位图文件处理工具。
Microwindows 采用分层设计方法。在最底层,屏幕,鼠标/触摸屏以及键盘驱动
程序提供了对物理设备访问的能力。在中间层,实现了一个可移植的图形引擎,支
持行绘制,区域填充,剪切以及颜色模型等。在上层,实现多种API 以适应不同的
应用环境。
下面是三个示例应用。
这篇关于10025.Microwindows 简介的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!