摘要: 3 Native 图形引擎的实现Native 图形引擎的图形驱动程序已经提供了基于Linux内核提供FrameBuffer之上的驱动,目前包括对线性 2 bpp、4bpp、8bpp和 16bpp 显示模式的支持。前面已经看到,GAL提供的接口函数大多数与图形相关,它们主要就是通过调用图形驱动程序来完成任务的。图形驱动程序屏蔽了底层驱动的细 节,完成底层驱动相关的功能,而不是那么硬件相关的一些功能,... 阅读全文
posted @ 2009-05-17 09:16 旅人 阅读(406) 评论(0) 推荐(0)
摘要: 1 引言在 MiniGUI 0.3.xx 的开发中,我们引入了图形和输入抽象层(Graphics and Input Abstract Layer,GAL 和 IAL)的概念。抽象层的概念类似 Linux 内核虚拟文件系统的概念。它定义了一组不依赖于任何特殊硬件的抽象接口,所有顶层的图形操作和输入处理都建立在抽象接口之上。而用于实现这一抽象接口的底 层代码称为“图形引擎”或... 阅读全文
posted @ 2009-05-17 09:15 旅人 阅读(382) 评论(0) 推荐(0)
摘要: 1 引言我们在介绍 MiniGUI 体系结构的第一篇文章中提到,MiniGUI 采用了面向对象的技术实现了 GAL、IAL 以及多字体和多字符集的支持。字体和字符集的支持,对任何一个 GUI 系统来讲都是不可缺少的。不过,各种 GUI 在实现多字体和多字符集的支持时,采用不同的策略。比如,对多字符集的支持,QT/Embedded采用 UNICODE 为基础实现,这种方法是目前比较常用的方法,是一种... 阅读全文
posted @ 2009-05-17 09:14 旅人 阅读(695) 评论(0) 推荐(0)
摘要: 1 引言在任何一个足够复杂的 GUI 系统中,处理窗口之间的互相剪切是其首要解决的问题。因为多窗口系统首先要确保一个窗口中的绘制输出不会影响到另外一个窗口。为此,GUI 系统一般要利用 Z 序来管理窗口之间的互相剪切关系。根据窗口在 Z 序中所处的位置,GUI 系统要计算每个窗口受剪切的区域,即剪切域。通常,窗口的剪切域定义为互不相交的矩形集合。GUI 系统的底层图形引擎在进行输出时,要根据当前输... 阅读全文
posted @ 2009-05-17 09:13 旅人 阅读(620) 评论(0) 推荐(0)
摘要: 1 引言到目前为止,MiniGUI 的最新发布版本是 0.9.96。我们将 0.9.xx 系列版本定位为 MiniGUI 1.0 版本的预览版。在 0.9.xx 版本足够稳定时,我们将发布 MiniGUI 1.0 版本,同时,目前的代码不会再进行重大调整。在 MiniGUI 1.0 版本发布之后,我们将立即着手开发 MiniGUI 2.0 版本。该版本预期将在体系结构上进行重大调整。为了吸引更多的... 阅读全文
posted @ 2009-05-17 09:11 旅人 阅读(523) 评论(0) 推荐(0)
摘要: 1 Linux 下的软件维护和建立工具 对开放源码的自由软件来说,程序员得到的通常是源代码。在编译源代码并正确安装和配置的过程中,往往会涉及到许多工具和函数库,因此其过程经常显 得有些繁复。MiniGUI也不例外。为了说明 MiniGUI 的正确编译和安装过程,我们有必要首先了解 Linux 系统下用于软件维护和建立的工具。1.1 make 和 makefile make 是 Linux 下最常用... 阅读全文
posted @ 2009-05-17 09:05 旅人 阅读(332) 评论(0) 推荐(0)
摘要: 嵌入式 Linux 系统的 GUI 发展概况 1.1 GUI 在嵌入式或实时系统中的地位 在常见的 PDA 等小型手持式设备上,由于硬件条件等的限制,我们看到的用户界面都非常简单,几乎看不到我们在 PC 机看到的华丽美观的 GUI 支持。但最近出现的 Palm 等手持式电脑或者在 Windows CE 等面向嵌入式系统的操作系统上,我们已经看到了完整的图形用户界面支持。随着手持式设备的硬件条件的提... 阅读全文
posted @ 2009-05-17 09:03 旅人 阅读(509) 评论(0) 推荐(0)
摘要: 2001 年 11 月1 Linux 图形领域的基础设施2 Linux 图形领域的高级函数库3 面向嵌入式 Linux 系统的图形用户界面4 小结1 Linux 图形领域的基础设施本小节首先向读者描述 Linux 图形领域中常见的基础设施。之所以称为基础设施,是因为这些系统(或者函数库),一般作为其他高级图形或者图形应用程序的基本函数库。这些系统(或者函数库)包括:X Window、SVGALib... 阅读全文
posted @ 2009-05-17 08:54 旅人 阅读(293) 评论(0) 推荐(0)
摘要: 自由撰稿人2001 年 11 月1 引言2 曲线和填充生成器3 绘制复杂曲线4 封闭曲线填充5 建立复杂区域6 直接访问显示缓冲区7 YUV Overlay 和 Gamma 校正8 小结1 引言我们在本系列主题五中曾经详细描述了在 MiniGUI 1.1.0 版本开发过程中添加的新 GDI 功能和函数。这些接口首次出现在版本 1.1.0Pre4 当中。目前 MiniGUI 1.1.0Pre7 版本... 阅读全文
posted @ 2009-05-17 08:51 旅人 阅读(340) 评论(0) 推荐(0)
摘要: 1 引言 一般而言,GUI 系统的应用程序编程接口主要集中于窗口、消息队列、图形设备等相关方面。但因为 GUI 系统在处理系统事件时通常会提供自己的机制,而这些机制往往会和操作系统本身提供的机制不相兼容。比如,MiniGUI 提供了消息循环机制,而应用程序的结构一般是消息驱动的;也就是说,应用程序通过被动接收消息来工作。但很多情况下,应用程序需要主动监视某个系统事件, 比如在 UNIX 操作系统中... 阅读全文
posted @ 2009-05-17 08:50 旅人 阅读(344) 评论(0) 推荐(0)
摘要: 1 引言 在本系列开发指南(四)中,我们详细讲解了 MiniGUI 的 GDI 函数及其使用。我们也曾提到,MiniGUI 现有的 GDI 函数和功能,尚不能对机顶盒、瘦客户机等高端嵌入式系统提供良好支持。因此,我们在 MiniGUI 1.1.0 版本的开发中,重点对 GAL 和 GDI 进行了大规模的改良,几乎重新编写了所有代码。这些新的接口和功能,首先出现在最近发布的 MiniGUI 1.1.... 阅读全文
posted @ 2009-05-17 08:47 旅人 阅读(463) 评论(0) 推荐(0)
摘要: 1 引言 GUI 系统的一个重要组成部分就是 GDI,即图形设备接口(Graphics Device Interface)。通过 GDI,GUI 程序就可以在计算机屏幕上,或者其他的显示设备上进行图形输出,包括基本绘图和文本输出。本文将详细描述 MiniGUI 中的 GDI 函数,并举例说明重要函数的用法。其中包括:DC 的概念、获取和释放;矩形操作和剪切域操作;基本绘图函数;位图操作函数;逻辑字... 阅读全文
posted @ 2009-05-17 08:46 旅人 阅读(533) 评论(0) 推荐(0)
摘要: 1 引言 对话框编程是一个快速构建用户界面的技术。通常,我们编写简单的图形用户界面时,可以通过调用 CreateWindow 函数直接创建所有需要的子窗口,即控件。但在图形用户界面比较复杂的情况下,每建立一个控件就调用一次 CreateWindow 函数,并传递许多复杂参数的方法很不可取。主要原因之一,就是程序代码和用来建立控件的数据混在一起,不利于维护。为此,一般的 GUI 系统都会提供一种机制... 阅读全文
posted @ 2009-05-17 08:44 旅人 阅读(334) 评论(0) 推荐(0)
摘要: 引言 我们知道,流行的 GUI 编程都有一个重要的概念与之相关,即"事件驱动编程"。事件驱动的含义就是,程序的流程不再是只有一个入口和若干个出口的串行执行线路;相反,程序会一直 处于一个循环状态,在这个循环当中,程序从外部输入设备获取某些事件,比如用户的按键或者鼠标的移动,然后根据这些事件作出某种的响应,并完成一定的功 能,这个循环直到程序接受到某个消息为止。"事件驱动"的底层设施,就是常说的"消... 阅读全文
posted @ 2009-05-17 08:42 旅人 阅读(332) 评论(0) 推荐(0)
摘要: 1:引言 自 MiniGUI 从 1998 年底推出以来,越来越多的人开始选择 MiniGUI 在 Linux 上开发实时嵌入式系统。MiniGUI 系统也逐渐成熟,并在各种嵌入式系统中扮演了重要的角色。为了帮助嵌入式软件开发人员使用 MiniGUI编写出更好的应用程序,我们将撰写一系列文章讲解基于 Linux 和 MiniGUI 的嵌入式系统软件开发,并冠名"基于 Linux 和 MiniGUI... 阅读全文
posted @ 2009-05-17 08:40 旅人 阅读(388) 评论(0) 推荐(0)