基于Microwindows的嵌入式GUI分析及應用
總而言之,最新版本的Microwindows 在硬件驅動加速上、在圖形引擎算法上以及代碼質量上,都比原先的版本有較大的改進。
Microwindows 的API
Microwindows 采用分層體系結構設計,提供了豐富的API 支持,支持Win32/ WinCE GDI 和Nano-X兩種API 集。
Microwindows 體系結構
Microwindows 的體系結構由下至上,分別為具體硬件、驅動層、圖形引擎層和API 層,如圖1 所示。用戶可以根據(jù)具體應用需求對不同層的代碼進行修改或重寫。
(1) 設備驅動程序。
鍵盤驅動程序主要有兩個,分別是kbd _ tty. c 和kbd _ bios. c 。前者主要用于Linux 和EL KS 系統(tǒng),而后者主要用于MSDOS 實模式。
鼠標驅動程序主要有三個:mou_gpm. c ,用于Linux 的一個GPM 驅動; mou _ ser. c ,用于Linux 和EL KS 系統(tǒng);mou_gpm. c ,主要用于MSDOS 系統(tǒng)。
屏幕驅動程序有面向16 位EL KS、MSDOS 實模式的V GA 驅動( scr_bios. c、vgaplan4. c、memp14. c 、scr_here. c)和面向Linux 的Framebuffer ( scr_fb. c、fb. c 等) 兩種。這部分驅動程序最復雜,在設計時可以參考scr_fb. c 來設計自己的屏幕驅動程序。
(2) 設備獨立的圖形引擎。
Microwindows 的圖形引擎是設備獨立的。引擎的每一例程都接受SCREENDEVICE 結構的指針( PSD) 來作為第一個參數(shù)。PSD 說明了底層的顯示細節(jié),如屏幕大小的x 、y 值,屏幕顏色ncolors ,以及諸如打開、關閉、畫線等函數(shù)指針。PSD 結構定義如下:
Microwindows 的API
Microwindows 提供兩個應用程序接口:一是Win32 接口,這種API 不是很成熟;二是Nano-X ,這種API 比較好,結構上清晰,功能上也完全。
評論