新聞中心

EEPW首頁 > 光電顯示 > 設(shè)計(jì)應(yīng)用 > 平板電視OSD的結(jié)構(gòu)化界面設(shè)計(jì)

平板電視OSD的結(jié)構(gòu)化界面設(shè)計(jì)

作者: 時間:2012-06-10 來源:網(wǎng)絡(luò) 收藏

2. 包含的基本元素

本文引用地址:http://m.butianyuan.cn/article/167910.htm

  信息中主要包括以下一些基本元素(可能本文的提法未必準(zhǔn)確,希望讀者可以體會到其意思):區(qū)域、標(biāo)簽、圖標(biāo)、文字、進(jìn)度條、動畫、數(shù)字、可選圖標(biāo)、導(dǎo)航信息等。下面分別給出這些元素的定義、作用、屬性和響應(yīng)事件。

  a. 區(qū)域

  定義:在畫布中,以特定的屬性(顏色、閃爍、大小等)標(biāo)示出的矩形或任意形狀的區(qū)域。

  作用:對OSD內(nèi)容進(jìn)行分類或標(biāo)示,例如標(biāo)題區(qū)域,內(nèi)容區(qū)域等。

  屬性:位置、顏色、閃爍特性等。

  響應(yīng)事件:作為固定的信息內(nèi)容,通常對UI輸入的控制無響應(yīng)。

  b. 標(biāo)簽(Label)

  定義:固定不變的文字信息,可以是一行或多行。

  作用:對OSD內(nèi)容進(jìn)行必要的文字說明。

  

  圖3:字符型OSD結(jié)構(gòu)。

  屬性:位置、顏色、閃爍特性、語言類別、大小寫、對齊方式等。

  響應(yīng)事件:作為固定的信息內(nèi)容,通常對UI輸入的控制無響應(yīng)。

  c. 圖標(biāo)(Icon)

  定義:以特定的字符或像素組合構(gòu)成形狀,以表達(dá)可識別的信息。

  作用:對OSD內(nèi)容進(jìn)行形象的提示,如播放、禁止等特定符號。

  屬性:位置、顏色、閃爍特性等。

  響應(yīng)事件:作為固定的信息內(nèi)容,通常對UI輸入的控制無響應(yīng)。

  d. 文字(Text)

  定義:相較標(biāo)簽,其同樣為文字信息,但是可以隨用戶的操作而改變。

  作用:以隨選擇而改變的文字內(nèi)容,提供關(guān)于用戶選擇的文字提示。

  屬性:位置、顏色、語言類別、大小寫、對齊方式等。

  響應(yīng)事件:用戶的選擇,通常為上一個或下一個選擇。

  e. 進(jìn)度條(Bar)

  定義:矩形條狀的物件,隨其數(shù)值的不同而改變相關(guān)特性,未來也許會有其它形狀的此類物件,如油量表狀等,但它們都具有同樣的屬性。

  作用:以形象的圖形界面,給出關(guān)于某項(xiàng)數(shù)值的圖形說明。

  屬性:位置、顏色、上下限、當(dāng)前值、類型、大小、是否顯示數(shù)值等。

  響應(yīng)事件:數(shù)值的改變。

  f. 動畫(Movie)

  定義:隨時間而改變的圖標(biāo)組合。

  作用:以活動的圖形使OSD界面更生動,提高信息的表達(dá)效果。

  屬性:位置、顏色、具有的圖標(biāo)數(shù)目、變化速度等。

  響應(yīng)事件:作為固定的信息內(nèi)容,通常對UI輸入的控制無響應(yīng)。

  g. 數(shù)字

  定義:隨有關(guān)參數(shù)或用戶選擇改變而改變的數(shù)字組合,可以為十進(jìn)制或其它進(jìn)制,亦可以是百分比或其它數(shù)值形式。

  作用:直觀地給出關(guān)于某項(xiàng)參數(shù)的數(shù)值量化指示,通常與進(jìn)度條聯(lián)合使用,以達(dá)到直觀與形象的雙重效果。

  屬性:位置、顏色、上下限、當(dāng)前值、進(jìn)制選擇等。

  響應(yīng)事件:對應(yīng)參數(shù)的數(shù)值的改變。

  h. 可選圖標(biāo)(Option)

  定義:隨有關(guān)參數(shù)或用戶選擇改變而改變的圖標(biāo)組合。

  作用:用戶選擇的圖形化表達(dá),例如選擇、未選擇、開啟、關(guān)閉等信息的圖形化表達(dá)。

  屬性:位置、顏色、閃爍、選擇數(shù)目等。

  響應(yīng)事件:對應(yīng)參數(shù)的選擇改變。

  i. 導(dǎo)航信息

  定義:呈現(xiàn)在OSD畫布上,對當(dāng)前UI場景中的用戶操作進(jìn)行提示的信息。

  作用:指引用戶操作相關(guān)按鍵,進(jìn)行OSD內(nèi)容操作。通常具有可用按鍵的指示以及必要的文字說明,通常作為OSD提示信息的完善和人機(jī)界面友好化的措施。

  屬性:位置、顏色、閃爍等。

  響應(yīng)事件:UI場景、按鍵的改變。

  需要說明的是,上述的物件并不能涵蓋現(xiàn)在和將來所有的OSD中可能出現(xiàn)的內(nèi)容,但卻是OSD的基本的和主要的內(nèi)容,通過對它們進(jìn)行分類和進(jìn)行統(tǒng)一的處理,可以幫我們完成通常意義上的OSD的80-90%的工作。

  使用基于對象的方法處理OSD UI

  傳統(tǒng)的處理手法是將特定場景下的OSD物件逐一用代碼“畫”出來,在遇到特定的UI事件時,再利用一堆if else判斷出特定場景和操作對象,并做相應(yīng)的OSD處理。在OSD較簡單的情況下,其不失為一個可行的方法。但在遇到OSD場景和模式較多的情況下,這個if else的結(jié)構(gòu)會變得很大,而且更為重要的是極易出錯以及維護(hù)成本提高。

  隨著OSD越來越復(fù)雜以及代碼工作量的不斷提高,人們意識到我們需要花費(fèi)太多時間在這些“表面文章”上,而真正重要的應(yīng)用層和設(shè)備驅(qū)動層的開發(fā)時間會受到影響,進(jìn)而影響新產(chǎn)品的開發(fā)進(jìn)度。固件工程師也不愿不斷重復(fù)編寫同樣代碼來滿足不斷改變客戶的特定OSD需要。

  筆者早期也曾遭遇同樣的困擾,面對部門里工程師毫無效率地做著同樣的事情,感覺到開發(fā)一個統(tǒng)一的OSD UI平臺的重要性。現(xiàn)在對于上述OSD UI進(jìn)行的分析,可以讓我們開發(fā)出獨(dú)立于特定數(shù)字視頻處理器平臺和OSD發(fā)生機(jī)制的硬件環(huán)境的獨(dú)立統(tǒng)一開發(fā)工具。

  事實(shí)上,顯示芯片方案的重要提供者如Genesis、Pixelworks等為了加速其產(chǎn)品的開發(fā)和應(yīng)用速度,已經(jīng)提供了具有這樣功能的基于Windows的固件開發(fā)工具。本文試圖探討這一類工具的運(yùn)作原理,或許讀者基于本文可以開發(fā)出自己所需要的工具,當(dāng)然其應(yīng)用具有更廣泛的代表性。

  筆者在最近的液晶開發(fā)案例中使用了這樣一個結(jié)構(gòu):

  typedef struct

  {

  byte mode;//UI場景適用的模式

  byte lan; // UI語言

  byte scene; // UI場景

  byte last; // UI上個場景

  byte next; // UI下個場景

  byte sel; //UI 當(dāng)前場景對物件的選擇

  byte sel_total; //UI當(dāng)前場景中選擇項(xiàng)的總數(shù)

  byte *info; // UI的物件指針

  byte pos_v; // 物件垂直方向位置

  byte pos_h; // 物件水平方向的位置

  byte col_f; // 物件的前景顏色

  byte col_b; // 物件的背景顏色

  byte att; // 物件的其它顯示屬性

  ACT_Struct (*act)[]; // 該物件的響應(yīng)動作表指針

  byte *note; // 導(dǎo)航說明信息

  }UI_Struct;

  

  圖4:Pixelworks的GUI Builder OSD



評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