一個簡單的開源DIRECTUI介面框架

-JALEN-發表於2014-07-19

1. 簡介  

         constvar是一個簡單的開源DIRECTUI介面框架,最開始是為WINCE平臺的觸控式螢幕裝置上的應用設計,所以它尤其適合WINCE或WINDOWS 觸控式螢幕裝置上的介面開發。

constvar的開發目的就是讓應用介面的開發和維護變得簡單,同時又保持自身極其精簡。各種簡單是它最核心的特點及開發目標。它不具備跨平臺、跨語言、及其它繁雜的功能。如果是其它平臺或語言要用的話,就需要讀者自己去移植了,但絕大部分主要程式碼都是可以使用或參考的。


2.Constvar的幾大特性

Constvar適應需求變換能力超強,並且開發極其簡單安全:


 2.1 開發簡單 

(1)    Constvar封裝

在應用EXE端只能以物件ID(名稱)訪問constvar.dll建立的物件, 避免訪問指標會讓介面呼叫安全. Constvar.dll會判斷指定的Id是否合法存在等.

 

(2)    工具

 視覺化介面編輯工具

 

介面工具CVUI可用帶透明PNG資源圖片編輯好資面,生成對話方塊的資源包, 因為資源都是32位, 所以生成的資源包可以是16位和32位,只需要設定一下介面上的機器顏色,儲存一下就可以了。換皮膚的話,替換同名PNG圖片資源後,可自動適應圖片尺寸的變更。

除此之外,還有多國語言,圖片轉換工具等。都是為了消除手工編輯帶來的錯誤的可能性與大大減少機械的碎事。

 

(3)    特效和控制元件的擴充套件

Constvar的物件與點陣圖為對應關係(有可能是一對一或多對一),所以一般控制元件的特效就是圖片特效的疊加。

複雜控制元件都是由基礎控制元件加控制組成,一但一種複雜控制元件的邏輯建立好,可以對應很多種形態。不必寫N多類別。

 

2.2  執行高效

(1) 採用螢幕分格髒矩形演算法,所有物件構成一棵樹, 高效的遍歷及物件樹的維護等.

(2) 固定的”三層”顯示結構, 牆紙-介面-OVERLAY,讓介面切換, 動畫等更高效.

(3) XML解析記憶,讓介面切換更快, 支援介面的自選常駐記憶體,讓頻繁使用介面的資源不會被動態釋放和重載入。


2..4 效果炫麗

(1) 執行時切換皮膚.(可能同跑多套皮膚)

(2) 多種膚色調整。(可讓皮膚按介面或者按物件對其進行調色,可以調出自己想要的顏色以及牆紙效果明暗等)

(3) 多種圖片特效。(對皮膚尤其是牆紙用得較多)。

(4) 多種滑動控制元件和過渡動畫。

(5) 特效,動畫可實現選擇開關。

(6) 16位和32位支援。

(7) 支援旋轉與縮放.支援gdi繪製到指定物件.

(8)換皮膚資源快且能應付靈活多變。


3 程式碼, 執行效果圖,及開發文件 地址: 

http://pan.baidu.com/s/1qYTMV2c

 

相關文章