原创 linux下的X11图形系统介绍之Tiny-x

2006-11-7 09:26 10299 13 8 分类: MCU/ 嵌入式

注:如转载请注明本Blog的链接http://www.ednchina.com/blog/zxq914


 


Tiny-X是标准X-windows系统的简化版,去掉了许多对设备的检测过程,无需设置显示卡Driver,很容易对各种不同硬件进行移植。Tiny-X专为嵌入式开发,适合用作嵌入式linuxGUI系统。Tiny-X图形系统是由SuSE赞助的,开发人员是XFree86的核心成员Keith Packard。目前TinyXXFree86自带的编译模式之一,只要通过修改编译选项,就能编译生成Tiny-X


作为XFree86 4.0ftp://ftp.xfree86.org/pub/XFree86/4.0)的子集,性能和稳定性都非常好,适合内存资源比较少的系统的X系统,它是以 XFree86为基准,所以构置或设定的方式与 xfree86 是相同的。一般的X Server都太过于庞大,因此Keith Packard就以XFree86为基础,精简了不少东西而成Tiny X Server,它的体积可以小到几百Kb而已,非常适合应用于嵌入式环境。TinyXX Window系统一样采用标准的Client/Server体系结构,如下图所示:


点击看大图


1.X服务程序也称作显示管理器,是控制实际显示设备和输入设备的程序。它响应X客户程序的请求,直接与图形设备通信,负责打开和关闭窗口,控制字体和颜色等底层的具体操作。每一个显示设备只有一个惟一的X服务程序。


2.X客户程序是使用系统窗口功能的一些应用程序,无法直接影响窗口或显示,它们只能请求X服务程序,并通过X服务程序提供的服务在指定的窗口中完成特定的操作。


在嵌入式系统GUI开发中使用Tiny-X开发上层应用是比较方便的,在实际使用中, Tiny-X底层要用到的库之间的关系如下图所示:<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />


fc872a86-17ef-4796-a2d0-9e9ecdf7be10.gif


l         Glib类库:Glib类库包括一些基本的数据类型和C语言需要的一些功能,与GUI无关,封装了一些常用的函数,如字符串相关函数、时间函数等。可以被GDK类库、GTK类库或直接被应用程序调用。


l         GDK类库:建立在Xlib上的针对图形图像类封装的底层图形库。可以被GTK类库或应用程序直接调用。


l         GTK类库:建立在XlibGDK之上的面向对象的类库。GTK提供了完善控件集,应用程序主要也是基于GTK类库来编写。


 

文章评论0条评论)

登录后参与讨论
我要评论
0
13
关闭 站长推荐上一条 /2 下一条