嵌入式GUI FTK设计与实现-分层视图
作者: 李先静
日期: 2010-03-22
本文介绍了嵌入式 GUI FTK 的架构图。

为了从整体上把握FTK的架构,我们先看看FTK的分层视图:

架构图
架构图

这里我们从下至上的来介绍一下各个组件的功能:

1.最下层是平台相关的适配层。它包括两个部分:

  1. 操作系统适配层:它主要是封装平台相关的函数,为上层提供统一的接口,比如 mmap 和 pip e等。
  2. Backend: 主要是对输入/显示设备的抽象。像 mouse/keyboard 之类的输入设备和 framebuffer 的显示设备等。

2. 再上层是一些 interface,这些 interface 为上层提供统一的接口,隔离了具体的实现细节,从提高了系统的可移植性和灵活性。比如图片解码器和字体引擎 都可以根据实际情况进行配置。

3.再上层是窗口、窗口管理器和主循环等基础设施。

  1. 顶层窗口包括应用程序窗口,菜单条,状态栏和对话框几种,它们是放置各种控件的容器。
  2. 窗口管理器负责控制各个窗口的位置/大小和事件的分发。
  3. 主循环负责监听来自各个事件源的事件,如输入设备事件,定时器和idle等,然后调用相应的分发函数去处理这些事件。

4. 再上层是控件的实现,如按钮、文本、进度条和列表框等等。这些大部分控件都是可以裁减的,开发者可以根据实际需求去掉一些不必要的组件。

5. 再上层是 XUL ,包括 XML 界面描述和脚本绑定。目前实现了 lua 的绑定,以后会增加其它脚本的绑定。

6.最上层是基于 FTK 的应用环境和平台。目前计划的有:

  1. 一个基本的桌面环境,包括桌面、Shell、文件管理器、音乐播放器和其它一些工具。
  2. PhoneME(J2ME)
  3. Webkit

文章出处:http://www.limodev.cn/blog

作者联系方式:李先静 <xianjimli@gmail.com>