專利名稱:使應(yīng)用程序與像素密度改進(jìn)的顯示裝置兼容的方法和設(shè)備的制作方法
技術(shù)領(lǐng)域:
本發(fā)明總的涉及應(yīng)用程序的向后兼容性領(lǐng)域,更具體的說,涉及使應(yīng)用程序與像素密度改進(jìn)的顯示裝置向后兼容的領(lǐng)域。
背景技術(shù):
隨著手持式計算裝置(這里也稱為個人數(shù)字助理(PDA))的發(fā)展,這類裝置的計算能力極大地提高。特別是,可以看到PDA的硬件組成之一的顯示屏幕很大的發(fā)展了。隨著時間的過去,PDA顯示屏幕的分辨率和像素密度都有了很大的增大。如本文所用的,術(shù)語“分辨率”指的是顯示屏幕所能夠達(dá)到的水平和垂直的像素數(shù)目。例如,一些PDA使用具有240水平方向像素和320垂直方向像素的顯示屏幕,而其它PDA使用具有480水平方向像素和640垂直方向像素的顯示屏幕。如本文所用的,術(shù)語“像素密度”指的是顯示屏幕在特定度量單位下所能達(dá)到的像素數(shù)目。一般,像素密度用每英寸點(或者像素)(“dpi”)來表示。例如,一些PDA采用96dpi的顯示屏幕,而其它PDA具有較高的192dpi的顯示屏幕。
提高的現(xiàn)代PDA的分辨率和像素密度對使用者是一種福音。提高的分辨率和像素密度使得更多的信息能夠被顯示在屏幕上,故此文檔、網(wǎng)頁查看更輕松,也便于執(zhí)行其它功能。提高的分辨率也提高了清晰度和可讀性。然而,提高的分辨率和像素密度給編寫PDA應(yīng)用程序的程序員制造了挑戰(zhàn)。一般,在假定顯示屏幕具有特定的像素密度的情況下來編寫很多PDA應(yīng)用程序時,就導(dǎo)致了這些挑戰(zhàn)。應(yīng)用程序調(diào)用操作系統(tǒng)提供的應(yīng)用編程接口(“API”)以實現(xiàn)屏幕相關(guān)的功能,這樣的應(yīng)用編程接口常把像素作為參數(shù),這就引發(fā)了問題。那么,舉例來說,如果用于96dpi顯示屏幕的應(yīng)用程序畫出一個1/2英寸寬的屏幕上的用戶界面按鈕,它將調(diào)用API來創(chuàng)建具有寬度為48像素的按鈕。然而,如果相同的應(yīng)用程序在具有較高像素密度的PDA上執(zhí)行,例如192dpi,相同的48像素寬度的按鈕僅僅只有1/4英寸寬。由于應(yīng)用程序在引入所述的具有較高像素密度的裝置之前創(chuàng)建,不知道像素密度的增大,所以,所有這些程序畫出的用戶界面物體將比所要求的顯示出來要小。將屏幕用作觸敏裝置的輸入操作也會被這些舊的應(yīng)用程序誤解。
這個問題的一個解決方法是要求應(yīng)用程序程序員重新編寫他們的應(yīng)用程序以支持新的PDA的較高的像素密度。然而,程序員必須對應(yīng)用程序進(jìn)行重編碼,這可能會使程序員受挫且會許多花費時間。這也會使用戶感到灰心,因為他們必須等到應(yīng)用程序被重編碼出來才能將應(yīng)用程序用于新的提高了像素密度裝置。在一些情況下,程序員可能簡單的決定不為較高像素密度的顯示器進(jìn)行重編碼。那么,程序的用戶為使用較高像素密度的顯示屏幕,將被迫使用其它程序。
這個問題的另一個解決方法是創(chuàng)建新的一套API以在較高分辨率屏幕上執(zhí)行與屏幕相關(guān)的函數(shù)。然而,這個解決方法也不合需要,因為,它不允許舊的應(yīng)用程序使用較高像素密度的顯示器,且要求程序員使用全新的API來創(chuàng)建新的高密度感知的應(yīng)用程序。因此,人們希望使得舊應(yīng)用程序能夠不重寫應(yīng)用程序就在改進(jìn)的像素密度屏幕上正確地輸入輸出,使得新的高密度感知應(yīng)用程序能使用與舊應(yīng)用程序相同的一套屏幕操作API,并且不重寫執(zhí)行屏幕輸入輸出的API就能夠?qū)崿F(xiàn)該功能。正是出于這些和其它的考慮作出了本發(fā)明的各種實施例。
發(fā)明內(nèi)容
依照本發(fā)明,上面的和其它的問題可以通過一種使得應(yīng)用程序與具有較增大的像素密度的顯示裝置相兼容的方法和設(shè)備來解決。使用本發(fā)明提供的功能,舊的應(yīng)用程序可以不加更改地正確輸入和輸出到改進(jìn)像素密度的屏幕上。而且,能感知高密度的應(yīng)用程序可使用與不知道像素密度增大的舊的應(yīng)用程序相同的一套屏幕操作的API。不需要重寫執(zhí)行屏幕輸出和輸出的API就可以提供本功能。
依照本發(fā)明的一個方面,提供了一種方法,用來使得用于具有較低像素密度的顯示裝置的應(yīng)用程序能完全地使用具有較高像素密度的顯示裝置。依照這種方法,在PDA或其它類型的計算裝置上執(zhí)行的應(yīng)用程序可以提出請求或者調(diào)用執(zhí)行屏幕輸入和輸出功能的API,諸如在屏幕上畫圖或者從觸敏屏幕接收輸入。該API調(diào)用可包括一個或多個定義所要執(zhí)行的操作的參數(shù),并可能用像素單位來表達(dá)的參數(shù)。例如,可能會調(diào)用用于畫出一個寬度為48像素的屏幕上用戶界面按鈕的API。
當(dāng)接收此類調(diào)用時,調(diào)用可在到達(dá)想要的API之前被截獲。那時,會判斷應(yīng)用程序是構(gòu)造成用于具有較低像素密度的顯示裝置還是用于具有較高像素密度的顯示裝置??梢酝ㄟ^檢查應(yīng)用程序?qū)傩砸耘袛鄳?yīng)用程序被編譯時的軟件開發(fā)工具包的版本號來作出這個判斷。擁有大于或者等于預(yù)定編號的版本號的應(yīng)用程序被假定為支持具有較高像素密度的顯示器。擁有低于預(yù)定編號的版本號的應(yīng)用程序被假定為僅支持具有較低像素密度的顯示器。
如果應(yīng)用程序構(gòu)造成用于具有較低像素密度的顯示裝置,則將從API接收的參數(shù)縮放至較高像素密度的顯示裝置的像素密度。例如,如果應(yīng)用程序是構(gòu)造成用于96dpi像素密度,而顯示設(shè)備具有192dpi像素密度的較高的像素密度,則參數(shù)會被翻倍。然后,采用縮放后的參數(shù)來調(diào)用所要的應(yīng)用程序接口。如果應(yīng)用程序是構(gòu)造成用于具有較高像素密度的顯示裝置,則不縮放API函數(shù)調(diào)用的參數(shù)而直接將API調(diào)用傳遞給API。如此,用于具有較高像素密度的顯示屏幕的應(yīng)用程序?qū)搭A(yù)定設(shè)計執(zhí)行。
如果從API調(diào)用返回參數(shù),諸如當(dāng)API用于從觸敏顯示器接收指示筆輸入時,則將這些參數(shù)縮放至較低的像素密度。通過截獲對執(zhí)行屏幕I/O操作的原API的函數(shù)調(diào)用,縮放參數(shù),然后采用縮放后的參數(shù)調(diào)用原API,不支持較高像素密度顯示屏幕的舊應(yīng)用程序就能夠使用高分辨率設(shè)備的整個顯示屏幕,而不需要重寫應(yīng)用程序或API。
依照本發(fā)明的另一個方面,提供一種計算機(jī)系統(tǒng),它被配置為使得創(chuàng)建出來用于具有較低像素密度的顯示裝置的應(yīng)用程序能完全地使用具有較高像素密度的顯示裝置。該計算機(jī)系統(tǒng)包括中央處理器(“CPU”)、具有較高像素密度的顯示裝置以及可有效存儲一個或多個可執(zhí)行程序的存儲器。特別是,存儲器可有效地存儲在CPU上運行的操作系統(tǒng)、構(gòu)造成用于具有較低像素密度的顯示裝置的應(yīng)用程序、用于在顯示裝置上執(zhí)行I/O操作的API以及轉(zhuǎn)換層。
轉(zhuǎn)換層可運作以截獲應(yīng)用程序?qū)PI的調(diào)用。當(dāng)接收此類調(diào)用時,轉(zhuǎn)換層將任何從調(diào)用所接收的參數(shù)縮放至所安裝的顯示屏幕的較高像素密度。接著,轉(zhuǎn)換層使用縮放后的參數(shù)調(diào)用所要的API。如果從API調(diào)用返回參數(shù),諸如當(dāng)API是用于從觸敏顯示器接收輸入時,則轉(zhuǎn)換層將參數(shù)值縮放至應(yīng)用程序所使用的較低像素密度。
轉(zhuǎn)換層也能夠運作以判斷施行調(diào)用的應(yīng)用程序是構(gòu)造成用于具有較低像素密度的顯示裝置還是用于具有較高像素密度的顯示裝置。如果應(yīng)用程序構(gòu)造成用于較低像素密度的顯示器,則轉(zhuǎn)換層采用上述方法對參數(shù)進(jìn)行縮放。然而,如果轉(zhuǎn)換層判定應(yīng)用程序已是創(chuàng)建成用于具有較高像素密度的顯示器,則轉(zhuǎn)換層不縮放參數(shù)就調(diào)用所要求的API。關(guān)于施行調(diào)用的應(yīng)用程序是支持較低還是較高像素密度的判斷可以通過檢查在應(yīng)用程序編譯時用于指示軟件開發(fā)工具包的版本號的應(yīng)用程序?qū)傩詠韺崿F(xiàn)。
本發(fā)明可實施為計算機(jī)進(jìn)程、計算系統(tǒng)、或者實施為諸如計算機(jī)程序產(chǎn)品或者計算機(jī)可讀媒介的制造物品。計算機(jī)程序產(chǎn)品可以是計算機(jī)系統(tǒng)的可讀的計算機(jī)存儲媒介,它編碼執(zhí)行計算機(jī)進(jìn)程的指令的計算機(jī)程序。計算機(jī)程序產(chǎn)品也可是計算機(jī)系統(tǒng)可讀的傳播載波信號,它編碼執(zhí)行計算機(jī)進(jìn)程的指令的計算機(jī)程序。
這些和其它一些表現(xiàn)本發(fā)明特色的特征和優(yōu)點將通過后面的詳細(xì)描述和附圖而變得清晰。
圖1是計算機(jī)系統(tǒng)體系圖,說明為本發(fā)明的實施例提供操作環(huán)境的手持式計算裝置的體系;圖2A-2B是說明在各種本發(fā)明的實施例中可采用的兩種不同的顯示屏幕的分辨率和像素密度的簡圖;圖3A-3B是說明使用現(xiàn)有技術(shù)方法在兩個具有不同像素密度的不同顯示器上顯示相同物體的效果的簡圖;圖4A-4B是本發(fā)明的實施例所采用的、保證應(yīng)用程序與具有改進(jìn)的像素密度的顯示裝置相兼容的軟件體系;以及圖5是一個流程圖,說明為根據(jù)本發(fā)明的一個實施例的、保證應(yīng)用程序與具有改進(jìn)的像素密度的顯示裝置相兼容的說明性方法所執(zhí)行的邏輯操作。
具體實施例方式
現(xiàn)在請參見附圖,本文將描述本發(fā)明的不同方面,在附圖中相同的編號代表相同的部件。圖1和以下的討論想要提供對可施行本發(fā)明的一個合適的計算環(huán)境的簡潔的總體描述。應(yīng)予理解的是圖1的這個計算環(huán)境僅僅是說明性的,而不是想要局限本發(fā)明。
圖1描述一個諸如可存在于手持式計算裝置(如PDA)中的計算環(huán)境。不過,應(yīng)于理解的是本發(fā)明不局限于PDA。本發(fā)明可以應(yīng)用于其它的計算機(jī)系統(tǒng)構(gòu)造中,包括多處理系統(tǒng)、基于微處理器或者可編程的消費者電子設(shè)備、網(wǎng)絡(luò)PC、小型機(jī)、大型機(jī)、無線電話、尋呼機(jī)等等。本發(fā)明也可以在分布式計算環(huán)境中實踐,其中,任務(wù)由通過通信網(wǎng)絡(luò)連接的遠(yuǎn)程處理設(shè)備來執(zhí)行。在分布式計算環(huán)境中,程序模塊可以位于本地和遠(yuǎn)程存儲器存儲設(shè)備中。
一般而言,程序模塊包括例程、程序、對象、組件、數(shù)據(jù)結(jié)構(gòu),以及執(zhí)行特定的任務(wù)或?qū)崿F(xiàn)特定抽象數(shù)據(jù)類型的其它類型的結(jié)構(gòu)。此外,熟悉本技術(shù)領(lǐng)域的人們會贊同,本發(fā)明可應(yīng)用于其它的計算機(jī)系統(tǒng)構(gòu)造,包括桌面計算系統(tǒng)、多處理系統(tǒng)、基于微處理器或者可編程的消費者電子設(shè)備、小型機(jī)、大型機(jī)等等。本發(fā)明也可應(yīng)用于分布式計算環(huán)境,其中,任務(wù)由通過通信網(wǎng)絡(luò)連接的遠(yuǎn)程處理設(shè)備來執(zhí)行。在分布式計算環(huán)境中,程序模塊可以位于本地和遠(yuǎn)程存儲器存儲設(shè)備中。
參見圖1,執(zhí)行本發(fā)明的一個示例性系統(tǒng)包括手持式裝置100。計算裝置100有處理器102、存儲器104、顯示器106,以及可能包括用戶界面按鈕和/或鍵盤輸入設(shè)備108。存儲器104一般包括易失性存儲器(例如RAM)和非易失性存儲器(例如ROM、PCMCIA卡等等)。操作系統(tǒng)110常駐于存儲器104,并在處理器102上執(zhí)行。手持式計算裝置100包括操作系統(tǒng)110,諸如來自MICROSOFTCORPORATION的“WINDOWS MOBILE 2003”操作系統(tǒng)、來自PALMSOURCE的“PALM OS”操作系統(tǒng),或者適用于手持式裝置或臺式計算機(jī)的其它操作系統(tǒng)。
可將一個或多個應(yīng)用程序112載入存儲器104,并在操作系統(tǒng)110上運行。應(yīng)用程序的例子包括電子郵件程序、日程安排程序、PIM(個人信息管理)程序、字處理程序、電子數(shù)據(jù)表程序等等。另一個應(yīng)用程序112的例子是網(wǎng)絡(luò)瀏覽器程序模塊,諸如來自MICROSOFT CORPORATION的“POCKETINTERNET EXPLORER”網(wǎng)絡(luò)瀏覽器應(yīng)用程序或者其它網(wǎng)絡(luò)瀏覽器。
手持式計算裝置100有電源114,它具體實現(xiàn)為一個或者多個電池。電源114可還包括一個外部電源,它取代內(nèi)置電池或者給內(nèi)置電池充電,諸如AC適配器或者有源船塢式支架。手持式計算裝置100還可包括聲頻發(fā)生器116,它用來產(chǎn)生聲頻輸出,以在手持式裝置100所包含的揚(yáng)聲器上播放。每個傳統(tǒng)的手持式計算裝置100的部件102-116可通過總線118互連,以傳輸數(shù)據(jù)和電能信號。
如上簡要所述,手持式計算裝置100包括顯示器106。顯示器106可包括背光薄膜晶體管液晶顯示器,或適于在手持式裝置中工作的其它類型顯示器。亦如上簡要所述,顯示器106可配備有觸摸屏功能。通過使用指示筆或者其它指示設(shè)備,用戶能通過觸摸顯示器106的所要部分對手持式裝置100進(jìn)行輸入。然后,用戶所觸摸的屏幕坐標(biāo)被返回到操作系統(tǒng)110以進(jìn)行處理。因此,應(yīng)予理解的是,顯示器可向手持式裝置提供輸入和輸出功能。
現(xiàn)請參見圖2A和圖2B,將詳細(xì)描述其它有關(guān)用于本發(fā)明各種實施例的顯示器106的更多的詳細(xì)信息。如圖2A和圖2B所示,在手持式裝置中使用的顯示器106根據(jù)所用的顯示板類型可構(gòu)造成具有不同的像素密度。例如,如圖2A所示,可將一板用于具有240水平方向像素和320垂直方向像素的像素分辨率的顯示器106。圖2A中的顯示器106的尺寸可為垂直方向3.33英寸,水平方向2.5英寸。在這些尺寸和像素分辨率下,圖2A所示的顯示器106的像素密度為96dpi。
圖2B所示的顯示器106具有比圖2A所示的顯示器106高的像素密度。特別是,盡管圖2B所示的顯示器106和圖2A所示的顯示器106的尺寸是相同的,但顯示器106具有480水平方向像素和640垂直方向像素的分辨率。因此,圖2B所示的顯示器106的像素密度為192dpi。應(yīng)予理解的是,具有96dpi和192dpi像素密度的顯示器僅僅是說明性的,本發(fā)明的實施例可用于具有任何像素密度的顯示器。
現(xiàn)請參見圖3A和圖3B,將提供本發(fā)明的實施例所用的顯示器106的更多的詳細(xì)信息。圖3A示出具有96dpi像素密度的顯示器的屏幕視圖。如圖3A所示,屏幕由許多像素122A-122C組成。每個像素可被單獨的尋址,以向顯示器屏幕寫入數(shù)據(jù)。例如,如圖3A所示,可通過激活合適的像素在顯示器屏幕上顯示方塊120。
圖3B示出顯示器屏幕106,它具有192dpi或者說兩倍于圖3A所示的顯示器屏幕的像素密度。圖3B亦示出了圖3A所示的相同方塊120的圖像。即使用于畫出方塊120的像素數(shù)量是相同的,但由于像素密度的增加,圖3B所示的方塊120是圖3A所示的方塊的大小的四分之一。例如,當(dāng)一個專門為操作具有低像素密度屏幕(如圖3A所示)所寫的應(yīng)用程序在具有高像素密度顯示器屏幕(如圖3B所示)的裝置上運行時,這就會發(fā)生。本發(fā)明的實施例將使得方塊120或者任何其它屏幕上的物體,以與圖3A所示的方塊120相同的方式顯示在圖3B所示的顯示器106上。
現(xiàn)轉(zhuǎn)到圖4A和4B,將描述幾個軟件組件,它們使得應(yīng)用程序與具有增大像素密度的顯示裝置兼容。特別是,圖4A示出了用于由一應(yīng)用程序112A調(diào)用API以實現(xiàn)顯示器屏幕I/O的軟件組件,該應(yīng)用程序編制為專門用在具有較高像素密度顯示器的裝置上。由于應(yīng)用程序112A專門用于較高像素密度的顯示器,調(diào)用API 124或者從API 124調(diào)用可以直接進(jìn)行,并由操作系統(tǒng)110處理,而無需任何其它處理。
不過,如下面將更加詳細(xì)地描述的,當(dāng)接收API調(diào)用時,可以判斷調(diào)用應(yīng)用程序是否專門構(gòu)造成用于具有較高像素密度的顯示裝置上。如果應(yīng)用程序是用在較高像素密度的顯示裝置上的,無需其它處理來使得它和上述的較高像素密度顯示器兼容。然而,如果應(yīng)用程序不是專門給較高像素密度的顯示器使用的,則需要額外的處理來保證輸入輸出兼容于較高像素密度顯示器。如圖4B所示。
如圖4B所示,一個不是用于較高像素密度顯示裝置的舊應(yīng)用程序112B可調(diào)用API 124來實現(xiàn)屏幕的輸入輸出操作。雙向轉(zhuǎn)換層126截獲API調(diào)用,并判斷應(yīng)用程序是否構(gòu)造成用于較高像素密度顯示裝置。既然舊應(yīng)用程序112B不是用于較高像素密度顯示裝置,轉(zhuǎn)換層將API調(diào)用的像素參數(shù)縮放至較高像素密度顯示器。例如,如果舊應(yīng)用程序112B是用于96dpi的顯示器的,而手持式裝置100實際裝有192dpi的顯示器,那么轉(zhuǎn)換層126將把從API調(diào)用接收到的像素坐標(biāo)翻倍。接著,轉(zhuǎn)換層126使用縮放后的參數(shù)調(diào)用API 124,以在較高的像素密度下執(zhí)行所要求的操作。類似的,如果參數(shù)是從API 124返回的,諸如執(zhí)行輸入操作時,返回參數(shù)也可被正確的縮放。應(yīng)予理解的是,圖4A和圖4B所示的API 124是相同的,沒有對API 124作任何的改變。圖5及其相關(guān)的討論給出有關(guān)通過轉(zhuǎn)換層126所執(zhí)行的處理更多詳細(xì)信息,該轉(zhuǎn)換層用于截獲API調(diào)用并縮放所接收的參數(shù)。
現(xiàn)請參見圖5,將描述說明性例程500,它示出使得應(yīng)用程序和具有增大像素密度的顯示器兼容的處理過程。當(dāng)閱讀此處給出例程的討論時,應(yīng)予理解的是,本發(fā)明的不同實施例的邏輯操作是(1)作為在計算系統(tǒng)上的一系列計算機(jī)可執(zhí)行行為或者程序模塊來實現(xiàn)的,和/或(2)作為在計算系統(tǒng)內(nèi)相互連接的機(jī)器邏輯電路或電路模塊來實現(xiàn)的。該實現(xiàn)根據(jù)實現(xiàn)本發(fā)明的計算系統(tǒng)的性能需求來進(jìn)行選擇。因此,圖5所示的并構(gòu)成這里所描述的本發(fā)明實施例的邏輯操作被不同的稱為操作、結(jié)構(gòu)裝置、行為和模塊。熟悉本技術(shù)領(lǐng)域的人們會公認(rèn),這些操作、結(jié)構(gòu)裝置、行為和模塊可用軟件、用固件、專用數(shù)字邏輯電路、或者它們的任何組合中來實現(xiàn),而不超出所附權(quán)利要求書限定的本發(fā)明精神和保護(hù)范圍。
例程500從操作502開始,轉(zhuǎn)換層126在操作502處判斷是否已從應(yīng)用程序112接收到指向API 124以執(zhí)行屏幕的輸入或輸出的調(diào)用。如果或沒有接收到這樣的調(diào)用,例程500轉(zhuǎn)回操作502,在那里做另一這樣的決定。如果已從應(yīng)用程序112對API 124進(jìn)行調(diào)用,那么例程500從操作502繼續(xù)執(zhí)行到操作504。
在操作504處,轉(zhuǎn)換層126截獲來自應(yīng)用程序112的API調(diào)用。例如,可以通過用轉(zhuǎn)換層126的地址來取代地址表中的每個屏幕API 124調(diào)用來實現(xiàn)。用這種方式,對屏幕API 124函數(shù)的調(diào)用被替代地指向轉(zhuǎn)換層126。接著,例程從操作504繼續(xù)執(zhí)行到操作506。
在操作506處,轉(zhuǎn)換層126判斷施行調(diào)用的應(yīng)用程序是否構(gòu)造成用于增大像素密度的顯示器。轉(zhuǎn)換層可執(zhí)行這個過程,例如,通過檢查應(yīng)用程序的一個屬性來判斷應(yīng)用程序112被編譯時的軟件開發(fā)工具包(“SDK”)的版本號。這個信息可在編譯時被包含在應(yīng)用程序112中。基于SDK的版本號,轉(zhuǎn)換層126能判斷應(yīng)用程序112是構(gòu)造成用于低像素密度的顯示裝置還是用于高像素密度的顯示裝置。擁有大于或者等于預(yù)定編號的版本號的應(yīng)用程序被假定為支持較高像素密度的顯示器。擁有低于預(yù)定編號的版本號的應(yīng)用程序被假定為僅支持低像素密度的顯示器。也可使用其它方法來判斷應(yīng)用程序112是否構(gòu)造成用于較高像素密度的顯示裝置。
從操作506開始,例程500繼續(xù)執(zhí)行到判別操作508,在那里根據(jù)應(yīng)用程序112是構(gòu)造成用于高像素密度的顯示裝置還是用于低像素密度的顯示裝置而進(jìn)行分支。如果應(yīng)用程序112構(gòu)造成用于高像素密度的顯示器,則例程500繼續(xù)執(zhí)行操作510,在那里不對被傳遞參數(shù)作任何改變地將API調(diào)用傳遞到所要的API。由于應(yīng)用程序112已專門地構(gòu)造成用于較高像素密度的顯示器,對API 124的調(diào)用和來自API的調(diào)用能直接進(jìn)行并被操作系統(tǒng)110處理,而不經(jīng)過任何額外的處理。從操作510開始,例程500返回到操作502,在那里可處理其它的API調(diào)用。
在判別操作508處,如果判定施行調(diào)用的應(yīng)用程序112不是構(gòu)造成用于高像素密度的顯示器的,則例程500由判別操作508轉(zhuǎn)向操作512。在操作512處,雙向轉(zhuǎn)換層126截獲API調(diào)用。在操作514處,雙向轉(zhuǎn)換層126將從API調(diào)用接收的像素參數(shù)縮放至較高像素密度的顯示裝置。接著,在操作514處,轉(zhuǎn)換層126用縮放后的參數(shù)來調(diào)用所要的API。接著,API 124用縮放后的參數(shù)在較高像素密度的顯示裝置上執(zhí)行所要的函數(shù)。
例程500從操作514繼續(xù)執(zhí)行到操作516,在那里轉(zhuǎn)換層126判斷API 124是否有像素值要返回給施行調(diào)用的應(yīng)用程序112,例如在執(zhí)行輸入操作時就有這種情況。如果沒有像素值要被返回給應(yīng)用程序112,則例程500返回到操作502處,在那里可截獲和處理另一個API調(diào)用。如果要將值返回,則例程500繼續(xù)執(zhí)行到操作518,在那里轉(zhuǎn)換層將返回的像素值縮放至較低像素密度顯示器的像素密度。然后,例程500繼續(xù)執(zhí)行到520,在那里轉(zhuǎn)換層將縮放后的返回值返回給應(yīng)用程序112。接著,例程500返回到操作502,在那里可截獲和處理另一個API調(diào)用。
應(yīng)予理解的是,盡管此處描述本發(fā)明的實施例是在手持式計算裝置的背景中提供的,但本發(fā)明的各方面可用于臺式機(jī)、膝上型電腦、或者其它類型的計算機(jī)系統(tǒng),以保證與較高像素密度顯示器的向后兼容性。而且,本發(fā)明的實施例描述為從低像素密度到高像素密度的參數(shù)縮放,本發(fā)明也可用于從高像素密度向低像素密度縮放。以這種方式,僅構(gòu)造成用于高像素密度顯示器的應(yīng)用程序可不加改變地用于低像素密度的顯示屏幕上。
基于上述內(nèi)容,應(yīng)予理解的是,本發(fā)明的不同實施例包括方法、系統(tǒng)、設(shè)備或者計算機(jī)可讀媒體,用于使得應(yīng)用程序與具有增大像素密度的顯示裝置相兼容。上面的說明書、例子和數(shù)據(jù)提供了對本發(fā)明成分的制造和使用的完整說明。由于可以不超出本發(fā)明精神和保護(hù)范圍地作出許多本發(fā)明的實施例,則由其后所附的權(quán)利要求書來限定本發(fā)明。
權(quán)利要求
1.一種使構(gòu)造成用于具有較低像素密度的顯示裝置的應(yīng)用程序能使用具有較高像素密度的顯示裝置的方法,該方法包括從應(yīng)用程序接收指向用于執(zhí)行屏幕輸入或輸出函數(shù)的應(yīng)用編程接口的調(diào)用,該調(diào)用包括一個或多個參數(shù);響應(yīng)接收調(diào)用,判斷應(yīng)用程序是構(gòu)造成用于具有較低像素密度的顯示裝置還是用于具有較高像素密度的顯示裝置;以及響應(yīng)判定應(yīng)用程序是構(gòu)造成用于具有較低像素密度的顯示裝置,縮放參數(shù)以適用于較高像素密度的顯示裝置,并用縮放后的參數(shù)調(diào)用應(yīng)用編程接口。
2.如權(quán)利要求1所述的方法,其特征在于,還包括響應(yīng)判定應(yīng)用程序是構(gòu)造成用于具有較高像素密度的顯示裝置而采用所述參數(shù)調(diào)用應(yīng)用編程接口。
3.如權(quán)利要求2所述的方法,其特征在于,判斷應(yīng)用程序是構(gòu)造成用于具有較低像素密度的顯示裝置還是用于具有較高像素密度的顯示裝置包括檢查應(yīng)用程序?qū)傩砸耘袛鄳?yīng)用程序被編譯時的軟件開發(fā)工具包的版本號,并基于該版本號來判斷應(yīng)用程序是構(gòu)造成用于具有較低像素密度的顯示裝置還是用于具有較高像素密度的顯示裝置。
4.如權(quán)利要求3所述的方法,其特征在于,還包括響應(yīng)判定應(yīng)用程序是構(gòu)造成用于具有較低像素密度的顯示裝置,從用于應(yīng)用編程接口接收一個或多個返回參數(shù),縮放返回參數(shù)以適用于較低像素密度的顯示裝置,并將縮放后的返回參數(shù)返回到應(yīng)用程序。
5.如權(quán)利要求4所述的方法,其特征在于,較低像素密度的顯示裝置具有每英寸96點的像素密度。
6.如權(quán)利要求5所述的方法,其特征在于,較高像素密度的顯示裝置具有每英寸192點的像素密度。
7.一種計算機(jī)可讀媒介,其上存儲有計算機(jī)可執(zhí)行的指令,當(dāng)計算機(jī)執(zhí)行這些指令時,這些指令們會使計算機(jī)執(zhí)行權(quán)利要求1所述的方法。
8.一種能執(zhí)行權(quán)利要求1的方法的計算機(jī)控制的設(shè)備。
9.一種計算機(jī)系統(tǒng),它被配置為使得創(chuàng)建出來用于具有較低像素密度的顯示裝置的應(yīng)用程序能使用具有較高像素密度的顯示裝置,該計算機(jī)系統(tǒng)包括中央處理器;具有較高像素密度的顯示裝置;以及可有效存儲以下內(nèi)容的存儲器在中央處理器上運行的操作系統(tǒng),在操作系統(tǒng)上執(zhí)行并為用于具有較低像素密度的顯示裝置而創(chuàng)建的應(yīng)用程序,用于對顯示裝置執(zhí)行輸入和輸出操作的應(yīng)用編程接口,以及轉(zhuǎn)換層,用于截獲應(yīng)用程序?qū)?yīng)用編程接口的調(diào)用、用于將調(diào)用縮放至顯示裝置、以及用于采用縮放后的參數(shù)來調(diào)用應(yīng)用編程接口。
10.如權(quán)利要求9所述的計算機(jī)系統(tǒng),其特征在于,轉(zhuǎn)換層還可運作以判斷應(yīng)用程序是否構(gòu)造成用于具有較高像素密度的顯示裝置,并響應(yīng)判定應(yīng)用程序是構(gòu)造成用于具有較高像素密度的顯示裝置而不縮放參數(shù)就調(diào)用應(yīng)用編程接口。
11.如權(quán)利要求10所述的計算機(jī)系統(tǒng),其特征在于,具有較高像素密度的顯示裝置具有192dpi的像素密度,為用于具有較低像素密度的顯示裝置而創(chuàng)建的應(yīng)用程序構(gòu)造成用于具有96dpi像素密度的顯示裝置。
12.如權(quán)利要求11所述的計算機(jī)系統(tǒng),其特征在于,轉(zhuǎn)換層還可運作以從應(yīng)用編程接口接收一個或多個返回參數(shù),縮放返回參數(shù)以適用于較低像素密度的顯示裝置,并將縮放后的參數(shù)返回到為用于具有較低像素密度的顯示裝置而創(chuàng)建的應(yīng)用程序。
13.如權(quán)利要求12所述的計算機(jī)系統(tǒng),其特征在于,判斷應(yīng)用程序是否構(gòu)造成用于具有較高像素密度的顯示裝置包括檢查應(yīng)用程序?qū)傩砸耘袛鄳?yīng)用程序被編譯時的軟件開發(fā)工具包的版本號,并基于該版本號來判斷應(yīng)用程序是構(gòu)造成用于具有較低像素密度的顯示裝置還是用于具有較高像素密度的顯示裝置。
14.一種使構(gòu)造成用于具有較低像素密度的顯示裝置的應(yīng)用程序能使用具有較高像素密度的顯示裝置的方法,該方法包括從應(yīng)用程序接收指向用于執(zhí)行屏幕輸入或輸出函數(shù)的應(yīng)用編程接口的調(diào)用,該調(diào)用包括一個或多個參數(shù);響應(yīng)接收調(diào)用,通過檢查表示應(yīng)用程序被編譯時的軟件開發(fā)工具包的版本號的應(yīng)用程序?qū)傩?,判斷?yīng)用程序是構(gòu)造成用于具有較低像素密度的顯示裝置還是用于具有較高像素密度的顯示裝置;響應(yīng)判定應(yīng)用程序是構(gòu)造成用于具有較低像素密度的顯示裝置,縮放參數(shù)以適用于較高像素密度的顯示裝置,并用縮放后的參數(shù)調(diào)用應(yīng)用編程接口;以及響應(yīng)判定應(yīng)用程序是構(gòu)造成用于具有較高像素密度的顯示裝置,不縮放參數(shù)就調(diào)用應(yīng)用編程接口。
15.如權(quán)利要求14所述的權(quán)利要求,其特征在于,響應(yīng)判定應(yīng)用程序是構(gòu)造成用于具有較低像素密度的顯示裝置,從用于應(yīng)用編程接口接收一個或多個返回參數(shù),縮放返回參數(shù)以適用于較低像素密度的顯示裝置,并將縮放后的返回參數(shù)返回到應(yīng)用程序。
16.如權(quán)利要求15所述的方法,其特征在于,較低像素密度的顯示裝置具有每英寸96點的像素密度。
17.如權(quán)利要求16所述的方法,其特征在于,較高像素密度的顯示裝置具有每英寸192點的像素密度。
18.一種計算機(jī)可讀媒介,其上存儲有計算機(jī)可執(zhí)行的指令,當(dāng)計算機(jī)執(zhí)行這些指令時,這些指令會使計算機(jī)執(zhí)行權(quán)利要求14所述的方法。
19.一種能執(zhí)行權(quán)利要求14的方法的計算機(jī)控制的設(shè)備。
全文摘要
一種使應(yīng)用程序與具有增加的像素密度的顯示裝置兼容的方法設(shè)備。根據(jù)一種方法,從應(yīng)用程序接收指向用于執(zhí)行屏幕輸入或輸出函數(shù)的應(yīng)用編程接口的調(diào)用,該調(diào)用包括一個或多個參數(shù)。響應(yīng)接收調(diào)用,判斷應(yīng)用程序是構(gòu)造成用于具有較低像素密度的顯示裝置還是用于具有較高像素密度的顯示裝置。響應(yīng)判定應(yīng)用程序是構(gòu)造成用于具有較低像素密度的顯示裝置,縮放參數(shù)以適用于較高像素密度的顯示裝置,并用縮放后的參數(shù)調(diào)用應(yīng)用編程接口。
文檔編號G06F9/44GK1661556SQ20051005288
公開日2005年8月31日 申請日期2005年2月25日 優(yōu)先權(quán)日2004年2月27日
發(fā)明者C·H·丘, J·W·福勒, K·C·本特利, R·O·格利, Z·科奇 申請人:微軟公司