基于嵌入式Linux图形用户接口的实现[多图](3)

  当一个使用程序连接到GtkFB时会调用gtk_init(),如图3所示,此时GtkFB 启动Linux的Framebiffer,设定分辨率和色彩数,接下来打开键盘和鼠标等外设(PDA打开按键和触控屏幕).然后到特定目录去读取字型,结尾对窗口和事件维护作原始化操作。GtkFB能够支撑 8、16、24、32bpp的framebuffer。

  为了执行一个特定的图形操作,DirectFB芯片驱动程序将访问图形装备内存映射的I/O端口,并且把命令传递到图形装备卡的加快引擎。实际的硬件加快是完全在用户空间内完成的。

基于嵌入式Linux图形用户接口的实现[多图]图片3

  2.2 SWT+GtkFB图形系统的优点

  2.2.1 内存消耗小、运行速度快特别适合嵌入式产品

  由于GtkFB直接运行在FrameBufer之上,跳过X系统,这样省下了X Server这一部分资源,这使得在内存消耗、运行速度上得到显著提高。另外采用的JNI技能使得程序运行速度、事件的响应有较高的提高,能满足时间要求较为严格的及时使用场合。

  2.2.2 系统稳定性好

  SWT 的稳定性,主要是源于SWT 的设计理念。SWT最大化了操作系统的图形构件API,就是说只要操作系统提供了相应图形的构件,那么SWT只是使用 JNI技能调用它们,只有那些操作系统中不提供的构件,SWT才自身去做一个模拟的实现。能够看出SWT性能上的稳定很大程度上取决于相应操作系统图形构件的稳定性。

  2.2.3 易于移植和共享

  SWT的API和桌面版完全相似,因而代码能够很基本 地在桌面和嵌入式装备之间移植与共享。

  2.2.4 小巧可配置

  SWT采用了LGPL授权方式,用户能够自由地甚至是鼓励修改源代码使其更加满足用户的需求,很基本 根据用户的需求来裁减特定的SWT+GtkFB,依据LGPL许可证,用户须要公布修改的源代码,但用户不必公布自给使用程序的源代码。

  2.2.5 易于开发

  SWT是基于Java语言开发的,具有平台独立性、面向对象、可移植、安全等Java语言所拥有特征 。用户能够很基本 的基于SWT提供的Widget(构件)开发出满足自身须要的Widget,并且很基本 地运用这些Widget去构建使用程序。

  3 SWT+GtkFB图形系统的实现

  3.1 前期准备

  在Linux编译和安装SWT+GtkFB,最先到下载如下的包:pkg-config、glib2.x;atk、pango、DirectFB、gtk+2.x。其次到下载swt.tgr.gz。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/27427.html