文檔中心

TD圖形軟件系統介紹

01整體結構

华东15选5 www.wjnoc.com TD圖形軟件系統是在操作系統之上提供的一套完整的嵌入式開發和運行系統,主要特色是提供了一個用于 C語言開發的核心平臺;一個支持半透明效果和動畫效果的嵌入式圖形系統。整套系統繼承了 C語言簡單、靈活、高效的特點,適用于 x86,arm,mips等硬件平臺和 linux,vxworks等各種操作系統平臺。下面是TD圖形軟件系統的整體結構圖:

02系統劃分

1、核心開發平臺,即 C語言的開發框架,提供了常用數據結構、任務運行系統、對象系統、進程間消息通訊機制,等等。這些都是上層開發的基礎,比如每一個控件都是一個對象;一些高級功能比如文件下載和多媒體播放也是以對象來封裝;應用程序和??檳誆懇簿P枰迪侄ㄊ逼?、監視文件是否有數據讀等功能;多個進程之間的消息傳遞和遠程方法調用。

2、圖形服務器,實現了標準 X11核心協議的絕大部分功能函數和部分擴展協議,所以非常方便移植其他軟件(比如 gtk,qt,fltk,mplayer),移植過程中基本不用修改代碼。圖形服務器負責窗口管理、窗口剪裁、圖形繪制、事件分發,并且和顯示驅動(Framebuffer,硬件加速)、輸入驅動(鍵盤、鼠標、觸摸屏)交互。TD圖形軟件系統圖形服務器還擴展了 X11協議,支持多點觸摸;靈活的透明繪圖操作和透明屏幕疊加;支持多種圖片格式;支持中英文混合編碼和 UTF-8編碼;支持絕大部分中文矢量字體顯示。

3、控件系統,為應用程序的界面編寫帶來了極大的方便,使其不需要操作圖形服務器接口??丶低塵×砍橄蟪齦髦摯丶計氈榫哂械氖糶?、方法和事件,總結出統一的操作接口,能夠用少量的函數來完成 90%的功能,無需記憶繁多的 API.??丶低懲厥佑沒Фㄖ瓶丶?,提供了良好的設計框架來開發自定義控件。應用程序界面開發過程中的控件布局、皮膚外觀顯示、多國語言翻譯都可以通過外部的文本文件來配置,在程序運行時動態加載,界面與邏輯分離的設計模型,徹底解放程序員,方便了前期的界面設計和后期的維護。

4、利用底層平臺的消息通訊機制,我們設計了一個通用的輸入法框架,方便輸入法在控件系統中集成和各種輸入方法的擴展,并且支持手勢識別。已經成功運用于我們的TD圖形軟件系統控件系統和 Qt控件系統中。當然圖形系統也支持傳統的 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激活該通道時,如果這個通道的優先級比當前通道的優先級高,就切換到該通道。

{ganrao}