X Window研究笔记(2)

原创 2007年09月12日 22:11:00
X Window研究笔记(2)

转载时请注明出处和作者联系方式
作者联系方式:李先静 <xianjimli at hotmail dot com>

2.X Window的功能

X Window提供了一组非常底层的服务,客户端程序发送请求给X Window, X Window根据请求完成相应服务。通过这些服务,客户端程序可以构建期望的用户界面。根据不同的功能,可以把这些服务分为以下几大类:

2.1.处理输入

X Window从键盘和鼠标接受输入,这些输入数据被当作”事件”传送给适当的客户端程序。至于哪个窗口应该接受到这些事件,是依赖于窗口管理器的(窗口管理器实际上也是一个客户端),典型的事件包括按键,鼠标移动,鼠标按下/放开等。

输入设备往往是与硬件平台相关的,而且又是独占资源,所以用X Window管理是理所当然的。应用程序通常不需要关心具体的设备,只要处理相应的事件就行了,像mouse和笔点可能发出同样的事件,而应用程序不用区分它们。输入事件也可以通过XTest扩展,由软件模拟出来的(通常用来实现软件键盘)。

2.2.按层次形组织窗口

X Window提供服务让客户端程序创建/销毁窗口,所谓的窗口就是屏幕上的矩形区域,它是可以层层嵌套的,有很多操作可以作用于窗口(如,查询或改变窗口的大小和位置等),X Window的主要功能之一就是负责管理这种按层次形组织的窗口。

不过X Window管理这些窗口是被动进行的,由窗口管理器根据用户的行为决定。它请求X Window做相应的动作,比如移动窗口,调整窗口的大小,改变窗口的前后关系等等。第一次接触X Window时,得知窗口管理器是一个普通的客户端时,我觉得惊讶,这种设计真是太先进了,其实它正是遵循了提供机制而不是策略这一原则。

现在已经有很多窗口管理器的实现可用,它们提供不同的风格和功能,有的用于PC,有的用于嵌入式系统,像matchbox就是在嵌入式上比较流行的,像Nokia的N770/N800就是用的matchbox。

2.3.提供图形操作

X Window提供了一些基本的画图操作,如画直线、矩形、圆弧和多边形等。 这些图形的颜色、线宽、填充类型都可以由客户端程序指定。X Window同时提供了许多位图操作,这些位图操作可以作用于了窗口的各个区域。

X Winwod还会充分挖掘硬件的加速特性,像填充、画直线和图像叠加等操作,如果硬件支持相应的加速功能,就可以通过硬件实现,否则就用软件实现。

2.4.提供文本和字体操作

X Window提供了字体相关的操作。客户端程序可以请求X window在指定的区域用指定的字体显示指定的字符串,当然在此之前应该请求X window加载字体,加载后客户端程序可以得到关于字体的一些信息。

实际上,这一功能由于客户端字体绘制的流行,而大大弱化了,现在的字体差不多都是在客户端绘制好后,再通过X Render扩展显示到X Window去的。在fontconfig/freetype/pango/cairo的帮助,在客户端绘制字体更容易使用。

(待续)

 
版权声明:本文为博主原创文章,未经博主允许不得转载。

X Window研究笔记

 http://blog.csdn.net/absurd/category/336948.aspx
  • lcj8
  • lcj8
  • 2009年02月17日 17:35
  • 436

X Window研究笔记(2)(转贴)

 X Window研究笔记(2)转载时请注明出处和作者联系方式作者联系方式:李先静 2.X Window的功能X Window提供了一组非常底层的服务,客户端程序发送请求给X Window, X Wi...
  • geng_ch
  • geng_ch
  • 2008年12月16日 00:28
  • 1270

X Window研究笔记(6)

X Window研究笔记(6)转载时请注明出处和作者联系方式作者联系方式:李先静 6.X Window输入设备(TinyX)X Window支持的基本输入设备有keyboard、mouse和touch...
  • absurd
  • absurd
  • 2007年09月15日 16:43
  • 4370

X Window研究笔记(10)

X Window研究笔记(10)转载时请注明出处和作者联系方式作者联系方式:李先静 10.X Window扩展机制--扩展(Extension)XWindow中有大量扩展模块,每个扩展模块完成一组相关...
  • absurd
  • absurd
  • 2007年09月23日 11:00
  • 5277

X Window研究笔记(19)

X Window研究笔记(19)转载时请注明出处和作者联系方式作者联系方式:李先静 19.X Window中的图片文件PixmapX Window自己定义了一种图片文件格式,叫做pixmap,与众不同...
  • absurd
  • absurd
  • 2007年10月02日 14:31
  • 3765

X Window研究笔记(17)

X Window研究笔记(17)转载时请注明出处和作者联系方式作者联系方式:李先静 17.X Window 窗口管理器很多人不知道窗口管理器是怎么回事。他们认为 GNOME 和 KDE 就是窗口管理器...
  • absurd
  • absurd
  • 2007年10月02日 14:03
  • 4107

X Window研究笔记(13)

X Window研究笔记(13)转载时请注明出处和作者联系方式作者联系方式:李先静 13.X Window扩展机制--客户端勾子函数扩展模块是X Window的主要扩展方式,前面我们介绍它在X Ser...
  • absurd
  • absurd
  • 2007年09月27日 21:44
  • 3646

X Window研究笔记(21)

X Window研究笔记(21)转载时请注明出处和作者联系方式作者联系方式:李先静 21.X Window 字符串与AtomAtom是X Window中的一大特色,不把它弄清楚,可能会对阅读其它代码形...
  • hejishan
  • hejishan
  • 2007年12月18日 07:45
  • 237

X Window研究笔记(7)

X Window研究笔记(7) 转载时请注明出处和作者联系方式 作者联系方式:李先静 7.X Window的运行过程 X Window 的入口在programs/Xserver/dix/mai...
  • absurd
  • absurd
  • 2007年09月18日 21:19
  • 4253

X Window研究笔记(20)

X Window研究笔记(20)转载时请注明出处和作者联系方式作者联系方式:李先静 20.X Window资源管理在X Window中,资源是一个广泛使用的概念。它包括图片、光标和窗口等对象,可以是内...
  • hejishan
  • hejishan
  • 2007年12月18日 07:46
  • 233
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:X Window研究笔记(2)
举报原因:
原因补充:

(最多只允许输入30个字)