新四季網

顯示圖形對象的製作方法

2023-06-08 12:09:31 2

>(Card8、Card16等數據類型是用於具有指示位數的數字類型的別名,例如Card8相當於一個『char』,Card16相當於一個『short』,等)。對於每個對象類型,每種繪製方法都是一樣的。對於需要一種不同的方法用於每種方法、或者至少用於某些方法的外觀,在該外觀類中的方法必須標識該窗口小部件類型並且據此作用。注意方法DrawNothing的目的。如果調用它的話,就簡單地返回OK。某些特徵在一個給定的外觀中是不必要被實現的。因此WGT不必要必須檢測一個給定函數的存在,任何未實現的函數都將指向這個方法。還要注意掩碼。這是一個私有、只讀的布爾數組,其中的每個元素對應於上述方法中的一個。如果一個元素設置為1,則重新定義該相應的方法。否則,該方法沒有被重新定義。以這種方式,如果WGT想要的話,它就能夠發現在一次操作中它必須調用哪些方法。該外觀類用來定義在任何外觀定義和WGT之間的接口。WGT僅僅使用這些方法來顯示需要的外觀。如果一個外觀需要附加的功能,則它能夠被合併到一個擴展的外觀結構中,但是由該應用程式而非WGT來考慮這些方法/參數。以這種方式,能夠添加附加的屬性和方法。一個導出的外觀結構必須包含所有這些方法和屬性,而且它還可以添加它自己的方法和屬性。然而WGT將僅僅考慮在MhwWgtLook結構中定義的那些方法。現在討論類MhwWgtLookWgt。所以現有的應用程式不必進行修改就可以保持與修改版本的WGT兼容,一個定義WGT對象當前所具有的外觀的基本外觀類由WGT創建和實例化。它是MhwWgtLook的一個子類並且被稱作MhwWgtLookWgt。當這類被初始化時,在該結構中所有指針的值被設置為指向WGT定義的方法。這些基本類不包含別的-它僅僅定義WGT當前提供的外觀。對於WGT初始化,當啟動該WGT時必須創建類MhwWgtLookwgt的一個實例。如果該應用程式沒有指定一個不同的外觀的話,WGT將因此能訪問這些方法。g_TheDefaultLook全局變量(如下所述)最初必須被設置為指向這個外觀。現在描述定義新外觀和設置預設外觀的過程。WGT不負責定義或者實例化新的外觀對象。應用程式必須自己執行這個。所有創建的外觀對象在一個MhwWgtLook結構中必須是可塑的,參看在下面的外觀管理。對於預設的外觀,欄位MhwWgtLook*DefaultLook必須被添加到MhwWgtContext對象中,以指向要施加到從這個環境中創建的任何新對象的MhwWgtLook實例。當創建一個新的WGT環境時,這個欄位必須被設置為指向WgtBasicLook。對於設置用於一個環境的預設外觀,提供了一個公共方法MgwWgtSetDefaultLook(MhwWgtContext,aContext,MhwWqtLookaLook)以設置在aContext中的DefaultLook欄位以指向aLook。為了將一個外觀與一個對象關聯,以下的屬性被添加到在該核心類中的coreAtts結構中MhwWgtLook*Look這個屬性因此為每個創建的對象而創建。每當一個對象被實例化時,外觀被設置為指向DefaultLook全局變量。兩個新的公共方法MhwWgtSetXXXAttsLook(MhwWgtWidgetanObject,MhWWgtLookaLook)和MhwWgtGetXXXAttsLook(MhwWgtWidgetanObject,MhwWgtLook*aLook)將被添加到該核心類中,以允許改變與該對象相聯繫的外觀實例。現在討論外觀的管理。WGT不提供任何外觀管理。為了使用一個不同於該預設的外觀,一個應用程式首先必須確保一個或多個外觀類被實例化和初始化了,然後每當它創建一個新的WGT對象時,使用MhwWgtSetCoreAttsLook方法來把期望的外觀與對象相關聯。如果它希望使用一個給定的外觀用於所有將來的窗口小部件,它能夠使用如上所述的MhwWgtSetDefaultLook方法。一個希望使用任何不同於預設時定義的一個外觀的應用程式負責創建和實例化該外觀。在本發明的另一個實施例中,一個應用程式可以遠程下載外觀。然而,在這種情況下,應用程式本身必須提供從MhwWgtLook導出的、需要的類。一個外觀不能由創建它的應用程式破壞直到所有使用它的窗口小部件都已經被破壞了為止。這需要添加一個refCounter欄位來計數「客戶」的數目。look=MhwNewLookMhwLookRef(look);MhwLookUnref(look);Look=0;這替換了free(look)。當它的refCounter欄位等於0時實際上將破壞該外觀。setXxxLook(widget,look){if(widget-core.look)MhwLookUnref(widget-core.look);widget-core.look=look;if(look)MhwLookRef(look);}用於實現外觀的WGT模塊API列表在這裡給出現在將更詳細地描述Look/LookPixmap模塊。類MhwWgtbookPixmap從如上所述的類MhwWgtLook中導出。如上所述,實質上它通過重構每個組件的各種單元來創建一個所需尺寸的圖形圖像來進行工作。這些圖像在下列中使用按鈕背景;凸起(例如,就是沿著文本區域活動區的邊界);一個用於(選擇)組件的符號;複選框;滑動塊;和滑動塊的移動按鈕。參考圖40,為了減少初始化時間,圖像不被壓縮,但是以一種設計成儘可能最小化所佔據空間的特定格式進行保存。每一個像素(2152)的顏色在單個字節中描述,其為在當前顏色映射中顏色的索引號(2151)。圖40顯示了一個示例緩衝區,image,其包含一個4×4圖像(2153)。在圖40中的圖像(2153)將如下所示存儲Card8slidLiftSeVrImage4[4][4]={{0,0,0,1},{0,0,1,2},{0,1,2,3},{1,2,3,4}};現在將描述LookPixMap圖像結構。為了識別一個圖像緩衝區的尺寸,結構LookPixmapImage被定義為包含如上所述的圖像緩衝區,鏈同該圖像的寬度和高度。這個在下面定義的結構用來包含用於每個圖形元素的數據。typedefstruct{Card8*imageData;包含該圖像的緩衝區。它是Card8的二維數組,其中的每個單元都包含要在該數組中該位置處顯示的顏色在該顏色調色板中的索引號。Card8*maskData;包含該掩碼的緩衝區。它是一維Card8數組,每個像素一位(和由該圖像模塊返回的格式相同)。Card16width;圖像的寬度。Card16height;圖像的高度。Card8isOpaque;如果圖像包含任何透明元素則為0,如果完全不透明為1。}LookPixmapImage;圖像能夠具有不同的尺寸,雖然對於一個給定類型的單元,它們通常將是相同的。然而中心單元(xxxxxC)經常為尺寸1×1。MhwWgtLookPixmapAllImages結構把所有圖像單元集合起來,其如下所示本節描述了LookPixmap模塊,其包含類LookPixmap,已經創建了該類以允許一組不同的外觀應用到網絡瀏覽器上。這個模塊包含下列源文件MhwWgtLookPixmap.h;MhwWgtLookPixmapStruct.h;WgtLookPixmapClass.c;MhwWgtLookPixmapImages.h;MhwWgtLookPixmapImages2.h;MhwWgtLookPixmapImages3.h;MhwWgtLookPixmapImages4.h;MhwWgtLookPixmapImages5.h;以及MhwWgtLookPixmapImages6.h。現在將描述LookPixmap模塊,包含創建和使用LookPixmap對象的最佳方法的詳情。任何使用WGT用於創建和管理窗口小部件的軟體能夠使用該LookPixmap模塊以提供可替換的外觀到該WGT窗口小部件。對於一個使用該LookPixmap外觀的應用程式,必須創建一個LookPixmap對象。這能夠使用以下代碼來執行MhwWgtLkWebClassPixmapLook;MhwWgtLkWebPixmapLookObject;MhwWgtLkWebAttsLookPixmapValues;MhwWgtErrorWgtErr;WgtErr=MhwWgtLkWebInitClass;WgtErr=MhwWgtLkWebAttsInit(LookPixmapValues);WgtErr=MhwWgtLkWebInitDefault(PixmapLook,LookPixmapvalues);PixmapLookObject=MhwWgtLkWebNew(LookPixMapValues);現在描述一種用於設置該預設外觀的方法。一個應用程式預設時能夠使用一個給定的外觀對象。預設時,該預設外觀是由WGT創建的LookWgt對象。為了設置另一個預設外觀,在它已經如上所述被創建了的情況下,能夠使用下列函數MhwWgtSetDefaultLook((MhwWgtLook)PixmapLookObject);所有後續創建的WGT窗口小部件將與該LookPixmap外觀類相關聯,而不是與WGT預設的LookWgt相關聯。一個應用程式能夠選擇或者設置用於一個給定類型的窗口小部件、或者一個給定窗口小部件的外觀,如現在將描述的那樣。當創建該窗口小部件時,一個應用程式能夠設置用於一個給定窗口小部件的外觀,這是通過就在創建該窗口小部件之前調用以下函數來完成MhwWgtXXXAttsSetLook(MhwWgtXXXAtts*,MhwWgtLook);它還可以在創建一個對象之後設置一個對象的外觀,這使用以下函數MhwWgtXXXSetLook(MhwWgtXXXWidget*,MhwWgtLook);(其中xxx是窗口小部件的類型-例如LIST)。現在將描述使用LookPixMap圖像的方法。單個LookPixmap對象使用單個圖像組。你能夠簡單地通過改變該圖像來顯著明顯地改變該外觀。你能夠通過調用以下函數來改變用於一個給定LookPixmap的圖像MhwWgtLookPixmapSetImages(MhwWgtLookPixmap*,MhwWgtLookPixmapAllImages*);設置在所有使用該指定LookPixmap對象的窗口小部件中使用的圖像到指定的圖像組。MhwWgtLookPixmapSetDefaultImages(MhwWgtLookPixmap*);設置在所有使用該指定LookPixmap對象的窗口小部件中使用的圖像到預設的圖像組。如果你希望使用不同的圖像用於不同的窗口小部件,你必須為每個需要的圖像組創建一個LookPixmap對象。你然後分配每個圖像組到適當的外觀,然後將每個外觀關聯到適當的窗口小部件。現在將參考圖39和41,描述LookPixmap模塊的API。以下公共的API是可用的MhwWptLookPixmapSetImages原型MhwWgtErrorMhwWgtLookPixmapSetImages(MhwWgtLkWebaLook,MhwWgtLookpixmapAllImages*someImages);描述把由aLook使用的圖像組設置為由someImages指向的圖像組。參數aLookMhwWgtLkWeb對象,關聯圖像someImages到該對象someImages與aLook關聯的圖像組。返回MHW_WGT_SUCCESSMhwWgtLookPixmapSetImagesID原型MhwWgtErrorMhwWgtLookPixmapSetImagesID(MhwWgtLkWebaLook,Card8anImageID);描述把由aLook使用的圖像組設置為在MhwWgtLookPixMap中硬編程而且由anImageID標識的圖像組。參數aLookMhwWgtLkWeb對象,關聯由anImageID標識的圖像到該對象。anImageID在MhwWgtLookPixmap中硬編程的與aLook關聯的圖像組標識符。返回MHW_WGT_SUCCESSMhwWgtLookPixmapSetDefaultImages原型MhwWgtErrorMhwWgtLookPixmapSetDefaultImages(MhwWgtLkWebaLook);描述把由aLook使用的圖像組設置為在MhwWgtLookPixMap中硬編程而且由標識符1標識的圖像組。參數aLookMhwWgtLkWeb對象,關聯由anImageID標識的圖像到該對象。返回MHW_WGT_SUCCESSMhwWgtLookPixmapLoadImage原型MhwWgtErrorMhwWgtLookPixmapLoadImage(MhwWgtLkWebaLook,Int32anElementID,Int32aWidth,Int32aHeight,Card8*anImageBuffer);描述用於把由當前MhwWgtLookPixmapAllImages結構指向的單個圖像改變到指向指定的圖像。創建一個LookPixmapImage結構,而且把由aLook指向的當前MhwWgtLookPixmapAllImages設置為指向由anElementID指定單元的LookPixmapImage。參數aLookMhwWgtLkWeb對象,關聯由anImageID標識的圖像到該對象。anElementID要改變單元的標識符。aWidth新圖像的寬度,以像素為單位。aHeight新圖像的高度,以像素為單位。anImageBuffer包含該新的圖像數據的緩衝區。返回MHW_WGT_SUCCESSLookPixmapMakeImageFromElements原型描述使用九個elemX圖像並且在指定的MHW窗口中繪製它們。用於構造該圖像的規則由aDrawMode指定(當前僅僅存在MHW_WGT_LIKWEB_DRAW_NORMAL)。在該窗口中繪製的最終圖像的左上角位於(anX,aY)處並且具有尺寸aWidth×aHeight。如果一個或多個單元具有零尺寸(要麼elemXX.width要麼elemXX.height為零),則不繪製這些單元。參數elemN,elemE,elemW,elemS,elemNW,elemNE,elemSW,elemSE,elemC分別在上面、右邊、左邊、底端、左上角、右上角、左下角、右下角和中間處繪製的圖像。anX在窗口aWindow中,繪製該最終圖像的x位置。aY在窗口aWindow中,繪製該最終圖像的y位置。aWidth新圖像的寬度,以像素為單位。aHeight新圖像的高度,以像素為單位。aWindow在其中繪製該構造圖像的窗口。aDrawMode構造該圖像的模式。MHW_WGT_LKWEB_DRAW_NORMAL把NW(2100)、NE(2101)、SW(2102)和SE(2103)單元放置在四角(2200、2201、2202、2203)而不用平鋪。橫向平鋪N和S單元。縱向平鋪W和E單元。橫向和縱向平鋪C單元。儘管它對任何的圖像尺寸都可以用,但是它僅僅保證如果該中心區域(2208)是矩形時,能夠正確地平鋪該區域。返回MHW_WGT_SUCCESS現在將描述Mhw.awtJava界麵包。已經開發了三個Java類以便在WGT中定義的外觀機制能夠由java應用程式利用。這些是mhw.awt.Look;mhw.awt.WgtLook;和mhw.awt.PixmapLook。該外觀類是對應於如上所述MhwWgtLook類的抽象類。類WgtLook用來創建和處理WGT類MhwWgtLookWgt的實例。PixmapLook類用來存儲由類WgtLook使用的圖像。現在將從構造器的詳情開始描述Mhw.awt.PixmapLookAPI。PixmapLookpublicPixmapLook創建一個PixmapLook對象的一個新實例,讓該圖像被初始化為預設的圖像(ID=1)PixmapLookpublicPixmapLook(intimageID)創建PixmapLook對象的一個新實例,讓該圖像被初始化為由imageID指定的圖像。現在將描述方法。SetImagespublicvoidSetImages把用於該PixmapLook對象的當前圖像設置為預設(ID=I)SetImagespublicvoidSetImages(intimageID)把用於該PixmapLook對象的當前圖像設置為由imageID指定的圖像LoadImagepublicvoidLoadImage(intelementID,intwidth,intheight,byte[]buffer)加載一個指定的圖像單元。每個PixmapLook對象具有一組(94)與它相關聯的圖像。這些圖像表示如下的圖形組件單元0relnoNW;1relnoSW;2relnoNE;3relnoSE;4relnoN;5relnoW;6relnoE;7relnoS;8relnoC;9relfoNW;10relfoSW;11relfoNE;12relfoSE,13relfoN;14relfoW;15relfoE;16relfoS;17relfoC;18relhiNW;19relhiSW;20relhiNE;21relhiSE;22relhiN;23relhiW;24relhiE;25relhiS;26relhiC;27relfhNW;28relfhSW;29relfhNE;30relfhSE;31relfhN;32relfhW;33relfhE;34relfhS;35relfhC;36butnoNW;37butnoSW;38butnoNE;39butnoSE;40butnoN;41butnoW;42butnoE;43butnoS;44butnoC;45butfoNW;46butfoSW;47butfoNE;48butfoSE;49butfoN;50butfoW;51butfoE;52butfoS;53butfoC;54buthiNW;55buthiSW;56buthiNE;57buthiSE;58buthiN;59buthiW;60buthiE;61buthiS;62buthiC;63butfhNW;64butfhSW;65butfhNE;66butfhSE;67butfhN;68butfhW;69butfhE;70butfhS;71butfhC;72choice;73chcklno;74chcklse;75chcklfo;76chcklfs;77chck2no;78chcl2se;79chck2fo;80chck2fs;81slidNeVr;82slidEVr;83slidSeVr;84slidSwHr;85slidSHr;86slidSeHr;87slidSeVrHr;88slidLiftNeVr;89slidLiftEVr;90slidLiftSeVr;91slidLiftSwHr;92slidLiftSHr;93slidLiftSeHrwidth指定傳遞的圖像寬度。height指定傳遞的圖像高度。buffer包含該圖像數據。這以一個字節數組形式,每個字節為每一個像素給定使用的顏色映射。用於像素(x,y)的索引是緩衝區[(y*width)+x]。基於9個單元(N、E、W、S、NW、NE、SW、SE、C)構造一個圖像並且在與組件aComponent相關聯的窗口上繪製它,讓它的左上角在(anX,aY)處而且具有尺寸aWidthxaHeight。該圖像緩衝區作為一個二維數組被傳遞,一維給定圖像數字(對應於N、E、W、S、NW、NE、SW、SE、C的0-8)而且另一維包含數據。以數組寬度和高度給出每個緩衝區的寬度和高度。DownloadLookDirpublicjava.lang.StringDownloadLookDir從MPEG流中下載一個「外觀」目錄。返回一個包含有關每個能夠被下載的外觀圖像組的信息的字符串,該字符串由換行符分隔。一個標題的行號(0到n-1)對應於函數DownLoadLookImages(intImageSet)使用的標識符(ImageSet)。目錄實際上是包含被返回的字符串的一個簡單文本文件。該文件路徑在源文件中被硬編碼-當前是/home/users/mstoddar/mhplus/util/looks/images.dir。這能夠被適當地改變。這因此能在解碼器中使用,以自動地從MPEG流中下載。該文件的格式為ImageSetTitle1\tImageSetDeseription\tURLResource\tURLPreview\nImageSetTitle2\tImageSetDescription\tURLResource\tURLPreview\nImageSetTitle3\tImageSetDescription\tURLResource\tURLPreview\nImageSetTitle4\tImageSetDescription\tURLResource\tURLPreview\n如果不成功的話則返回「」。DownloadLookImagespublicvoidDownloadLookImages(intImageSet)從MPEG流下載一個新的圖像組,由在DownLoadLookDir中返回的一個條目中的行號標識,並且把它們歸屬於這個外觀。該文件包含以以下格式的數據WWWWHHHHWWWWHHHH…一系列四字節字符串(有引導空格)包含所有94個圖像的寬度和高度的十進位數值(和在方法LoadImage中的次序相同)。用於每個圖像的數據緩衝區再次與LoadImage的格式相同。在圖像之間不進行調準,下一個圖像的開始從接著前一個圖像的字節開始。該文件路徑在源文件中被硬編碼-當前是/home/users/mstoddar/mhplus/util/looks/Images.ImageSet。這能夠被適當地改變。這因此能在解碼器中使用,以自動地從MPEG流中下載。publicvoidDownloadLookImages(stringImageURL)從該MPEG流中下載一個新的圖像組,其有指定的URL標識,而且把它們歸屬於這個外觀。該文件以上面給定的格式包含數據。為了清楚起見,在下面給出的文件結構以C語言的語法格式例如寬高寬高0000000888800000208888000004088880000060888800001008888000012088880000140888800001608888000020088110000220888800002408888000026088880000300888800003201188000034088880000360888800004008888000042088110000440888800004608888000050088880000520888800005401188000056088880000600888800006208888000064088110000660888800007008888000072088880000740888800007601188000100088880001020888800010408888000106088110001100161616160001120161616160001140161616160001160161616160001200161688000122088880001240888800012608811000130022220001320222200013402222緩衝區1數據的開始(relnoNW)(8×8位元組)0001360\0\0\0\0\0266004004\0\0\0266\n\r\r\r0001400\0\0\n\r017\r\v001\0266\r017\r0010010010001420\0\n017\r001001001001265\r\r0010010010010010001440004\r\v001001001001001004\v001001001001001006緩衝區2數據的開始(relnoSW)(8×8位元組)0001460004004263\0\0\0\0\0\r\r\v004\a\0\0\00001500001001001270004262\0\0001001001001\n004004\00001520001001001001001\n\a\0001001001001001270\L2650001540001001001001001270\t\a006001001001001270\C006緩衝區3數據的開始(relnoNE)(8×8位元組)0001560004\v001001001001001006\b0010010010010010010010001600006\n001001001001001001\0265\n0010010010010010001620\0006\t\rL001001001001\0\0261\t\n\n\n\n0001640\0\0\0006022265265\t\0\0\0\0\0\a006006緩衝區4數據的開始(relnoSE)(8×8位元組)0001660\r001001001001270\t006001001001001001270\t0060001700001001001001001\n265261001001001001\n266261\00001720001001001\n266\b261\0270270004266\b261\0\00001740\t\t\b261261\0\0\0006006261\0\0\0\0\0等。reDrawAllpublicvoidreDrawAll查找具有焦點的窗口小部件,然後查找其母體直到沒有為止。頂端窗口然後設置為看不見並且再次設置為可見。然後整個窗口將被重新繪製。上面描述的用於一個或多個圖形對象、用於在多個這樣的對象之間導航,或者用於從用戶接收輸入的各種方法可以同樣地被應用於其他區域,這些區域主要是,然而並非僅僅是,在從一個廣播供應商接收廣播的環境中。通常,一個涉及與一個用戶可視地相互作用的機頂盒的任何功能都可以使用這樣的方法。例如,一個可能具有附加子鏈的、可導航的圖標鏈能夠在一個家庭購物應用程式中使用,以允許該用戶顯示物品、查看價格、訂貨及其他,與該應用程式相互作用。用於定貨的圖形對象可以,當突出顯示時,以上面描述的方式在購買符號(例如,一個美元符號,$)和表示迄今花費的數量的文本、或者以該訂戶語言的單詞「購買」之間自動地『翻轉』。做為選擇或者另外,每當選擇該『購買』圖標時,能夠顯現一個包含以該訂戶語言的單詞『購買』的圖形對象,並且提供一個用於讓任何子鏈『懸掛』的轉移。在上述示例中的『購買』圖標可以緊接著一個當點擊時查看迄今為止進行的購買列表的圖標放置,或者緊接著另一個當點擊時設置用於剛剛購買的產品的交貨選擇的圖標放置,以便在用戶能夠導航的鏈中提供一個邏輯次序的圖標。當選擇了『購買』圖標時,能夠顯現一個具有各種輔助選項的子鏈,其在更昂貴物品的情況下可以包含不同的信貸計劃。任何需要來自該用戶的文本信息,諸如交貨的街道地址,能夠利用該虛擬鍵盤輸入。在一個電子節目指南中,能夠使用類似的方法,用於交互式地瀏覽並且顯示不同的頻道、主題以及時間和日期。依據該用戶的首選項重新布置在該鏈中的圖形選項的進一步定製化是可能的;在一個頻道鍊表的情況下,用戶的偏愛頻道能夠被組合在該鏈的頭部。這樣的一個參數選擇能夠由該用戶指示,或者由該節目推導出。用於如上所述方法的其他應用程式包含在線目錄表、按請求提供的新聞和氣象服務、遊戲、以及機頂盒的整體管理(管理它的配置,等)。在遊戲的情況下,能夠使用頭尾翻滾效果以提供遊戲中的活動性而不必需要編寫附加的方法,而且該虛擬鍵盤能夠被用作用於更高級類型遊戲的控制器的一種代替方式。同時將要理解所有如在這裡描述的那樣,使用一個遙控裝置交互作用的方法,可以通過利用一個滑鼠(或者其他指向控制器、諸如一個滾球或者操縱杆)和/或鍵盤(或者其他具有多個鍵的設備)來模擬一個遙控裝置的按鈕(例如使用在鍵盤上的數字0-9;箭頭鍵和返回鍵)或者直接地進行(例如使用該滑鼠點擊按鈕,以及鍵盤來直接輸入文本而不是使用該虛擬鍵盤)來代替或者補充。如上所述的虛擬鍵盤,例如,可以在任何具有多個鍵的設備,諸如一個遊戲機或者一個行動電話上實現。在後者的情況下,該虛擬鍵盤能夠如描述的那樣充分地顯示在電話的屏幕上(在具有一個足夠大顯示屏的電話上),或者以一個壓縮形式(在具有較小顯示屏的電話上)顯示。該虛擬鍵盤的這種壓縮可能要求一次僅僅顯示字符的一個數字塊,其更可取地是具有一個可以通過按壓向左、向右、向上和/或向下鍵(或者它們的等效體,例如在滾動類型的指向控制器情況下)來訪問的字符建議或者字符類型。該壓縮的虛擬鍵盤可以在其他應用程式中使用,尤其是在只有少量的可用空間來顯示該鍵盤的地方。術語「校驗框」可以涉及一個任何形狀的圖形對象,例如圓盤,其能夠顯示不同的狀態,更可取地是對應於『選中』和『未選中』的兩個狀態,但是有可能多於兩種狀態,而且當由該用戶點擊或者選擇時,其可以以一種一致的方式改變它的狀態。『選中』狀態可以由在該方框上的點、交叉或者其他裝飾來指示。便於參考,下面列出的、在這裡使用的術語具有以下的最佳意思HTML超文本標誌語言,一種描述在國際互鏈網上互換的文檔的語言。該文檔可以包含到站點的引用,格式化信息,聲音和圖片,等。HTTP超文本傳輸協議,一種用於在保持HTML文檔和一個顯示該HTML文檔的導航應用程式的Internet伺服器之間進行通信的協議。MPEG-2動畫專家小組,一種實時編碼動畫圖像和聲音的方法。PPP點到點協議,一種允許兩個計算機經由一個數據機聯網的遠程訪問通信協議。PROXYSERVER一個位於該伺服器上、允許安全的Internet聯接的應用程式,而且它還緩存HTTP和FTP請求。SESSION在時間中一個給定點處,在存儲器中的一種類型連結或者一個應用程式的一個實例。URL統一資源定位,一個用於在Internet上定位一個文件或者資源的地址。到一個站點的連結,指定包含在該網頁中的資源的地址。WWW全球資訊網,使用本地或者遠程文檔的Internet網絡。一個網絡文檔是一個網頁,而且在該頁中的連結允許在不同的頁之間和在不同的主題之間導航,而不管它是否位於一個本地或者遠程網絡上。GUI圖形用戶界面。WGT窗口小部件工具包。應當理解在上面已經僅僅通過示例對本發明進行了描述,能夠在本發明的範圍內對細節做出修改。在該描述中公開的每個特徵,以及(在適當處)的權利要求和附圖可獨立地提供或者以任何適當組合的形式提供。在任何或者所有的上述中,本發明的某些特徵已經使用計算機軟體實現了。然而,本領域的技術人員當然理解任何這些特徵可以使用硬體或者硬體和軟體的組合來實現。此外,容易理解由硬體、計算機軟體、等等執行的函數在電和類似信號上或者使用電和類似信號執行。涉及信息存儲的特徵可以由適當的存儲單元或者存儲器實現。涉及信息處理的特徵可以由一個適當的處理器或者控制裝置,以軟體或者以硬體或者以兩者的組合方式實現。在任何或者所有上述中,本發明可以在任何、某些或者所有以下形式中體現它可以在一種操作一種計算機系統的方法中體現;它可以在計算機系統本身中體現;它可以在當一個計算機系統被編程或者修改或者安排來執行操作那個系統的方法時,在該計算機系統中體現;和/或它可以在一個其中記錄了一個程序的計算機可讀存儲介質中體現,其中該程序適於依據操作該系統的方法進行操作。如在這裡一直使用的那樣,術語「計算機系統」可以與「計算機」、「系統」、「設備」、「裝置」、「機械」和類似術語互換使用。在該權利要求中出現的參考數字僅僅用於說明,而且應當不具有在該權利要求範圍上的限制作用。申請者因此聲明,為了避免引起爭議,他申請在附圖中的版權。權利要求1.一種在一個圖形用戶界面中控制一個圖形對象外觀的方法,包含定義一個外觀對象;以及將該外觀對象與該圖形對象關聯。2.如權利要求1所述的方法,其特徵在於該外觀對象包含確定如何顯示該圖形對象的代碼或者參數。3.如權利要求1或2所述的方法,其特徵在於該外觀對象由面向對象的程序代碼定義。4.如先前權利要求中任何一個所述的方法,其特徵在於該外觀對象可以通過實例化一個外觀對象類來定義。5.如權利要求4所述的方法,其特徵在於該外觀對象可以包含一個指向另一個外觀對象類的指針。6.如先前任一權利要求所述的方法,其特徵在於該圖形對象包含一個標識與該圖形對象相關聯的外觀對象的屬性。7.如先前任一權利要求所述的方法,進一步包含通過重新定義或者修改該外觀對象或者通過把該圖形對象與一個不同的外觀對象相關聯,來修改該圖形對象的外觀。8.如先前任一權利要求所述的方法,其特徵在於該外觀對象可以包含一個更新計數器,當該外觀對象被重新定義或者修改了時,就更新該計數器的值。9.如先前任一權利要求所述的方法,其特徵在於該外觀對象包含一個驗證掩碼,其指示能夠由該外觀對象調用的方法。10.如先前任何一個權利要求所述的方法,是一種用於在一個圖形用戶界面中控制多個圖形對象的外觀的方法,包含將該外觀對象與多個圖形對象相關聯。11.如權利要求10所述的方法,其特徵在於該多個圖形對象包含一個連結鏈。12.如先前任一權利要求所述的方法,其特徵在於該外觀對象包含一個計數器,其指示與那個外觀對象相關聯的圖形對象的數目。13.一種在一個圖形用戶界面中定義一個圖形對象的方法,包含提供一個控制該圖形對象外觀的外觀對象;以及提供一個控制該圖形對象操作的窗口小部件對象。14.如先前權利要求中任何一個所述的方法,進一步包含顯示該圖形對象。15.如先前任一權利要求所述的方法,包含定義一組可顯示的圖形對象並且將一個外觀對象與該組圖形對象相關聯。16.一種控制一組圖形對象外觀的方法,該方法包含提供用於定義多組不同的可顯示圖形對象以及用於從該多個可顯示組中選擇一組圖形對象的裝置的步驟。17.一種控制一組圖形對象外觀的方法,該方法包含定義一組可顯示的圖形對象。18.如權利要求15到17中任何一個所述的方法,其特徵在於來自於一組中的圖形對象表現不同於另一組中圖形對象的表現,例如在顏色、形狀、尺寸、紋理或者模式一個或多個方面。19.如權利要求15到18中任何一個所述的方法,其特徵在於該組圖形對象包含用於顯示圖形對象的一個連結鏈的單元。20.如權利要求15到19中任何一個所述的方法,其特徵在於該組圖形對象包含靜態對象以及活動對象。21.一種在一個圖形用戶界面中控制一個圖形對象外觀的方法,該方法包含定義該圖形對象的多個圖形對象單元用於顯示該圖形對象的一個表現。22.如權利要求21所述的方法,其特徵在於該方法包含定義多組不同的圖形對象的圖形對象單元。23.如權利要求21或者22所述的方法,包含定義一組固定單元以及一組可重複的單元。24.一種為一個圖形對象產生一套單元的方法,該方法包含定義一組為該圖形對象的實例所共用的固定單元,以及進一步定義一組可重複的單元。25.一種在一個圖形用戶界面中顯示一個圖形對象表現的方法,該方法包含組合多個圖形對象單元。26.如權利要求25所述的方法,包含顯示一組固定單元以及顯示多個可重複單元。27.一種在一個GUI中控制一個圖形對象外觀的方法,該方法包含定義一個圖形對象的第一個可顯示的表現,以及進一步定義該圖形對象的第二個可顯示的表現,其中第二表現可與第一個表現相鄰顯示。28.如權利要求27所述的方法,其特徵在於第一個表現包含一個圖標。29.如權利要求27或者28所述的方法,其特徵在於第二表現包含該圖形對象的一個文本描述。30.如權利要求27到29中任何一個所述的方法,其特徵在於第二表現可有選擇地顯示,而且最好是通過聚焦在第一個表現上顯示。31.如權利要求27到30中任何一個所述的方法,其特徵在於該方法包含定義圖形對象的一個連結鏈,且第一個以及第二個表現作為該鏈的連結是可顯示的。32.如權利要求27到31中任何一個所述的方法,包含定義一個用於連結第一個表現和第二個表現的連結單元。33.如權利要求27到31中任何一個所述的方法,包含將一個外觀對象與第一個表現、第二個表現、以及最好是該連結單元相關聯。34.一種顯示一個圖形對象的方法,該方法包含顯示該圖形對象的第一個表現,顯示該圖形對象的第二個表現,以及顯示一個連結第一個表現和第二個表現的連結單元。35.一種在一個圖形用戶界面中控制一個圖形對象外觀的方法,該方法包含定義一個圖形對象的連結鏈。36.一種在一個圖形用戶界面中控制一個圖形對象外觀的方法,該方法包含定義第一個圖形對象,定義第二個圖形對象以及定義一個用於連結圖形對象的連結單元。37.如權利要求35或者36所述的方法,其特徵在於該方法進一步包含定義一個圖形對象子鏈,該子鏈包含來自一個連結鏈的分支,更可取地是該子鏈是有選擇地可顯示的。38.一種在一個圖形用戶界面中顯示一個圖形對象表現的方法,該方法包含顯示圖形對象的表現,以及顯示一個用於說明在圖形對象之間的連結的連結單元的表現。39.如權利要求38所述的方法,其特徵在於該連結單元的表現在圖形對象的表現之間延伸,而且更可取地是該方法包含顯示圖形對象表現的一個連結鏈。40.一種在一個GUI中控制一個圖形對象外觀的方法,該方法包含定義該圖形對象的第一個表現以及該圖形對象的第二個表現,第一個和第二個表現可有選擇地顯示,更可取地是可循環顯示。41.如權利要求40所述的方法,其特徵在於第一個表現包含一個圖標,和/或第二個表現包含該圖形對象的一個文本描述。42.一種在一個GUI中顯示一個圖形對象表現的方法,該方法包含顯示該圖形對象的第一個表現,以及隨後顯示該圖形對象的第二個表現。43.如權利要求42所述的方法,其特徵在於該方法包含在第一個和第二個表現之間顯示一序列表現。44.如先前任一權利要求所述的方法,進一步包含顯示該一個或者多個圖形對象。45.如權利要求1到44中任何一個所述的方法,由一個接收器/解碼器,最好是由一個數字或者模擬電視接收機/解碼器執行,更可取地是供一個電視機使用,或者由一個行動電話執行。46.一種在一個圖形用戶界面中控制一個圖形對象外觀的裝置,包含用於定義一個外觀對象的裝置;以及用於將該外觀對象與該圖形對象關聯的裝置。47.用於控制一組圖形對象外觀的裝置,該裝置包含用於定義多組不同的可顯示圖形對象以及用於從該多個可顯示組中選擇一組圖形對象的裝置。48.用於控制一組圖形對象外觀的裝置,該裝置包含用於定義一組可顯示圖形對象的裝置。49.如權利要求47或者48所述的裝置,其特徵在於該組圖形對象包含用於顯示圖形對象的一個連結鏈的單元,和/或該組圖形對象包含靜態對象以及活動對象。50.用於在一個圖形用戶界面中控制一個圖形對象外觀的裝置,該裝置包含用於定義該圖形對象的多個圖形對象單元用以顯示該圖形對象的一個表現的裝置。51.一套用於在顯示一個圖形對象中使用的單元,包含一組為該圖形對象的實例所共用的固定單元以及一組可重複的單元。52.用於在一個圖形用戶界面中顯示一個圖形對象的一個表現的裝置,該裝置包含用於組合多個圖形對象單元的裝置。53.用於在一個GUI中控制一個圖形對象外觀的裝置,該裝置包含用於定義一個圖形對象的第一可顯示表現的裝置,和用於定義該圖形對象的第二個可顯示表現的裝置,以及用於緊鄰第一個表現顯示的第二個表現的裝置。54.如權利要求53所述的裝置,包含用於更可取地是當檢測到在第一個表現上的一個焦點時有選擇地顯示第二個表現的裝置。55.用於顯示一個圖形對象的裝置,該裝置包含用於顯示該圖形對象的第一個表現的裝置、用於顯示該圖形對象的第二個表現的裝置、以及用於顯示一個連結第一個表現和第二個表現的連結單元的裝置。56.用於在一個圖形用戶界面中控制一個圖形對象外觀的裝置,該裝置包含用於定義圖形對象的一個連結鏈的裝置。57.用於在一個圖形用戶界面中控制一個圖形對象外觀的裝置,該裝置包含用於定義第一個圖形對象、定義第二個圖形對象以及定義一個用於連結圖形對象的連結單元的裝置。58.用於在一個圖形用戶界面中顯示圖形對象表現的裝置,該裝置包含用於顯示圖形對象的表現的裝置、以及用於顯示一個用以說明在圖形對象之間的連結的連結單元的一個表現的裝置。59.用於在一個GUI中控制一個圖形對象外觀的裝置,該裝置包含用於定義該圖形對象的第一個表現及該圖形對象的第二個表現的裝置,以及包含用於有選擇地顯示第一個及第二個表現的裝置,以及更可取地是包含用於循環顯示第一個和第二個表現的裝置。60.用於在一個GUI中顯示一個圖形對象的一個表現的裝置,該裝置包含用於顯示該圖形對象的第一個表現的裝置,以及用於隨後顯示該圖形對象的第二個表現的裝置。61.如權利要求60所述的裝置,進一步包含用於在顯示第一個和第二個表現之間顯示一序列表現的裝置。62.如權利要求46到61中任何一個所述的裝置,包含一個接收器/解碼器,更可取地是包含一個數字或者模擬電視接收機/解碼器,更可取地是供一個電視機使用,或者包含一個行動電話。63.一個接收器/解碼器,包含如權利要求46到61中任何一個所述的裝置。64.一個電視系統,包含一個如權利要求63所述的接收器/解碼器,以及一臺連結到或者可以連結到該接收器/解碼器的電視機。65.在一個圖形用戶界面中的一個對象包含控制該對象操作的一個窗口小部件類的一個實例;以及控制該對象外觀的外觀對象類的一個實例。66.如權利要求65所述用於創建對象的一個窗口小部件集合,該窗口小部件集合包含多個窗口小部件類以及一個或多個外觀對象類。67.在一個圖形用戶界面中的對象包含一組圖形對象,該組對象包含活動對象和靜態對象,該圖形對象在一個連結鏈中。68.在一個圖形用戶界面中的一個對象包含一個圖形對象的第一個表現以及一個圖形對象的第二個表現,以及一個連結第一個和第二個表現的連結單元。69.一個在一個圖形用戶界面中的對象包含圖形對象的一個連結鏈。70.一個在一個圖形用戶界面中的對象包含第一個圖形對象,第二個圖形對象以及一個連結第一個和第二個圖形對象的連結單元。71.一個如權利要求69或者70所述的對象,該方法進一步包含一個圖形對象的子鏈,該子鏈包含來自於一個連結鏈的分支,更可取地是該子鏈可有選擇地顯示。72.一個在一個GUI中的對象,包含該圖形對象的第一個表現以及該圖形對象的第二個表現,第一個和第二個表現可有選擇地顯示,更可取地是可循環地顯示。73.用於實現一個圖形用戶界面的一個應用程式執行設備,包含一個處理器、存儲器、和一個用於輸出一個信號到一個顯示器的輸出埠,該存儲器中已經存儲有一段用於執行如權利要求1到45中任何一個所述的方法、或者如權利要求65或者67到72所述的一個對象,或者如權利要求66所述的一個窗口小部件集合的程序。74.如前面任一權利要求所述的一種方法、裝置、設備、對象或者窗口小部件集合,其特徵在於該外觀對象或者外觀對象類定義了一個圖形對象的至少一個以下屬性(如果給出的話)如何被顯示背景外觀;一個背景覆蓋;該前景外觀;一個前景覆蓋;凸起或者陰影的外觀;一個對象邊界的外觀;分配給該對象的任何焦點的顯示;分配給該對象的任何高亮顯示的顯示。75.一個電腦程式產品,包含用於執行下列步驟的代碼定義一個外觀對象;以及將該外觀對象與該圖形對象關聯。76.一種用於在一個圖形用戶界面中定義一個圖形對象的電腦程式產品,包含用於提供一個控制該圖形對象外觀的外觀對象的代碼;以及用於提供一個控制該圖形對象操作的窗口小部件對象的代碼。77.一個在一種控制一組圖形對象外觀的方法中使用的電腦程式產品,包含用於定義多組不同的可顯示圖形對象以及用於從該多個可顯示組中選擇一組圖形對象的代碼。78.一種在一種控制一組圖形對象外觀的方法中使用的電腦程式產品,包含用於定義一組可顯示的圖形對象的代碼。79.一種在一個圖形用戶界面中控制一個圖形對象外觀的方法中使用的電腦程式產品,包含用於定義該圖形對象的多個圖形對象單元以顯示該圖形對象的一個表現的代碼。80.一種為一個圖形對象產生一套單元的方法中使用的電腦程式產品,包含用於定義一組為該圖形對象的實例所共用的固定單元以及用於定義一組可重複單元的代碼。81.一種在一個圖形用戶界面中顯示一個圖形對象的一個表現的方法中使用的電腦程式產品,包含用於組合多個圖形對象單元的代碼。82.一種在一個GUI中控制一個圖形對象外觀的方法中使用的電腦程式產品,包含用於定義一個圖形對象的第一個可顯示表現以及用於定義該圖形對象的第二個可顯示表現的代碼,以及用於顯示緊鄰第一個表現顯示第二個表現的代碼。83.一種在顯示一個圖形對象的方法中使用的電腦程式產品,包含用於顯示該圖形對象的第一個表現、顯示該圖形對象的第二個表現、以及顯示一個連結第一個表現和第二個表現的連結單元的代碼。84.一種在一個圖形用戶界面中控制一個圖形對象外觀的方法中使用的電腦程式產品,包含用於定義圖形對象的一個連結鏈的代碼。85.一種在一個圖形用戶界面中控制一個圖形對象外觀的方法中使用的電腦程式產品,包含用於定義第一個圖形對象、定義第二個圖形對象以及定義一個用於連結圖形對象的連結單元的代碼。86.一種在一個圖形用戶界面中顯示圖形對象的表現的方法中使用的電腦程式產品,包含用於顯示圖形對象的表現以及用於顯示一個用以說明在圖形對象之間的連結的連結單元的一個表現的代碼。87.一種在一個GUI中控制一個圖形對象外觀的方法中使用的電腦程式產品,包含用於定義該圖形對象的第一個表現以及該圖形對象的第二個表現的代碼,以及用於有選擇地顯示第一個以及第二個表現,最好是循環顯示這些表現的代碼。88.一種在一個GUI中顯示一個圖形對象的一個表現的方法中使用的電腦程式產品,包含用於顯示該圖形對象的第一個表現、以及用於隨後顯示該圖形對象的第二個表現的代碼。89.如權利要求75到88中任何一個所述的電腦程式產品,供一個接收器/解碼器使用。90.一個電腦程式產品,包含一個存儲器和處理器,該存儲器中已經存儲了一個應用程式,而且該處理器(在該應用程式的控制下)適合於執行如在權利要求1到45中任何一個所述的方法。91.一種電腦程式產品,包含一段用於執行如權利要求1到45中任何一個所述的方法的程序。92.一段電腦程式,用於執行如權利要求1到45任何一個所述的方法。93.一種計算機可讀介質,其上存儲有一段用於執行如權利要求1到45中任何一個所述的方法的程序。94.一種計算機可讀介質,其上存儲有一個如權利要求75到91中任何一個所述的電腦程式產品。95.一個信號,有形地體現為一個如權利要求75到91中任何一個所述的電腦程式產品。96.一種在這裡實質上結合附圖進行描述、並在附圖中進行說明的方法。97.一種實質上在這裡結合附圖進行描述、並在附圖中進行了說明的裝置。全文摘要本發明的方面涉及一種在一個圖形用戶界面中控制一個圖形對象的外觀的方法。在本發明一個方面的一個實施例中,在一個圖形用戶界面中的一個諸如一個窗口小部件的對象,包含一個窗口小部件類的一個實例,在該類中定義了控制該對象操作的屬性和/或方法;以及一個外觀對象類的相關實例,在該類中定義了控制該對象外觀的屬性和/或方法。文檔編號G06F9/44GK1433541SQ00817972公開日2003年7月30日申請日期2000年11月1日優先權日1999年11月2日發明者B·茹埃,E·恩吉芸範霍恩,J·-S·維萊爾申請人:卡納爾股份有限公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