的运行行为可以通过配置文件进行控制,可以从多个配置文件中读出配置信息,然后合并到一起,甚至可以对不同名称的应用程序指定不同的配置文件" name="description" />

DirectFB两则使用技巧

发表于:2008-04-21来源:作者:点击数: 标签:DirectFB技巧
DirectFB MI LY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的运行行为可以通过配置文件进行控制,可以从多个配置文件中读出配置信息,然后合并到一起,甚至可以对不同名称的应用程序指定不同的配置文件

DirectFBMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的运行行为可以通过配置文件进行控制,可以从多个配置文件中读出配置信息,然后合并到一起,甚至可以对不同名称的应用程序指定不同的配置文件。其主配置文件为/etc/direcfbrc,它的内容影响所有用户的应用程序。

 

建立PC模拟环境。

 

DirectFBX Window都是独占显示设备的,在通常的情况下,DirectFB运行时,X Window就不能运行,反之亦然。当然,输入设备,如键盘、鼠标等也是独占设备,不能被DirectFBX Window同时使用。

 

当我们用DirectFB开发嵌入式软件时,要使用X Window下的IDE的工具(如glade),同时又需要在PC模拟运行开发的程序。此时,由于X Window已经在运行,再运行DirectFB程序就会发生冲突。

 

怎么办呢?DirectFB的天才作者们早就想到这一点,DirectFB把后端(输入设备和显示设备)做了抽象,与DirectFB主体是分开的。DirectFB主体并不依赖于具体的物理设置,它可以利用SDLX11VNC等作为后端。

 

所以要建立PC模拟环境,是轻而易举的事情。我们可以利用X Window的输入事件作为输入设备,利用X Window的窗口作为显示设备。更进一步,可以利用Xnest(见笔者另外一篇文章),这样就可以模拟不同屏幕大小的设备,看到比较真实的外观效果。选择X Window作为后端,可以使用下列参数:

 

system=x11

 

使用不同的窗口管理器。

 

DirectFB的窗口管理器做得比较弱,它毕竟是针对嵌入式设备的,我们没有必要苛求。它自带两种不同的窗口管理器,可以根据自己的需要选择。一个称为default,顾名思义,它是默认的窗口管理器,另外一个称为unique,功能更强一点。

 

Default只提供了最基本的窗口管理功能,如:

l         窗口栈管理,提供诸如向栈中插入窗口、删除栈中的窗口、调整窗口在栈的Z-Order位置等。

l         输入事件管理,根据输入事件,切换焦点窗口,把消息投递到对应的窗口等功能。

l         还提供了一些快捷操作方式,如关闭窗口,移动窗口等。

 

Unique 除了提供default具有的基本功能外,还提供了:

l         窗口装饰功能,可以显示窗口标题栏图片,四周边框、四角圆角化等,但不能显示标题本身(居然没有这个基本功能!)。

l         桌面背景图片/颜色,可以设置桌面的背景图片/颜色。这对于demo来说,会好看一点,但对于实际应用来说,作用不大。因为实际的桌面和DirectFB的桌面是两个不同的对象。

l         调试功能,如显示窗口栈中的窗口等。

l         更重要的是,它相当于一个框架,你可以在此基础上扩展其它自己需要的功能。

 

选择不同的窗口管理器,可以使用下列参数:

wm=default或者wm=unique

原文转自:http://www.ltesting.net