欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種小型圖形用戶界面系統(tǒng)的制作方法

文檔序號:6430277閱讀:177來源:國知局
專利名稱:一種小型圖形用戶界面系統(tǒng)的制作方法
技術(shù)領域
本發(fā)明涉及信息技術(shù),尤其涉及在已有操作系統(tǒng)平臺下設計和實現(xiàn)較少依賴于操作系統(tǒng)的圖形用戶界面系統(tǒng)。
背景技術(shù)
習知,要構(gòu)造一套圖形用戶界面系統(tǒng)需要有圖形繪制功能,圖形繪制功能依據(jù)其實現(xiàn)的復雜程度,將其劃分為基本圖形繪制功能和高級圖形繪制功能?;緢D形繪制功能包括在顯示器的屏幕上繪制點、線、填充矩形等;高級圖形繪制功能包括在顯示器的屏幕上繪制文字、圖片文件等。在特定的操作系統(tǒng)下,例如微軟視窗操作系統(tǒng)下,有GDI、0pen GL、 Direct Draw, Direct 3D等不同實現(xiàn)方式的圖形繪制功能。目前,在微軟視窗操作下的圖形用戶界面系統(tǒng)主要有視窗系統(tǒng)的窗口與消息機制,微軟基礎類,第三方工具庫QT等。其中視窗系統(tǒng)的窗口與消息機制是所有軟件開發(fā)者在視窗系統(tǒng)下構(gòu)造包含圖形用戶界面程序的基本編程接口 ;而其他圖形用戶界面系統(tǒng)如微軟基礎類、第三方工具庫QT都是在此基礎上封裝了微軟圖形用戶界面編程接口然后提供自己的編程接口,歸根結(jié)底還是需要使用微軟圖形用戶界面編程接口?,F(xiàn)有圖形用戶界面系統(tǒng)之微軟窗口和消息機制,是操作系統(tǒng)提供的圖形用戶界面編程接口,該套接口使用雖然簡單,但由于其是操作系統(tǒng)提供的接口,該套系統(tǒng)提供的圖形界面元素也都與操作系統(tǒng)本身風格一致,導致用戶想設計自己風格的圖形用戶界面元素困難。此外,該系統(tǒng)提供的圖形用戶界面元素也類型也有限,僅僅是一些基本的類型。再者, 由于該系統(tǒng)提供的接口比較基礎,軟件開發(fā)人員往往為了實現(xiàn)一種沒有現(xiàn)存的圖形用戶界面元素編寫大量的代碼。綜合上述原因,用該系統(tǒng)開發(fā)應用程序的圖形用戶界面效率比較低。現(xiàn)有圖形用戶界面系統(tǒng)之微軟基礎類,雖然封裝了微軟窗口消息機制,減少了應用程序代碼編寫量,但難于使用,對于非微軟編譯器支持不好?,F(xiàn)有圖形用戶界面系統(tǒng)之第三方工具庫QT,雖然開源且有大量的文檔,但是QT庫本身是個龐然大物,而且編譯應用程序還要先經(jīng)過QT的預編譯工具,不符合標準的C/C++語法。為此,本申請人針對現(xiàn)有圖形用戶界面系統(tǒng)存在的問題,秉持著研究創(chuàng)新、精益求精之精神,利用其專業(yè)眼光和專業(yè)知識,研究出一種符合產(chǎn)業(yè)及學習使用的小型圖形用戶界面系統(tǒng)。

