用戶界面顯示處理方法及裝置的制造方法
【技術領域】
[0001]本發(fā)明涉及電視技術領域,尤其涉及用戶界面顯示處理方法及裝置。
【背景技術】
[0002]眾所周知,Android操作系統(tǒng)由Linux內核、庫、Dalvik虛擬機、Android應用框架等組成。在智能電視系統(tǒng)中,Android應用進行圖形界面繪制的方式通常是基于Dalvik虛擬機和Android視窗框架,因此導致應用程序的依賴性較高,可移植性較差。
【發(fā)明內容】
[0003]本發(fā)明的主要目的在于提供一種用戶界面顯示處理方法及裝置,旨在提高應用程序的可移植性。
[0004]為實現(xiàn)上述目的,本發(fā)明提供的一種用戶界面顯示處理方法包括以下步驟:
[0005]向Surface管理器申請Surface作為繪制界面的畫板;
[0006]將初始化后的OpenGL ES與申請作為畫板的Surface綁定;
[0007]控制OpenGL ES的函數(shù)在所述申請作為畫板的Surface上進行界面繪制;
[0008]在界面繪制完成后,將所有的Surface組合形成畫板窗口數(shù)據(jù)與顯示幀緩沖窗口數(shù)據(jù)交換;
[0009]將交換后的顯示幀緩沖窗口數(shù)據(jù)輸出顯示。
[0010]優(yōu)選地,所述控制OpenGL ES的函數(shù)在所述申請作為畫板的Surface上進行界面繪制包括:
[0011]控制OpenGL ES的函數(shù)利用OpenGL ES的圖形函數(shù)在所述申請作為畫板的Surface上繪制圖形,以形成界面;或者,
[0012]控制OpenGL ES的函數(shù)利用紋理貼圖在所述申請作為畫板的Surface上進行貼圖處理,以形成界面。
[0013]優(yōu)選地,在控制OpenGL ES的函數(shù)繪制界面時,利用多張界面圖片實現(xiàn)界面的動畫顯示,或者,利用OpenGL ES的植染變換實現(xiàn)界面的動畫顯示。
[0014]優(yōu)選地,所述用戶界面顯示處理方法還包括:
[0015]與預置的殼程序建立通訊機制;
[0016]接收并處理所述殼程序轉發(fā)的操作信息;所述操作信息為所述殼程序接收到的輸入信息與預置的窗口管理器的指令。
[0017]優(yōu)選地,所述用戶界面顯示處理方法還包括:
[0018]偵測到用戶界面顯示指令時,調用showO函數(shù)顯示所述幀緩沖窗口數(shù)據(jù)對應的界面;
[0019]偵測到用戶界面隱藏指令時,調用hide ()函數(shù)隱藏所述幀緩沖窗口數(shù)據(jù)對應的界面。
[0020]此外,為實現(xiàn)上述目的,本發(fā)明還提供一種用戶界面顯示處理裝置包括:
[0021]畫板申請模塊,用于向Surface管理器申請Surface作為繪制界面的畫板;
[0022]綁定模塊,用于將初始化后的OpenGL ES與申請作為畫板的Surface綁定;
[0023]控制模塊,用于控制OpenGL ES的函數(shù)在所述申請作為畫板的Surface上進行界面繪制;
[0024]數(shù)據(jù)交換模塊,用于在界面繪制完成后,將所有的Surface組合形成畫板窗口數(shù)據(jù)與顯示幀緩沖窗口數(shù)據(jù)交換;
[0025]輸出模塊,用于將交換后的顯示幀緩沖窗口數(shù)據(jù)輸出顯示。
[0026]優(yōu)選地,所述控制模塊具體用于:
[0027]控制OpenGL ES的函數(shù)利用OpenGL ES的圖形函數(shù)在所述申請作為畫板的Surface上繪制圖形,以形成界面;或者,
[0028]控制OpenGL ES的函數(shù)利用紋理貼圖在所述申請作為畫板的Surface上進行貼圖處理,以形成界面。
[0029]優(yōu)選地,所述控制模塊還用于,在控制OpenGL ES的函數(shù)繪制界面時,利用多張界面圖片實現(xiàn)界面的動畫顯示,或者,利用OpenGL ES的渲染變換實現(xiàn)界面的動畫顯示。
[0030]優(yōu)選地,所述用戶界面顯示處理裝置還包括:
[0031]通訊模塊,用于與預置的殼程序建立通訊機制;
[0032]接收模塊,用于接收并處理所述殼程序轉發(fā)的操作信息;所述操作信息為所述殼程序接收到的輸入信息與預置的窗口管理器的指令。
[0033]優(yōu)選地,所述用戶界面顯示處理裝置還包括:
[0034]調用模塊,用于偵測到用戶界面顯示指令時,調用showO函數(shù)顯示所述幀緩沖窗口數(shù)據(jù)對應的界面;偵測到用戶界面隱藏指令時,調用hide ()函數(shù)隱藏所述幀緩沖窗口數(shù)據(jù)對應的界面。
[0035]本發(fā)明實施例通過向Surface管理器申請Surface作為繪制界面的畫板;將初始化后的OpenGL ES與申請作為畫板的Surface綁定;控制OpenGL ES的函數(shù)在所述申請作為畫板的Surface上進行界面繪制;在界面繪制完成后,將所有的Surface組合形成畫板窗口數(shù)據(jù)與顯示幀緩沖窗口數(shù)據(jù)交換;將交換后的顯示幀緩沖窗口數(shù)據(jù)輸出顯示。由于本發(fā)明實施例可以顯現(xiàn)用戶界面的繪制和顯示既能夠不依賴Android視窗框架、又不依賴Dalvik虛擬機就能運行,提高了應用程序的可移植性。
【附圖說明】
[0036]圖1為本發(fā)明用戶界面顯示處理方法一實施例的流程示意圖;
[0037]圖2為本發(fā)明用戶界面顯示處理方法另一實施例的流程示意圖;
[0038]圖3為本發(fā)明用戶界面顯示處理裝置一實施例的功能模塊示意圖;
[0039]圖4為本發(fā)明用戶界面顯示處理裝置另一實施例的功能模塊示意圖;
[0040]圖5為本發(fā)明用戶界面顯示處理裝置又一實施例的功能模塊示意圖。
[0041]本發(fā)明目的的實現(xiàn)、功能特點及優(yōu)點將結合實施例,參照附圖做進一步說明。
【具體實施方式】
[0042]應當理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
[0043]本發(fā)明主要的目的在于如何實現(xiàn)一套UI (User Interface,用戶界面)繪制,既能夠不依賴Android視窗框架、又不依賴Dalvik虛擬機就能運行。而且這套UI的繪制既能獨立運行,又能與Android視窗框架同時無縫結合運行,用戶操作起來,跟普通的應用程序毫無區(qū)別?;谶@套UI的繪制,可以很方便地實現(xiàn)懸浮界面的繪制。在需要顯示的時候,能夠實現(xiàn)立即顯示的速度,在需要隱藏的時候,也能做到立即顯示。
[0044]參照圖1,在一實施例中,該用戶界面顯示處理方法包括以下步驟:
[0045]步驟S10,向Surface管理器申請Surface作為繪制界面的畫板;
[0046]由于需要在終端的屏幕上進行用戶界面繪制,所以必須申請一塊可以進行繪畫的畫板。這塊畫板可以是硬件上的幀緩沖,也可以是受操作系統(tǒng)管理的一塊顯示對象。由于本發(fā)明需要與Android視窗框架同時無縫結合運行,所以本發(fā)明向Android的Surface管理器(SurfaceFlinger)申請一個Surface作為繪制界面的畫板顯示層。
[0047]步驟S20,將初始化后的OpenGL ES與申請作為畫板的Surface綁定;
[0048]具體地,OpenGL ES (OpenGL for Embedded Systems)是 OpenGL 三維圖形 API的子集,針對手機、PDA和游戲主機等嵌入式設備而設計。該API由Khronos集團定義推廣,Khronos是一個圖形軟硬件行業(yè)協(xié)會,該協(xié)會主要關注圖形和多媒體方面的開放標準。OpenGL ES是免授權費的,跨平臺的,功能完善的2D和3D圖形應用程序接口 API,主要針對多種嵌入式系統(tǒng)專門設計-包括控制臺、移動電話、手持設備、家電設備和汽車。它由精心定義的桌面OpenGL子集組成,倉ij造了軟件與圖形加速間靈活強大的底層交互接口。OpenGLES包含浮點運算和定點運算系統(tǒng)描述以及EGL針對便攜設備的本地視窗系統(tǒng)規(guī)范。OpenGLES 1.X面向功能固定的硬件所設計并提供加速支持、圖形質量及性能標準。OpenGL ES 2. X則提供包括遮蓋器技術在內的全可編程3D圖形算法。
[0049]在OpenGL ES與Surface綁定后,OpenGL ES就可以與本地系統(tǒng)的窗口系統(tǒng)進行通信,以使得OpenGL ES的數(shù)學圖形運算能夠在Surface上進行展示。在運行OpenGL ES之前首先需要對OpenGL ES進行初始話處理,在進行初始化處理后,再將OpenGL ES與Surface綁定。
[0050]步驟S30,控制OpenGL ES的函數(shù)在所述申請作為畫板的Surface上進行界面繪制;
[0051]本實施例中,需要使用OpenGL ES的函數(shù)進行界面繪制。具體地,在進行用戶界面繪制時,可以直接使用OpenGL ES的函數(shù)在上述Surface