嵌入式GUI FTK设计与实现-分层视图

转载时请注明出处和作者联系方式
文章出处:http://www.limodev.cn/blog
作者联系方式:李先静 <xianjimli@gmail.com>

 

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

ftk_layer_view

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

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

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

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

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

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

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

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

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

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

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值