發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種簡單,快速和可移植的小型的圖形用戶界面系統(tǒng),方便應用程序開發(fā);該系統(tǒng)主要為應用程序提供一套獨立于操作系統(tǒng)且便于移植的圖形用戶界面庫,作用相當于微軟基礎類的圖形用戶界面部分、QT開源庫的圖形用戶界面部分。為實現(xiàn)上述目的,本發(fā)明采用如下技術(shù)方案一種小型圖形用戶界面系統(tǒng),包括有應用程序及按樹狀層次排列形成的可匹配應用程序驅(qū)動運作的模型單元,模型單元包括有場景元素、場景、繪制功能、圖形設備接口 ;所述場景就是屏幕上可以顯示的一塊區(qū)域,在微軟視窗操作系統(tǒng)下面,這個區(qū)域就是窗口區(qū)域的子區(qū)域;所述場景元素是場景或上級場景元素的子區(qū)域,用它來表示圖形用戶界面元素,場景是模型單元的根結(jié)點。所述應用程序在更新顯示時,依次將需要顯示的部分疊加起來構(gòu)成最終在屏幕上看到的效果。所述模型單元實現(xiàn)把傳遞給應用程序的窗口消息轉(zhuǎn)換為場景元素的消息,場景元素在收到消息后作出相應的動作。所述模型單元具有一種基于模型單元的按鈕場景元素,該按鈕場景元素能夠設置自己在場景中的位置和區(qū)域大小,能夠在他自己的區(qū)域上面顯示一個背景圖片和文字提示,能夠接收到鼠標的移動和鼠標上的按鈕按下和釋放的消息,并作出相應的動作。所述模型單元具有一種基于模型單元的標簽場景元素,該標簽場景元素能夠設置自己在場景中的位置和區(qū)域大小,能夠在他自己的區(qū)域上面顯示文字提示信息。所述模型單元具有一種基于模型單元的文字編輯框元素,該文字編輯框元素能夠設置自己在場景中的位置個區(qū)域大小,能夠讓用戶輸入文字信息同時將用戶輸入的文字信息顯示在其區(qū)域上。所述模型單元具有一種基于模型單元的圖片顯示區(qū)域元素,該圖片顯示區(qū)域元素能夠設置自己在場景中的位置和區(qū)域大小,能夠顯示圖像文件到其區(qū)域上。所述模型單元具有一種基于模型單元的滑動區(qū)域元素,該滑動區(qū)域元素能夠設置自己在場景中的位置和區(qū)域大小,能夠?qū)⑵渌麍鼍霸胤胖糜谄鋬?nèi)做為它的孩子結(jié)點, 它允許孩子結(jié)點的區(qū)域大小超過滑動區(qū)域元素的區(qū)域大小,并能顯示孩子結(jié)點區(qū)域的一部分。所述模型單元具有一種基于模型單元的列表容器元素,該列表容器元素能夠設置自己在場景中的位置和區(qū)域大小,能夠?qū)⑵渌舾蓚€場景元素做為它的孩子結(jié)點,并能管理這些孩子結(jié)點元素的位置和區(qū)域大小。本發(fā)明同其它現(xiàn)有技術(shù)相比,系統(tǒng)規(guī)模小,滿足應用程序?qū)D形用戶界面的需要, 且能夠很容易的從視窗系列操作系統(tǒng)移植到其它軟硬件平臺上。系統(tǒng)具有簡單、快速和可移植的特性;讓使用者能夠清楚的知道內(nèi)部做了什么操作以及自己該做什么操作。當用戶使用本圖形用戶界面系統(tǒng)來構(gòu)造包含圖形界面的應用程序時,程序本身運行的很快,占用的處理器和內(nèi)存資源相對較少,能迅速響應用戶輸入的操作。當用戶使用本圖形用戶界面系統(tǒng)來構(gòu)造包含圖形界面的應用程序時,開發(fā)過程是很快的,用戶接口簡單。目前本圖形用戶界面系統(tǒng)已經(jīng)在微軟視窗操作XP和Wince 6. 0下有實現(xiàn),將來還可以將其移植到Linux、 Mac OS等操作系統(tǒng)下。


