文档中心__武汉蓝星科技股份有限公司

文档中心

TD图形软件系统介绍

01整体结构

TD图形软件系统是在操作系统之上提供的一套完整的嵌入式开发和运行系统,主要特色是提供了一个用于 C语言开发的核心平台;一个乐虎app官网半透明效果和动画效果的嵌入式图形系统。整套系统继承了 C语言简单、灵活、高效的特点,适用于 x86,arm,mips等硬件平台和 linux,vxworks等各种操作系统平台。下面是TD图形软件系统的整体结构图:

02系统划分

1、核心开发平台,即 C语言的开发框架,提供了常用数据结构、任务运行系统、对象系统、进程间消息通讯机制,等等。这些都是上层开发的基础,比如每一个控件都是一个对象;一些高级功能比如文件下载和多媒体播放也是以对象来封装;应用程序和模块内部也经常需要实现定时器、监视文件是否有数据读等功能;多个进程之间的消息传递和远程方法调用。

2、图形服务器,实现了标准 X11核心协议的绝大部分功能函数和部分扩展协议,所以非常方便移植其他软件(比如 gtk,qt,fltk,mplayer),移植过程中基本不用修改代码。图形服务器负责窗口管理、窗口剪裁、图形绘制、事件分发,并且和显示驱动(Framebuffer,硬件加速)、输入驱动(键盘、鼠标、触摸屏)交互。TD图形软件系统图形服务器还扩展了 X11协议,乐虎app官网多点触摸;灵活的透明绘图操作和透明屏幕叠加;乐虎app官网多种图片格式;乐虎app官网中英文混合编码和 utf-8编码;乐虎app官网绝大部分中文矢量字体显示。

3、控件系统,为应用程序的界面编写带来了极大的方便,使其不需要操作图形服务器接口。控件系统尽量抽象出各种控件都普遍具有的属性、方法和事件,总结出统一的操作接口,能够用少量的函数来完成 90%的功能,无需记忆繁多的 API.。控件系统同样重视用户定制控件,提供了良好的设计框架来开发自定义控件。应用程序界面开发过程中的控件布局、皮肤外观显示、多国语言翻译都可以通过外部的文本文件来配置,在程序运行时动态加载,界面与逻辑分离的设计模型,彻底解放程序员,方便了前期的界面设计和后期的维护。

4、利用底层平台的消息通讯机制,我们设计了一个通用的输入法框架,方便输入法在控件系统中集成和各种输入方法的扩展,并且乐虎app官网手势识别。已经成功运用于我们的TD图形软件系统控件系统和 Qt控件系统中。当然图形系统也乐虎app官网传统的 XIM输入法协议,常用的小企鹅输入法 fcitx(3.4.2版)不用修改代码就能够直接编译运行。

5、其他部分模块,充分利用了现有的开源软件,比如网络浏览器基于 webkit和 dillo(精简版浏览器);多媒体播放基于 ffmpeg;网络下载基于 libcurl。

03各层接口定义
平台开发环境见:
《2.开发环境》
核心开发平台接口见:
《3.开发平台 _基础》
控件系统接口见 :
《4.控件开发_基础》
《5.控件开发_自动布局和配置文件》
《6.控件开发_复杂数据模型和显示》
04第三方库文件集成

简单的集成方式即是将第三方提供的库文件和头文件拷贝到相应的 lib目录和 include目录完整的集成方案见:《7.系统软件包管理》

05音频控制策略

底层驱动提供了基于 alsa的标准声音通道,声音服务器 tdesd实际打开声音通道,来负责实际的放音和录音,所有应用 app都是调用 tdesd的接口来实现放音和录音,每个 app都可以设置自己的音量和优先级, tdesd根据当前优先级的高低来决定那个 app出声,如果有多个 app同时出声, tdesd还要根据每个 app的音量来进行混音。

如果系统存在多个声音通道,比如 FM和蓝牙声音通道。 tdesd还可以辅助来切换当前系统的输出通道,控制策略是给每个通道设置一个优先级,有 app激活该通道时,如果这个通道的优先级比当前通道的优先级高,就切换到该通道。