• 嵌入式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

  • 相关阅读:
    Java Gradle
    C/C++ C++11新特性
    C/C++ C++11原子类型和内存序
    基于流的编程(Flow-Based Programming)
    算法和数据结构 筛法求素数
    数据库 悲观锁和乐观锁
    数据库 事务隔离级别
    Serverless 的 AI 写诗,程序员浪漫起来谁能顶得住啊!
    亮点前瞻 | 首届 ServerlesssDays · China 大会议程发布
    腾讯云云函数 SCF Node.js Runtime 最佳实践
  • 原文地址:https://www.cnblogs.com/zhangyunlin/p/6167402.html
Copyright © 2020-2023  润新知