附圖1為本發(fā)明的結(jié)構(gòu)原理圖; 附圖2為是一個空的場景示意附圖3是含有一個場景和一個場景元素,場景元素在場景內(nèi)部的示意附圖4是含有一個場景和兩個場景元素,一個較小場景元素在另一個較大的場景元素里面,較大的場景元素又在場景里面的示意附圖5是一個由場景與場景元素構(gòu)成的樹狀結(jié)構(gòu)示意圖; 附圖6是本發(fā)明之圖形用戶界面系統(tǒng)的軟件堆??驁D。
具體實施例方式
以下結(jié)合附圖對本發(fā)明進一步說明
參閱圖廣6所示,本發(fā)明提供的一種小型圖形用戶界面系統(tǒng),其包括有應用程序1及按樹狀層次排列形成的可匹配應用程序驅(qū)動運作的模型單元,模型單元包括有場景2、場景元素3、繪制功能4、圖形設備接口 5 ;所述場景2就是屏幕上可以顯示的一塊區(qū)域,在微軟視窗操作系統(tǒng)下面,這個區(qū)域就是窗口區(qū)域的子區(qū)域;所述場景元素是場景或上級場景元素的子區(qū)域,用它來表示圖形用戶界面元素,場景是模型單元的根結(jié)點。當應用程序在更新顯示時,依次將需要顯示的部分疊加起來構(gòu)成最終在屏幕上看到的效果,而模型單元實現(xiàn)把傳遞給應用程序的窗口消息轉(zhuǎn)換為場景元素的消息,場景元素在收到消息后作出相應的動作。本發(fā)明中,模型單元具有一種基于模型單元的按鈕場景元素,該按鈕場景元素能夠設置自己在場景中的位置和區(qū)域大小,能夠在他自己的區(qū)域上面顯示一個背景圖片和文字提示,能夠接收到鼠標的移動和鼠標上的按鈕按下和釋放的消息,并作出相應的動作。所述模型單元具有一種基于模型單元的標簽場景元素,該標簽場景元素能夠設置自己在場景中的位置和區(qū)域大小,能夠在他自己的區(qū)域上面顯示文字提示信息。所述模型單元具有一種基于模型單元的文字編輯框元素,該文字編輯框元素能夠設置自己在場景中的位置個區(qū)域大小,能夠讓用戶輸入文字信息同時將用戶輸入的文字信息顯示在其區(qū)域上。所述模型單元具有一種基于模型單元的圖片顯示區(qū)域元素,該圖片顯示區(qū)域元素能夠設置自己在場景中的位置和區(qū)域大小,能夠顯示圖像文件到其區(qū)域上。所述模型單元具有一種基于模型單元的滑動區(qū)域元素,該滑動區(qū)域元素能夠設置自己在場景中的位置和區(qū)域大小,能夠?qū)⑵渌麍鼍霸胤胖糜谄鋬?nèi)做為它的孩子結(jié)點, 它允許孩子結(jié)點的區(qū)域大小超過滑動區(qū)域元素的區(qū)域大小,并能顯示孩子結(jié)點區(qū)域的一部分。所述模型單元具有一種基于模型單元的列表容器元素,該列表容器元素能夠設置自己在場景中的位置和區(qū)域大小,能夠?qū)⑵渌舾蓚€場景元素做為它的孩子結(jié)點,并能管理這些孩子結(jié)點元素的位置和區(qū)域大小。如圖6所示,是本發(fā)明之圖形用戶界面系統(tǒng)的軟件堆??驁D。兩條直線構(gòu)成的平行線將軟件堆棧框圖分成了上中下三個部分,最上面的部分是使用本發(fā)明之圖形用戶界面系統(tǒng)的應用程序,中間部分為本發(fā)明之圖形用戶界面系統(tǒng),最下層為本發(fā)明圖形用戶界面系統(tǒng)所依賴的部分。在這個框圖里面,上層功能的完成依賴于在其下層的功能。例如,GDI 依賴于顯示設備接口。⑶I生成需要顯示圖像數(shù)據(jù),再調(diào)用顯示設備接口完成顯示功能,顯示設備接口最終完成繪圖的功能。各種場景元素(如按鈕,標簽,文字編輯框,圖片區(qū)域,滑動區(qū)域,列表容器)依賴于場景和場景元素模型。場景和場景元素模型依賴于繪圖接口(如繪制點,線,填充矩形,文字,圖片)。繪圖接口依賴操作系統(tǒng)的繪圖功能,在微軟操作系統(tǒng)下有四種繪圖功能的實現(xiàn),分別是⑶l、0pen GL.Direct Draw和Direct 3D;但本發(fā)明圖形用戶界面系統(tǒng)并不是同時依賴這四種繪圖功能,而只是依賴這四種中的任何一種或者不依賴這四種中的任何一種。如果依賴這四種中的一種,則本發(fā)明的繪圖接口只是對所依賴的繪圖功能的封裝。如果不依賴這四種中的任意一種,則本發(fā)明的繪圖接口自己抽象了圖形設備接口,且自己實現(xiàn)了所有繪圖操作。其所抽象的圖形設備接口認為屏幕就是固定寬和高的矩陣,每行含有固定寬度個的像素,每列含有固定高度個像素,屏幕共含有固定寬度乘以固定高度個像素點,每個像素點就是一種顏色,這種顏色可以是灰度值也可以是彩色值。這個抽象的圖形設備接口對外提供的接口就是能隨機讀和寫這個固定寬度和固定高度的矩陣中的任意位置的的像素值。這個抽象的圖形設備相當于一幅固定寬高的特定像素格式的圖片,故可以用定義一張圖片的方式來定義這個抽象的圖形設備。定義抽象圖形設備結(jié)構(gòu) struct ztimage{
int width; //定義圖片的寬度,單位為像素 int height; //定義圖片的高度,單位為像素 int channel_depth; //定義圖片每個通道的深度,單位為比特。int num_channel ; //定義圖片所含通道個數(shù),最多為四個通道的 int color_type; //定義圖片的顏色類型
unsigned char **data; //定義圖片的數(shù)據(jù)矩陣
};
typedef ztimage ztdisplay_device; //定義圖片即為抽象圖形設備抽象圖形設備或者圖片的功能有創(chuàng)建指定像素格式和制定寬度和高度的圖片,銷毀該圖片,設置圖片某個位置的像素值,和獲取圖片某個位置的像素值。
對顏色的定義 struct ztcolor {
unsigned char red;//8 位的紅分量
unsigned char green; //8 位的綠分量 unsigned char blue ; //8 位的藍分量 unsigned char alpha; //8 iiL^i^^M&^m
};繪制像素點功能 輸入
屏幕上一個像素點的位置坐標(x,y)。要繪制的像素值(V)。輸出
將屏幕指定位置(x,y)的像素點的值改變?yōu)?ν)。計算方法
步驟1,如果當前繪圖接口依賴GDI,則調(diào)用GDI相應繪制像素點的功能,完畢。步驟2,如果當前繪圖接口依賴Open GL,目前尚未實現(xiàn)。步驟3,如果當前繪圖接口依賴Direct Draw,目前尚未實現(xiàn)。
6
步驟4,如果當前繪圖接口依賴Direct 3D,目前尚未實現(xiàn)。步驟5,即當前繪圖接口不依賴以上四種繪圖功能,則在抽象的圖形設備上面繪制像素點,完畢。
繪制直線功能 輸入
屏幕上一個像素點的位置坐標(xl,yl),表示直線的起點。屏幕上一個像素點的位置坐標(x2,y2),表示直線的終點。要繪制的直線的像素值(V)。計算方法
步驟1,如果當前繪圖接口依賴GDI,則調(diào)用GDI相應繪制直線的功能,完畢。步驟2,如果當前繪圖接口依賴Open GL,目前尚未實現(xiàn)。步驟3,如果當前繪圖接口依賴Direct Draw,目前尚未實現(xiàn)。步驟4,如果當前繪圖接口依賴Direct 3D,目前尚未實現(xiàn)。步驟5,即當前繪圖接口不依賴以上四種繪圖功能,則用Bresenham算法(詳細實現(xiàn)請參考計算機圖形學,如何繪制直線)在抽象的圖形設備上面繪制直線,完畢。
繪制填充矩形功能 輸入
屏幕上一個像素點的位置坐標(xl,yl),表示矩形的左上角。屏幕上一個像素點的位置坐標(x2,y2),表示矩形的右下角。要繪制的矩形的填充顏色像素值(V)。計算方法
步驟1,如果當前繪圖接口依賴GDI,則調(diào)用GDI相應繪制填充矩形的功能,完畢。步驟2,如果當前繪圖接口依賴Open GL,目前尚未實現(xiàn)。步驟3,如果當前繪圖接口依賴Direct Draw,目前尚未實現(xiàn)。步驟4,如果當前繪圖接口依賴Direct 3D,目前尚未實現(xiàn)。步驟5,即當前繪圖接口不依賴以上四種繪圖功能,則令y等于yl到y(tǒng)2,依次繪制 (y2_yl)條直線,則(y2-yl)條直線的起點和終點為(xl,y), (x2,y)。繪制直線可以調(diào)用上面所述繪制直線功能,這里不再多說。完畢。
繪制文字功能 說明
本發(fā)明圖形用戶界面系統(tǒng)的繪制文字部分采用開源庫freetype2,支持從字體文件中讀取對應字符(包括英文,數(shù)字,漢字和一些符號)的字形,然后繪制到屏幕上。輸入
待輸出字符串首地址。待輸出字符串的字符個數(shù)。屏幕上一個像素點的坐標(xl,yl),表示待輸出到的矩形的左上角。
7
屏幕上一個像素點的坐標(x2,y2),表示待輸出到的矩形的右下角。顏色使用默認顏色,一般為黑色,可以設置。輸出
將制定的字符串輸出到屏幕制定的矩形區(qū)域里面。計算方法
步驟1,如果當前繪圖接口依賴GDI,則調(diào)用GDI相應繪制文字的功能,完畢。步驟2,如果當前繪圖接口依賴Open GL,目前尚未實現(xiàn)。步驟3,如果當前繪圖接口依賴Direct Draw,目前尚未實現(xiàn)。步驟4,如果當前繪圖接口依賴Direct 3D,目前尚未實現(xiàn)。步驟5,即當前繪圖接口不依賴以上四種繪圖功能,調(diào)用freetype2功能,獲取字形,然后繪制到抽象圖形設備里面,完成。
繪制圖片功能 說明
本發(fā)明圖形用戶界面系統(tǒng)的繪制圖片部分采用開源庫libpng,目前只支持可移植網(wǎng)絡圖形格式文件的編解碼,將圖片解碼后,然后繪制到屏幕上。輸入
源矩形(圖片)待顯示位置的左上角(xsrcjsrc)
源矩形(圖片)待顯示的寬度與高度(wsrc,ysrc),單位為像素。目標矩形(繪制到哪里)待顯示位置的左上角(xdst,ydst)。目標矩形(繪制到哪里)待顯示位置的寬度與高度(Wdst,hdst),單位為像素。輸出
將圖片里面的一個矩形區(qū)域(xsrc,ysrc,wsrc,hsrc)繪制到目標的一個矩形區(qū)域(xdst, ydst, wdst, hdst)。計算方法
步驟1,載入圖形文件,確定是可移植網(wǎng)絡圖形文件格式,解碼。步驟2,如果當前繪圖接口依賴GDI,則創(chuàng)建內(nèi)存設備上下文,將解碼后的圖片傳送到內(nèi)存設備上下文,然后再將內(nèi)存設備上下文顯示到屏幕上。步驟3,如果當前繪圖接口依賴Open GL,目前尚未實現(xiàn)。步驟4,如果當前繪圖接口依賴Direct Draw,目前尚未實現(xiàn)。步驟5,如果當前繪圖接口依賴Direct 3D,目前尚未實現(xiàn)。步驟6,即當前繪圖接口不依賴以上四種繪圖功能,則直接將解碼后的圖片傳送至抽象顯示設備。步驟7,釋放圖片文件所占用的資源以及關閉文件。
模型單元
如圖2所示,是單個場景,場景內(nèi)沒有任何東西,只有場景本身的背景圖。如圖3所示,是一個場景和一個場景元素,場景元素在場景里面,即場景元素區(qū)域在場景區(qū)域里面。
如圖4所示,是一個場景和兩個場景元素,較小的場景元素在較大的場景元素里面,而較大的場景元素又在場景里面。也就是說,較小的場景元素區(qū)域在較大的場景元素區(qū)域里面,而較大的場景元素區(qū)域又在場景區(qū)域里面。這種區(qū)域之間包含的關系構(gòu)成了一種層次結(jié)構(gòu)。這種關系類似于國家一省份一城市一區(qū)縣一鄉(xiāng)鎮(zhèn)一街道和村的行政區(qū)域劃分。 反之,場景類似于國家,場景元素類似省份、城市、區(qū)縣、鄉(xiāng)鎮(zhèn)、街道和村。這種按照層次排列的結(jié)構(gòu)很容易用樹這種數(shù)據(jù)結(jié)構(gòu)來表示。本發(fā)明圖形用戶界面系統(tǒng)用孩子兄弟二叉樹來表示這種按照層次排列的樹。而且規(guī)定,場景只關聯(lián)到這棵孩子兄弟二叉樹的根節(jié)點。孩子兄弟鏈表結(jié)構(gòu)定義如下
struct Node{
intdata;
struct Node * firstchild; struct Node * nextsibling;
};
其中data結(jié)點用于表示孩子兄弟鏈表結(jié)點的數(shù)據(jù),firstchild指向該結(jié)點的首個孩子結(jié)點,nextsibling指向該結(jié)點的下一個兄弟節(jié)點。本發(fā)明擴展了該結(jié)構(gòu),用于保存場景元素。擴展后的結(jié)點信息如下(C/C++代碼)
class ZtGraphicsItem
{
public:
ZtGraphicsItemO ; virtual ZtGraphicsItemO ; virtual void setRect(RECT rect); virtual RECT boundingRect();
virtual void paint(ztimage 氺canvas,HDC hdc, RECT 氺pre) = 0; virtual void update (); virtual void advance ();
virtual void mapFromParent (long x, long y, long 氺px,long 氺py); virtual void mapToParent(long x,long y,long 氺px,long 氺py); virtual void onLButtonDownEvent(WPARAM wparam, LPARAM lparam); virtual void onLButtonUpEvent(WPARAM wparam, LPARAM lparam); virtual void onMouseMoveEvent(WPARAM wparam, LPARAM lparam); virtual void onChar(WPARAM wparam, LPARAM lparam); virtual void onSlideEvent(unsigned int msg,WPARAM wparam, LPARAM
lparam);
virtual void addltem(ZtGraphicsItem *item); virtual void removeltem(ZtGraphicsItem *item); ZtGraphicsItem ^realParent (); ZtGraphicsItem ^parent;ZtGraphicsItem ^firstchild; ZtGraphicsItem ^nextsibling; int id;
int ζ;//顯示靠近里面還是外面。0—最里面 ZtScene 氺scene; protected:
RECT m_rect;
ι;
ZtGraphicsItem是場景場景元素的抽象基類,所有具體實現(xiàn)的場景元素均繼承該場景元素。從以上代碼可以看到,ZtGraphicsItem包含了構(gòu)造孩子兄弟鏈表二叉樹的 firstchild和nextsibling指針,還添加了 parent指針,指向該結(jié)點的上一級結(jié)點指針。 ZtGraphicsItem的各個成員變量和函數(shù)作用如下
設置與獲取ZtGraphicsItem矩形區(qū)域在其親父親結(jié)點區(qū)域大小 RECT m_rect;
virtual void setRect(RECT rect);
virtual RECT boundingRect();
m_rect用于記錄該場景元素的區(qū)域位置和大小。setRect函數(shù)用于設置改變m_rect的值,該場景元素在其親父親場景元素中的矩形區(qū)域位置和大小。若該場景元素的親父親場景元素為空,則該場景元素直接處于場景中, 此時設置的矩形區(qū)域為該場景元素在場景中的矩形位置和大小。boundingRect用于返回m_rect的值,該場景元素在其親父親場景元素中的矩形位置和大小。若場景元素的親父親場景元素為空,則該場景元素直接處于場景中,此時返回的矩形區(qū)域為該場景元素在場景中的矩形位置和大小。
建立與改變層次關系相關成員與函數(shù) virtual void addltem(ZtGraphicsItem *item); virtual void removeltem(ZtGraphicsItem *item); ZtGraphicsItem ^realParent();
addltem用于將一個場景元素加到該場景元素中,使加入的場景元素成為該場景元素的子節(jié)點。removeltem用于從該場景元素中移除一個場景元素結(jié)點。
與繪制場景元素相關
virtual void paint(ztimage 氺canvas,HDC hdc, RECT 氺pre) = 0; virtual void update ();
paint是場景元素的繪制函數(shù),在界面需要更新的時候由場景來調(diào)用該函數(shù)。update是場景元素的更新函數(shù),調(diào)用該函數(shù)后,該場景元素會通知場景更新該場景元素,相應的更新了屏幕的顯示。與事件處理有關
virtual void onLButtonDownEvent(WPARAM wparam, LPARAM lparam); virtual void onLButtonUpEvent(WPARAM wparam, LPARAM lparam); virtual void onMouseMoveEvent(WPARAM wparam, LPARAM lparam); virtual void onChar(WPARAM wparam, LPARAM lparam);
virtual void onSlideEvent (unsigned int msg,WPARAM wparam, LPARAM lparam); onLButtonDownEvent是場景元素在鼠標左鍵按下時觸發(fā)此事件,該事件由場景調(diào)用。onLButtonUpEvent是場景元素在鼠標左鍵釋放是除非此事件,該事件由場景調(diào)用。onMouseMoveEvent是場景元素在鼠標指針移動到該場景元素矩形區(qū)域內(nèi)觸發(fā), 該事件由場景調(diào)用。onChar是場景元素的字符事件,在該場景元素接受到用戶輸入字符時觸發(fā),該事件由場景調(diào)用。onSlideEvent是場景元素的滑動事件,增加此事件是為了支持滑動操作,該事件由場景調(diào)用,也可由場景元素的其他事件處理程序調(diào)用。
其他
ZtGraphicsItemO ; virtual ZtGraphicsItemO ; virtual void advance ();
virtual void mapFromParent (long χ, long y, long 氺px,long 氺py); virtual void mapToParent(long x,long y,long 氺px,long 氺py); int id;
int ζ;//顯示靠近里面還是外面。0—最里面 ZtScene 氺scene;
ZtGraphicsItem是場景元素的構(gòu)造函數(shù)。 ZtGraphicsItem是場景元素的析構(gòu)函數(shù)。andvance是場景元素的脈動動畫函數(shù),由場景調(diào)用,一般可忽略。mapFromParent是用于產(chǎn)生滑動效果的坐標映射函數(shù),該函數(shù)定義怎么從親父親的坐標轉(zhuǎn)換到該場景元素的內(nèi)部坐標。mapToParent是用于產(chǎn)生滑動效果的坐標映射函數(shù),該函數(shù)定義怎么從該場景元素坐標轉(zhuǎn)換到其親父親的坐標。id是該場景元素的一個編號,用于區(qū)別其他場景元素。scene是場景的指針,一旦該場景元素被加入到場景中,scene就只向該場景元素所在的場景。Z用于表示該場景元素是比較靠近里面還是外面,很少用到,一般可忽略。
場景的構(gòu)成如下 class ZtScene
權(quán)利要求
1.、一種小型圖形用戶界面系統(tǒng),其特征在于包括有應用程序及按樹狀層次排列形成的可匹配應用程序驅(qū)動運作的模型單元,模型單元包括有場景元素、場景、繪制功能、圖形設備接口 ;所述場景就是屏幕上可以顯示的一塊區(qū)域,在微軟視窗操作系統(tǒng)下面,這個區(qū)域就是窗口區(qū)域的子區(qū)域;所述場景元素是場景或上級場景元素的子區(qū)域,用它來表示圖形用戶界面元素,場景是模型單元的根結(jié)點。
2.根據(jù)權(quán)利要求1所述的一種小型圖形用戶界面系統(tǒng),其特征在于所述應用程序在更新顯示時,依次將需要顯示的部分疊加起來構(gòu)成最終在屏幕上看到的效果。
3.根據(jù)權(quán)利要求1所述的一種小型圖形用戶界面系統(tǒng),其特征在于所述模型單元實現(xiàn)把傳遞給應用程序的窗口消息轉(zhuǎn)換為場景元素的消息,場景元素在收到消息后作出相應的動作。
4.根據(jù)權(quán)利要求1或3所述的一種小型圖形用戶界面系統(tǒng),其特征在于所述模型單元具有一種基于模型單元的按鈕場景元素,該按鈕場景元素能夠設置自己在場景中的位置和區(qū)域大小,能夠在他自己的區(qū)域上面顯示一個背景圖片和文字提示,能夠接收到鼠標的移動和鼠標上的按鈕按下和釋放的消息,并作出相應的動作。
5.根據(jù)權(quán)利要求1或3所述的一種小型圖形用戶界面系統(tǒng),其特征在于所述模型單元具有一種基于模型單元的標簽場景元素,該標簽場景元素能夠設置自己在場景中的位置和區(qū)域大小,能夠在他自己的區(qū)域上面顯示文字提示信息。
6.根據(jù)權(quán)利要求1或3所述的一種小型圖形用戶界面系統(tǒng),其特征在于所述模型單元具有一種基于模型單元的文字編輯框元素,該文字編輯框元素能夠設置自己在場景中的位置個區(qū)域大小,能夠讓用戶輸入文字信息同時將用戶輸入的文字信息顯示在其區(qū)域上。
7.根據(jù)權(quán)利要求1或3所述的一種小型圖形用戶界面系統(tǒng),其特征在于所述模型單元具有一種基于模型單元的圖片顯示區(qū)域元素,該圖片顯示區(qū)域元素能夠設置自己在場景中的位置和區(qū)域大小,能夠顯示圖像文件到其區(qū)域上。
8.根據(jù)權(quán)利要求1或3所述的一種小型圖形用戶界面系統(tǒng),其特征在于所述模型單元具有一種基于模型單元的滑動區(qū)域元素,該滑動區(qū)域元素能夠設置自己在場景中的位置和區(qū)域大小,能夠?qū)⑵渌麍鼍霸胤胖糜谄鋬?nèi)做為它的孩子結(jié)點,它允許孩子結(jié)點的區(qū)域大小超過滑動區(qū)域元素的區(qū)域大小,并能顯示孩子結(jié)點區(qū)域的一部分。
9.根據(jù)權(quán)利要求1或3所述的一種小型圖形用戶界面系統(tǒng),其特征在于所述模型單元具有一種基于模型單元的列表容器元素,該列表容器元素能夠設置自己在場景中的位置和區(qū)域大小,能夠?qū)⑵渌舾蓚€場景元素做為它的孩子結(jié)點,并能管理這些孩子結(jié)點元素的位置和區(qū)域大小。
全文摘要
本發(fā)明涉及信息技術(shù),尤其涉及在已有操作系統(tǒng)平臺下設計和實現(xiàn)較少依賴于操作系統(tǒng)的圖形用戶界面系統(tǒng),包括有應用程序及按樹狀層次排列形成的可匹配應用程序驅(qū)動運作的模型單元,模型單元包括有場景元素、場景、繪制功能、圖形設備接口;所述場景就是屏幕上可以顯示的一塊區(qū)域,在微軟視窗操作系統(tǒng)下面,這個區(qū)域就是窗口區(qū)域的子區(qū)域;所述場景元素是場景或上級場景元素的子區(qū)域,用它來表示圖形用戶界面元素,場景是模型單元的根結(jié)點。本發(fā)明同其它現(xiàn)有技術(shù)相比,系統(tǒng)規(guī)模小,滿足應用程序?qū)D形用戶界面的需要,且能夠很容易的從視窗系列操作系統(tǒng)移植到其它軟硬件平臺上。系統(tǒng)具有簡單、快速和可移植的特性。
文檔編號G06F9/44GK102253841SQ20111022706
公開日2011年11月23日 申請日期2011年8月9日 優(yōu)先權(quán)日2011年8月9日
發(fā)明者張福慶 申請人:東莞兆田數(shù)碼科技有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
册亨县| 阿瓦提县| 隆德县| 台州市| 宁远县| 泸定县| 永兴县| 七台河市| 靖边县| 沁水县| 象山县| 民和| 翁源县| 宜良县| 崇左市| 德清县| 长子县| 仁化县| 胶州市| 灵武市| 大关县| 武城县| 土默特左旗| 青铜峡市| 德令哈市| 潼南县| 甘孜县| 乐安县| 阿克苏市| 马鞍山市| 泰安市| 思茅市| 遂平县| 松江区| 朝阳县| 麻阳| 陆川县| 西宁市| 平远县| 乃东县| 安平县|