亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        適用于機(jī)頂盒的嵌入式窗口系統(tǒng)開(kāi)發(fā)

        2010-04-17 03:34:24
        電視技術(shù) 2010年8期
        關(guān)鍵詞:管理器機(jī)頂盒繪圖

        劉 暢

        (中國(guó)電子科技集團(tuán)公司第三研究所,北京 100015)

        1 引言

        作為一種面向最終用戶的消費(fèi)電子產(chǎn)品,用戶界面的設(shè)計(jì)在機(jī)頂盒軟件的開(kāi)發(fā)中占有越來(lái)越重要的地位。界面軟件的設(shè)計(jì)以用戶為中心,其目的是讓用戶能夠用最簡(jiǎn)單有效的方式完成交互操作,圖形界面作為有效提高用戶易用性的手段被廣泛使用。圖形用戶界面的設(shè)計(jì)具有復(fù)雜度高、需求多變、可重用性差的特點(diǎn),而在實(shí)際工程中具有開(kāi)發(fā)周期長(zhǎng)、穩(wěn)定性低、模塊化程度低等問(wèn)題[1-3]。

        導(dǎo)致產(chǎn)生上述問(wèn)題的一個(gè)重要因素是:機(jī)頂盒軟件基于嵌入式實(shí)時(shí)操作系統(tǒng)開(kāi)發(fā),而此類操作系統(tǒng)一般沒(méi)有對(duì)圖形用戶界面的特殊支持,用戶界面往往被簡(jiǎn)單劃分為用戶層軟件的一部分,其實(shí)現(xiàn)與具體的界面設(shè)計(jì)方案耦合過(guò)強(qiáng)。解決此問(wèn)題的有效方法是:定義一個(gè)適用于界面開(kāi)發(fā)的中間層模塊,為圖形界面的開(kāi)發(fā)提供必要支持[4]。圖1為一個(gè)典型的采用此種設(shè)計(jì)模式的機(jī)頂盒系統(tǒng)結(jié)構(gòu)。

        與傳統(tǒng)的機(jī)頂盒軟件相比,其最顯著的區(qū)別是新增了一個(gè)位于中間層的軟件模塊,為圖形界面的開(kāi)發(fā)提供必要的支持。而基于窗口系統(tǒng)的圖形界面系統(tǒng)是目前應(yīng)用最為廣泛的技術(shù)。由于硬件機(jī)能的限制,機(jī)頂盒通常不能支持PC上常見(jiàn)的復(fù)雜圖形系統(tǒng)。筆者介紹了一種適用于機(jī)頂盒的輕量級(jí)圖形系統(tǒng),該系統(tǒng)能夠有效完成大多數(shù)界面設(shè)計(jì)的需求,同時(shí)保持很高的性能和靈活性。

        圖1 基于圖形系統(tǒng)的機(jī)頂盒軟件結(jié)構(gòu)

        2 窗口系統(tǒng)的整體結(jié)構(gòu)

        本設(shè)計(jì)中的窗口系統(tǒng)的基本功能包括標(biāo)量及矢量圖形繪制、屏幕區(qū)域管理、窗口管理和分發(fā)輸入事件,提供常用界面控件以及應(yīng)用編程接口。該系統(tǒng)采用層次化設(shè)計(jì)思想,每一層均可根據(jù)工程中的實(shí)際需要進(jìn)行修改,而不會(huì)對(duì)系統(tǒng)的整體結(jié)構(gòu)造成影響。該系統(tǒng)的結(jié)構(gòu)模型如圖 2所示[5]。

        圖2 窗口系統(tǒng)結(jié)構(gòu)模型

        在底層,驅(qū)動(dòng)程序?yàn)樵L問(wèn)圖形設(shè)備和輸入設(shè)備提供最基本的支持。在目前常見(jiàn)的機(jī)頂盒系統(tǒng)中,圖形硬件通常包括二維圖形加速器,而輸入設(shè)備在多數(shù)情況下為遙控器和機(jī)頂盒控制面板。

        在中間層,該系統(tǒng)實(shí)現(xiàn)了一個(gè)與硬件無(wú)關(guān)的繪圖引擎,提供了常用的標(biāo)量圖繪制和少量的矢量圖繪制功能,同時(shí)提供對(duì)屏幕緩沖區(qū)的管理和裁剪區(qū)域的支持。

        在上層,窗口管理器提供了窗口系統(tǒng)的大部分核心功能,如窗口的創(chuàng)建和管理、窗口的重繪,以及對(duì)輸入事件的分發(fā)等功能。

        應(yīng)用程序通過(guò)窗口管理器提供了編程接口與圖形系統(tǒng)交互,為保證用戶界面的一致性并提高開(kāi)發(fā)效率,該系統(tǒng)同時(shí)包含常用的界面控件庫(kù),提供諸如按鈕、列表等常用圖形控件。基于該系統(tǒng)開(kāi)發(fā)的應(yīng)用完全與具體的硬件和操作系統(tǒng)隔離,可以很方便地移植到不同的機(jī)頂盒平臺(tái)上。

        3 繪圖引擎

        繪圖引擎是整個(gè)圖形系統(tǒng)的重要組成部分,主要功能包括[6]:1)管理屏幕緩沖區(qū)和顯示內(nèi)存。2)提供對(duì)窗口區(qū)域的管理和屏幕裁剪的支持。3)提供對(duì)矢量圖、標(biāo)量圖以及矢量字庫(kù)的支持。4)為上層模塊提供與設(shè)備無(wú)關(guān)的編程接口。繪圖引擎的結(jié)構(gòu)如圖3所示。

        圖3 與硬件無(wú)關(guān)的繪圖引擎結(jié)構(gòu)圖

        繪圖引擎直接操縱下層硬件設(shè)備,并為上層模塊提供與設(shè)備無(wú)關(guān)的編程接口,是整個(gè)圖形系統(tǒng)跨平臺(tái)性的保證。繪圖引擎所提供的各項(xiàng)功能對(duì)窗口系統(tǒng)也是非常關(guān)鍵的。

        3.1 屏幕緩沖區(qū)管理

        當(dāng)前主流機(jī)頂盒系統(tǒng)的顯示設(shè)備無(wú)一例外地采用幀緩存設(shè)計(jì),屏幕上顯示的內(nèi)容對(duì)應(yīng)于顯示內(nèi)存中的一幀圖像數(shù)據(jù)。機(jī)頂盒軟件向幀緩存中寫入數(shù)據(jù),顯示設(shè)備從同一個(gè)緩存中讀取數(shù)據(jù),進(jìn)而更新屏幕上顯示的圖像內(nèi)容。

        管理屏幕緩沖區(qū)需要解決2個(gè)基本問(wèn)題:確保寫入緩存的數(shù)據(jù)符合當(dāng)前顯示設(shè)備的顯示模式,以及保證幀緩存中數(shù)據(jù)的完整性,避免在機(jī)頂盒軟件更新幀緩存時(shí),屏幕圖像產(chǎn)生抖動(dòng)。

        圖形顯示模式?jīng)Q定了幀緩存中的數(shù)據(jù)格式,即色深和內(nèi)存排布方式。機(jī)頂盒軟件必須采用設(shè)備要求的顯示模式向緩存中寫入圖像數(shù)據(jù),否則顯示設(shè)備無(wú)法顯示正確的圖像信息。不同的硬件設(shè)備和圖形模式下,寫入幀緩存中的數(shù)據(jù)格式差異很大。為了避免這些差異對(duì)上層軟件的影響,圖形引擎通過(guò)一系列宏定義,為不同的顯示模式生成正確的顏色數(shù)據(jù),例如定義如下的宏來(lái)寫入32位的像素?cái)?shù)據(jù):#define ARGB_8888(a,r,g,b),(a)<<24|(r)|(g)<<8|(b)<<16。

        不同于桌面計(jì)算機(jī)系統(tǒng),機(jī)頂盒系統(tǒng)的顯示模式在出廠后是不可改變的,因此圖形引擎通過(guò)條件編譯,選擇一種匹配當(dāng)前系統(tǒng)顏色模式的數(shù)據(jù)格式作為通用的像素表示:#define ARGB ARGB_8888。上層模塊只需統(tǒng)一使用ARGB宏定義顏色即可,無(wú)須考慮具體的硬件顯示模式。

        在保證數(shù)據(jù)格式正確的同時(shí),機(jī)頂盒軟件還會(huì)面臨屏幕內(nèi)容與幀緩存內(nèi)容同步的問(wèn)題。在軟件繪制屏幕圖像的過(guò)程中,往往會(huì)多次更新屏幕同一個(gè)像素的內(nèi)容。例如,應(yīng)用程序需要更改屏幕上顯示的文字,通常的做法是先將屏幕上相應(yīng)的區(qū)域用背景色完全填充,然后重新繪制新的文字內(nèi)容。這樣做比先計(jì)算不同的文字更改了哪些像素,然后只更新受影響的像素開(kāi)銷更低。然而其帶來(lái)的影響是:尚未完全更新的圖像(清空的背景)可能會(huì)短暫顯示在屏幕上,從而造成圖像閃爍。

        為了保證幀緩存中圖像的完整性,繪圖引擎使用多緩沖技術(shù)。也就是在顯存中分配多個(gè)緩沖區(qū),任意時(shí)刻僅將其中的一幀作為當(dāng)前顯示幀。機(jī)頂盒軟件在工作時(shí)只向非當(dāng)前屏幕顯示幀中寫入將要顯示的幀數(shù)據(jù),當(dāng)全部繪圖操作完成后,再將當(dāng)前的顯示幀切換到已經(jīng)繪制完成的幀緩存中去,這樣避免了圖像閃爍的發(fā)生。

        使用多重緩沖勢(shì)必會(huì)帶來(lái)顯存的開(kāi)銷,因此在機(jī)頂盒系統(tǒng)中,繪圖引擎只使用2塊幀緩存。幀緩存的管理對(duì)上層應(yīng)用是透明的,繪圖引擎對(duì)上層提供以下2個(gè)編程接口:BeginPaint和EndPaint,用來(lái)標(biāo)識(shí)1次屏幕更新的開(kāi)始和結(jié)束。幀緩存的切換在EndPaint調(diào)用時(shí)進(jìn)行。

        3.2 屏幕區(qū)域和裁剪

        屏幕區(qū)域是指在屏幕上的一系列像素構(gòu)成的集合??紤]到機(jī)頂盒系統(tǒng)的限制和實(shí)際工程的需要,繪圖引擎僅支持矩形的屏幕區(qū)域。上層應(yīng)用可以使用編程接口AllocateRegion和DestroyRegion來(lái)分配或銷毀區(qū)域。

        屏幕區(qū)域的主要使用者是上層的窗口管理器,因?yàn)槠聊粎^(qū)域?qū)?yīng)一個(gè)窗口,因此最重要的功能是完成對(duì)繪圖內(nèi)容的裁剪。在任意時(shí)刻,繪圖引擎僅支持一個(gè)活動(dòng)區(qū)域作為當(dāng)前的裁剪區(qū)域。任何繪圖指令都只會(huì)影響該區(qū)域中的幀緩存內(nèi)的數(shù)據(jù),超出該區(qū)域的部分不會(huì)發(fā)生變化。上層模塊可以通過(guò)SetClipRegion接口來(lái)設(shè)置當(dāng)前的裁剪區(qū)域。

        圖形引擎中提供了對(duì)軟件和硬件裁剪的支持,由于軟件裁剪的速度較慢,而主流的機(jī)頂盒平臺(tái)均已提供對(duì)硬件裁剪的支持,硬件裁剪是首選的實(shí)現(xiàn)方式。

        3.3 繪圖編程接口

        在對(duì)幀緩存和裁剪支持的基礎(chǔ)上,繪圖引擎提供了一系列繪圖接口供上層模塊使用??紤]到在實(shí)際工程中,機(jī)頂盒上的界面軟件往往僅使用標(biāo)量繪圖,因而繪圖引擎提供的圖形接口包括:

        1)繪制線段。實(shí)際工程中通常不需要繪制除水平和垂直線段之外的任意角度線段。繪圖引擎會(huì)對(duì)這2類特殊線段提供硬件加速支持。

        2)繪制標(biāo)量圖。這是在機(jī)頂盒系統(tǒng)上最為常用的圖形操作,包括對(duì)標(biāo)量圖形的顯示、縮放,以及基于透明度的混合等,所有操作都提供硬件加速支持。

        3)文字顯示。繪圖引擎提供對(duì)矢量和標(biāo)量字庫(kù)的支持。用于顯示固定或任意大小的文字。

        4 窗口管理器

        基于繪圖引擎提供的繪圖能力,窗口管理器將屏幕劃分為任意的矩形區(qū)域,每個(gè)區(qū)域作為一個(gè)窗口,提供給上層應(yīng)用程序,是應(yīng)用可編程的最基本屏幕單元。窗口管理器實(shí)現(xiàn)對(duì)窗口的管理,例如窗口的創(chuàng)建和銷毀、窗口的布局等。窗口管理器作為整個(gè)圖形系統(tǒng)的最上層,是上層應(yīng)用訪問(wèn)圖形系統(tǒng)的唯一入口,因此窗口管理器提供了絕大部分的應(yīng)用編程接口,其結(jié)構(gòu)如圖4所示。

        圖4 窗口管理器結(jié)構(gòu)圖

        在窗口管理器中,各種輸入設(shè)備產(chǎn)生的事件通過(guò)消息隊(duì)列分發(fā)到窗口系統(tǒng)的各個(gè)窗口中,窗口通過(guò)處理不同的消息來(lái)更新其在屏幕上的顯示內(nèi)容,從而完成與用戶的交互。

        4.1 消息隊(duì)列和消息傳遞

        窗口間的基本通信機(jī)制是窗口消息,每條消息由1個(gè)消息編號(hào)以及2個(gè)32位的參數(shù)構(gòu)成。窗口消息存儲(chǔ)在應(yīng)用程序的消息隊(duì)列中,每個(gè)使用窗口管理器的線程都有一個(gè)消息隊(duì)列。在實(shí)際工程中,機(jī)頂盒系統(tǒng)往往采用基于微內(nèi)核結(jié)構(gòu)的實(shí)時(shí)操作系統(tǒng),在這樣的系統(tǒng)中,每個(gè)任務(wù)通常都已經(jīng)有一個(gè)消息隊(duì)列,因此窗口管理器會(huì)重用該任務(wù)的消息隊(duì)列來(lái)傳遞窗口消息。

        窗口系統(tǒng)中的消息分為3類:

        1)輸入設(shè)備消息。通常是遙控器或控制面板按鍵產(chǎn)生的消息,此類消息會(huì)被窗口管理器分發(fā)給當(dāng)前具有輸入焦點(diǎn)的窗口。在任意時(shí)刻,系統(tǒng)中最多只有一個(gè)窗口具有輸入焦點(diǎn),通常是一個(gè)編輯框窗口。

        2)普通窗口消息。此類消息發(fā)送給某個(gè)特定的窗口,發(fā)送方在發(fā)送消息時(shí),必須正確指定目的窗口的窗口句柄。

        3)系統(tǒng)廣播消息。當(dāng)系統(tǒng)中的硬件設(shè)備產(chǎn)生特定事件,需要提示用戶注意時(shí),產(chǎn)生此類消息。這些消息不對(duì)應(yīng)特定窗口。往往由應(yīng)用程序決定如何處理。

        應(yīng)用程序通過(guò)調(diào)用GetMessage接口來(lái)獲取隊(duì)列中的窗口消息,該函數(shù)的調(diào)用會(huì)被阻塞,直到有新的窗口消息到達(dá)。當(dāng)新的消息到達(dá)后,應(yīng)用通過(guò)DispatchMessage接口將收到的消息分發(fā)給特定的窗口處理。

        系統(tǒng)中的每個(gè)窗口都需要提供與其相關(guān)聯(lián)的消息處理函數(shù),窗口管理器在分發(fā)消息的過(guò)程中,通過(guò)調(diào)用相關(guān)窗口的消息處理函數(shù)來(lái)處理消息。窗口管理器同時(shí)提供了缺省的消息處理函數(shù)DefWindowProc(),用于統(tǒng)一處理常見(jiàn)的消息,例如改變窗口的位置和大小。窗口的消息處理函數(shù)應(yīng)當(dāng)將自身不處理的消息交給缺省消息處理函數(shù)處理。

        當(dāng)應(yīng)用程序通過(guò)窗口管理器發(fā)送消息時(shí),有2種方式可供選擇:1)異步發(fā)送。消息被放置到消息隊(duì)列中,當(dāng)下一次調(diào)用GetMessage()時(shí)該消息被處理。采用此種發(fā)送方式時(shí),消息的發(fā)送方不能確認(rèn)接收方何時(shí)會(huì)處理該消息。2)同步發(fā)送。此時(shí)消息并不會(huì)被放置在消息隊(duì)列中,窗口管理器直接調(diào)用目標(biāo)窗口的消息處理函數(shù)。此時(shí)消息傳遞等同于函數(shù)調(diào)用,因此發(fā)送方能夠確定接收方會(huì)立刻處理該消息。

        此消息傳遞機(jī)制的存在使窗口管理器能夠通過(guò)發(fā)送消息來(lái)管理和協(xié)調(diào)系統(tǒng)中所有窗口的功能,例如在創(chuàng)建和銷毀窗口時(shí)發(fā)送特定消息,同時(shí)也能夠通過(guò)缺省的消息處理函數(shù)保證各個(gè)窗口在基本交互行為上的一致性。

        4.2 窗口樹

        圖形用戶界面中的界面元素自然形成一顆樹,因此窗口系統(tǒng)中的窗口以樹形結(jié)構(gòu)存放在窗口管理器中。窗口樹中重要的操作包括:窗口的創(chuàng)建和銷毀、窗口的遮擋關(guān)系和窗口的顯示和隱藏。

        1)窗口的創(chuàng)建和銷毀

        創(chuàng)建和銷毀窗口對(duì)應(yīng)于窗口樹上節(jié)點(diǎn)的插入和刪除操作。窗口樹的根節(jié)點(diǎn)由窗口管理器創(chuàng)建,應(yīng)用程序創(chuàng)建新的窗口時(shí)應(yīng)當(dāng)指定該窗口的父窗口。如果父窗口為空,窗口管理器會(huì)將根節(jié)點(diǎn)作為其父節(jié)點(diǎn)。窗口管理器將新建的窗口節(jié)點(diǎn)的指針?lè)祷亟o上層應(yīng)用作為窗口句柄,窗口句柄將被用于絕大多數(shù)窗口系統(tǒng)的編程接口中,用于快速定位窗口樹中的特定節(jié)點(diǎn)。

        2)窗口的遮擋關(guān)系

        窗口之間的遮擋關(guān)系可以通過(guò)相應(yīng)節(jié)點(diǎn)在樹中的位置確定:高度相同的窗口節(jié)點(diǎn)之間,左鄰居遮擋右鄰居;高度不同的窗口節(jié)點(diǎn)之間,子節(jié)點(diǎn)遮擋父節(jié)點(diǎn)。窗口間默認(rèn)的Z序在創(chuàng)建窗口時(shí)被確定,新創(chuàng)建的窗口遮擋已經(jīng)創(chuàng)建的窗口。窗口管理器同時(shí)提供調(diào)整Z序的編程接口,用于調(diào)整同一高度的窗口節(jié)點(diǎn)之間的相互關(guān)系。

        3)窗口的顯示和隱藏

        應(yīng)用可以通過(guò)設(shè)置窗口的屬性來(lái)顯示或隱藏某個(gè)窗口,隱藏的窗口不會(huì)被銷毀。窗口管理器在遍歷窗口樹時(shí)會(huì)檢查相應(yīng)的屬性,如果窗口被隱藏,該節(jié)點(diǎn)及其所有子節(jié)點(diǎn)會(huì)被跳過(guò),從而不會(huì)出現(xiàn)在屏幕上。

        4.3 窗口布局和屏幕重繪

        窗口的重繪過(guò)程等效于在該窗口樹上的中序遍歷,圖5為簡(jiǎn)單窗口樹實(shí)例。

        桌面作為覆蓋整個(gè)屏幕的窗口被最先繪制,由于頂層窗口2具有更高的Z序,因此系統(tǒng)首先繪制窗口1及其所有子窗口,然后繪制窗口2,進(jìn)而完成對(duì)所有屏幕元素的重繪。

        為了提高繪圖效率,窗口管理器在重繪屏幕時(shí)采用2次遍歷的方式。第1次遍歷時(shí),系統(tǒng)僅根據(jù)Z序計(jì)算各個(gè)窗口需要重繪區(qū)域的外接矩形,進(jìn)而判斷出哪些窗口由于完全被遮擋而不需重繪。第2次遍歷時(shí),完成實(shí)際的重繪過(guò)程。以圖5為例,如果窗口2具有與窗口1同樣的位置,則窗口1的重繪將被忽略,進(jìn)而提高重繪過(guò)程的效率。

        窗口管理器提供在窗口中繪圖的編程接口,這些編程接口大多對(duì)應(yīng)繪圖引擎中的相應(yīng)函數(shù),窗口管理器在調(diào)用繪圖引擎前完成的額外操作包括:

        1)坐標(biāo)變換。應(yīng)用程序通過(guò)窗口管理器繪圖時(shí)需要指定特定的窗口句柄作為繪圖的目標(biāo),繪圖時(shí)所有坐標(biāo)均是窗口坐標(biāo),即以窗口左上角為原點(diǎn)的坐標(biāo)。這樣當(dāng)窗口被移動(dòng)時(shí),所有繪圖指令在窗口內(nèi)仍然有效。在調(diào)用繪圖引擎前,窗口管理器根據(jù)當(dāng)前窗口的實(shí)際位置完成窗口坐標(biāo)到屏幕坐標(biāo)的轉(zhuǎn)換,然后以屏幕坐標(biāo)作為參數(shù)調(diào)用繪圖引擎的相應(yīng)接口。

        2)設(shè)定裁剪區(qū)域。窗口自然映射到繪圖引擎中的裁剪區(qū)域,為了保證任何繪圖指令只影響某一個(gè)窗口內(nèi)的內(nèi)容,窗口管理器首先根據(jù)指令中的窗口句柄設(shè)置相應(yīng)的裁剪區(qū)域,然后再進(jìn)行實(shí)際的繪圖操作。

        4.4 常用界面控件庫(kù)

        采用上述窗口管理器,應(yīng)用程序已經(jīng)可以開(kāi)發(fā)各類圖形用戶界面。本文的圖形系統(tǒng)中,常用的界面元素被包含在窗口管理器中提供給應(yīng)用程序使用。界面控件庫(kù)是基于該系統(tǒng)窗口的實(shí)現(xiàn),包括按鈕、選單、列表、編輯輸入框和分頁(yè)顯示控件等。應(yīng)用程序通過(guò)創(chuàng)建某類控件窗口的實(shí)例來(lái)使用該控件庫(kù)。

        5 小結(jié)

        通過(guò)筆者介紹的方法實(shí)現(xiàn)的嵌入式窗口系統(tǒng),應(yīng)用于廣東南方銀視網(wǎng)絡(luò)傳媒有限公司的各種類型機(jī)頂盒軟件中。該軟件可移植性高,操作靈活,邏輯清晰,性能穩(wěn)定,上層開(kāi)發(fā)簡(jiǎn)便,界面優(yōu)美,受到用戶的肯定和好評(píng)。

        [1] 陳卉,劉衛(wèi)忠,馮卓明.嵌入式平臺(tái)下GUI工具的設(shè)計(jì)[J].電視技術(shù),2007,31(2):29-31.

        [2] 彭文,陳虹,羅惠瓊.嵌入式窗口系統(tǒng)的研究與實(shí)現(xiàn)[J].計(jì)算機(jī)應(yīng)用研究, 2002(9):104-107.

        [3] 李升亮,徐劍峰,李峻林.嵌入式系統(tǒng)中的多窗口GUI系統(tǒng)的研究[J].計(jì)算機(jī)與數(shù)字工程, 2008(10):126-128.

        [4] 陳雁飛,趙岳松,陳榕.基于構(gòu)件技術(shù)的嵌入式GUI系統(tǒng)[J].計(jì)算機(jī)工程與設(shè)計(jì), 2006, 27(4):561-564.

        [5] 丁茂順.用戶接口技術(shù)與交互系統(tǒng)構(gòu)造方法[M].北京:科學(xué)出版社,1992.

        [6] 孫家廣.計(jì)算機(jī)圖形學(xué)[M].北京:清華大學(xué)出版社,1998.

        猜你喜歡
        管理器機(jī)頂盒繪圖
        來(lái)自河流的你
        “禾下乘涼圖”繪圖人
        應(yīng)急狀態(tài)啟動(dòng)磁盤管理器
        安全使用機(jī)頂盒注意五點(diǎn)
        Windows文件緩沖處理技術(shù)概述
        基于HTML5 Canvas繪圖技術(shù)應(yīng)用
        數(shù)字電視機(jī)頂盒軟件自動(dòng)測(cè)試系統(tǒng)的開(kāi)發(fā)及應(yīng)用
        有線電視高清數(shù)字電視機(jī)頂盒測(cè)試系統(tǒng)的構(gòu)建
        Surfer和ArcView結(jié)合在氣象繪圖中的應(yīng)用
        河北遙感(2015年2期)2015-07-18 11:11:14
        What is Apple Watch All About?
        波多野结衣国产一区二区三区| 国产亚洲aⅴ在线电影| 久久99国产综合精品| 色翁荡息又大又硬又粗又视频图片| 福利视频一二区| 成人在线视频亚洲国产| 青青草精品在线视频观看 | 日日碰狠狠添天天爽| 乱码一二区在线亚洲| 青青草视频原手机在线观看| 精品露脸熟女区一粉嫩av| 久久精品国产免费观看| 国产精品久免费的黄网站| 国产三级在线看完整版| 亚洲国产精品国自产拍性色| 国产乱人激情h在线观看| 欧美激情在线不卡视频网站 | 国产一区二区三区在线av| 精品露脸国产偷人在视频| 久久精品中文字幕一区| 国内精品久久久久影院蜜芽| 国产亚洲精品一区在线| 久久精品国产久精国产果冻传媒| 久久久窝窝午夜精品| 精品视频一区二区杨幂| 97成人精品国语自产拍| 人妻丝袜无码国产一区| 亚洲中文字幕久爱亚洲伊人| 亚洲中文字幕一区精品| 国产国产裸模裸模私拍视频| 98bb国产精品视频| 一区两区三区视频在线观看| 国产一区高清在线观看| 亚洲一线二线三线写真| 久久99中文字幕久久| 亚洲中文字幕第15页| 久久香蕉国产线看观看精品yw| 91免费播放日韩一区二天天综合福利电影| 国产精品av免费网站| 五月色婷婷丁香无码三级| 欧美日本国产va高清cabal|